Skip to main content
POST
Place Order

Overview

This page documents the POST /payment/open/institution/v1/pay/address/create endpoint. The full schema, parameters, and examples are rendered from the linked OpenAPI definition above. Create an order. When the order currency and payment currency are consistent, create a direct address payment order; if the order currency and payment currency are inconsistent, create a convert address payment order.

Notes

  • Authentication uses the standard GatePay signed headers.
  • This page documents the institution-path variant of the same API.
  • Institution requests must include X-GatePay-On-Behalf-Of to indicate the delegated account context; for institution merchant APIs, this is typically the target sub-account ID.
  • For shared signing rules, see /api-reference/version/100/en/common/securityAndSignature.

Headers

X-GatePay-Certificate-ClientId
string
required

Merchant client ID, obtained from GatePay platform

X-GatePay-Signature
string
required

HMAC-SHA256 signature for request validation

X-GatePay-Timestamp
string
required

Millisecond timestamp; the difference from server time must not exceed 30 seconds.

X-GatePay-Nonce
string
required

Random nonce for replay attack prevention

X-GatePay-On-Behalf-Of
string
required

Required delegated-subject header. Provide the initiating account ID for this request. For institution merchant APIs, this is typically the target sub-account ID; for institution charge and transfer APIs, it can be either an institution account ID or a sub-account ID.

Body

application/json

Request for creating a payment order.

merchantTradeNo
string
required

Merchant transaction ID in the merchant's system.

env
object
required

Transaction source, optional values: APP, WEB, WAP, MINIAPP, OTHERS.

goods
object
required

Goods.

orderExpireTime
integer<int64>
required

Merchant-specified expiration time of the order, in milliseconds.

merchantUserId
integer<int64>
required

Unique consumer ID from the merchant’s platform.

chain
string
required

Selected chain name.

fullCurrType
string
required

Currency field that includes the chain name and corresponds to the specific currency on the specific chain.

currency
string

Crypto currency in uppercase. Required for crypto orders together with orderAmount. Omit when creating a pure fiat order with fiatCurrency and fiatAmount (system converts to USDT). Must equal payCurrency (or payCurrency is backfilled from this).

orderAmount
string

Crypto order amount. Required together with currency for crypto orders. Omit for pure fiat orders that use fiatCurrency and fiatAmount.

toleranceAmount
string

Tolerance Amount:If the remaining unpaid amount is less than or equal to the configured tolerance amount, the order will be automatically marked as Paid, with no further payment required.

fiatCurrency
string

Fiat currency in uppercase, such as EUR, GBP, USD, CNY, JPY, AUD, CAD, CHF. For pure fiat orders, provide together with fiatAmount and omit currency/orderAmount.

fiatAmount
string

Fiat order amount, with a maximum precision of 2 digits. For pure fiat orders, provide together with fiatCurrency and omit currency/orderAmount.

surchargeAmount
string

Surcharge, a fee borne by the consumer.

payCurrency
string

Payment currency. Optional; if omitted, it is backfilled from currency. If provided, it must equal currency.

returnUrl
string

Callback URL for payment completion.

cancelUrl
string

Callback URL for payment cancellation.

channelId
string

Client Name.

Response

200 - application/json

SUCCESS

Response parameters

status
string
code
string
errorMessage
string
data
object