Skip to main content
POST
/
payment
/
open
/
institution
/
v1
/
pay
/
checkout
/
order
Create checkout order
curl --request POST \
  --url https://openplatform.gateapi.io/payment/open/institution/v1/pay/checkout/order \
  --header 'Content-Type: application/json' \
  --header 'X-GatePay-Certificate-ClientId: <x-gatepay-certificate-clientid>' \
  --header 'X-GatePay-Nonce: <x-gatepay-nonce>' \
  --header 'X-GatePay-On-Behalf-Of: <x-gatepay-on-behalf-of>' \
  --header 'X-GatePay-Signature: <x-gatepay-signature>' \
  --header 'X-GatePay-Timestamp: <x-gatepay-timestamp>' \
  --data '
{
  "merchantTradeNo": "163",
  "env": {
    "terminalType": "APP"
  },
  "currency": "USDT",
  "orderAmount": "118.75",
  "merchantUserId": 123,
  "goods": {
    "goodsType": "02",
    "goodsName": "Sipariş Ödemesi - 177",
    "goodsDetail": "Sipariş No : 160"
  },
  "chain": "MATIC",
  "fullCurrType": "USDT_MATIC"
}
'
{
  "status": "SUCCESS",
  "code": "000000",
  "errorMessage": "",
  "data": {
    "prepayId": "65466648727916544",
    "fiatCurrency": "",
    "fiatAmount": "",
    "currency": "USDT",
    "terminalType": "APP",
    "expireTime": 1677573665219,
    "qrContent": "http://openplatform.gate.io/qr/GA0cskPehKxQpshvm3Goeve8dHpwCl6yCHLSWUYrLqo=",
    "location": "https://www.gate.com/cashier?prepayid=65466648727916544",
    "payCurrency": "USDT",
    "payAmount": "118.75",
    "chain": {
      "chain_type": "BSC",
      "address": "0x86608d3C9f979b98a3b2417216eD859d313E339D",
      "fullCurrType": "USDT_EOS"
    },
    "channelId": "123456",
    "goodsName": "Sipariş Ödemesi - 177",
    "inUsdt": "118.75"
  }
}
API description: Create a checkout (cashier) order.

Headers

X-GatePay-Certificate-ClientId
string
required

The clientId assigned when the merchant registers an application in the Gate merchant console.

Example:

"4186d0c6-6a35-55a9-8dc6-5312769dbff8"

X-GatePay-Timestamp
string
required

UTC timestamp in milliseconds when the request is generated. GatePay will not process requests where the difference from the receive time exceeds 10 seconds.

Example:

"1672905655498"

X-GatePay-Nonce
string
required

Random string. Must comply with HTTP header rules; recommended length is within 32 characters, composed of digits and letters.

Example:

"9578"

X-GatePay-Signature
string
required

Request signature. GatePay uses this signature to verify whether the request is valid.

X-GatePay-On-Behalf-Of
string
required

The institution account id being acted on behalf of (sub-account ID).

Example:

"2124538349"

Body

application/json
merchantTradeNo
string
required

Merchant order number.

currency
string
required

Order currency, uppercase (e.g. USDT, BTC).

orderAmount
string
required

Order amount; min 0.000001, up to 6 decimal places.

env
object
required

Transaction source.

goods
object
required

Goods description.

merchantUserId
integer<int64>
required

Payer's unique ID on the merchant platform.

chain
string
required

Chain name; obtain from /v1/pay/address/chains.

fullCurrType
string
required

Currency field including chain name, mapping to specific chain/currency.

surchargeAmount
string

Surcharge borne by the consumer.

toleranceAmount
string

Tolerance: when remaining amount ≤ this value, payment is considered complete.

fiatCurrency
string

Fiat currency, uppercase (e.g. EUR, GBP, USD, CNY, JPY, AUD, CAD, CHF).

fiatAmount
string

Fiat order amount; min 0.01, up to 2 decimal places.

payCurrency
string

Payment currency for address payment; defaults to currency if omitted.

orderExpireTime
integer<int64>

Order expiry time, milliseconds. Default 1 hour, max 1 hour.

returnUrl
string

Redirect URL after successful payment, max 256 chars.

cancelUrl
string

Redirect URL after failed/cancelled payment, max 256 chars.

channelId
string

Client/channel name.

Response

200 - application/json

Success

status
string

SUCCESS or FAIL.

code
string

Error code.

errorMessage
string

Error message.

data
object