Skip to main content
POST
/
open
/
otc
/
api
/
recharge
Create OTC Recharge Order
curl --request POST \
  --url https://openplatform.gateapi.io/open/otc/api/recharge \
  --header 'Content-Type: application/json' \
  --header 'X-GatePay-Certificate-ClientId: <x-gatepay-certificate-clientid>' \
  --header 'X-GatePay-MerchantId: <x-gatepay-merchantid>' \
  --header 'X-GatePay-Nonce: <x-gatepay-nonce>' \
  --header 'X-GatePay-Signature: <x-gatepay-signature>' \
  --header 'X-GatePay-Timestamp: <x-gatepay-timestamp>' \
  --data '
{
  "quoteToken": "qt_01JXYZABCDEF",
  "bankId": "ba_123456789",
  "currency": "USDT",
  "amount": "1088.42",
  "fiatCurrency": "USD",
  "fiatAmount": "1000"
}
'
{
  "code": "<string>",
  "status": "<string>",
  "errorMessage": "<string>",
  "data": {
    "orderId": "<string>",
    "otcOrderId": "<string>",
    "currency": "<string>",
    "amount": "<string>",
    "fiatCurrency": "<string>",
    "fiatAmount": "<string>",
    "cfRate": "<string>",
    "bankId": "<string>",
    "bankNumber": "<string>",
    "paid": true,
    "status": "<string>",
    "card_info": {
      "id": 123,
      "uid": 123,
      "entity": "<string>",
      "bank_account_name": "<string>",
      "bank_name": "<string>",
      "bank_country": "<string>",
      "bank_address": "<string>",
      "bank_code": "<string>",
      "branch_code": "<string>",
      "iban": "<string>",
      "swift": "<string>",
      "remittance_line_number": "<string>",
      "agent_bank_name": "<string>",
      "agent_bank_swift": "<string>",
      "transferRemark": "<string>",
      "memo": "<string>",
      "is_default": true,
      "bank_id": "<string>"
    },
    "createTime": 123,
    "promoCode": "<string>",
    "transferRemark": "<string>"
  }
}

Overview

This page documents the POST /open/otc/api/recharge endpoint. The full schema, parameters, and examples are rendered from the linked OpenAPI definition above.

Notes

Usage Guidance

  • Call this endpoint only after a valid OTC quote has been obtained.
  • Persist orderId for later reconciliation.
  • The returned bank information should be treated as settlement instructions and stored together with the order snapshot.
  • Do not treat order creation itself as payment completion. The actual fiat remittance and confirmation step still need to happen.

Headers

X-GatePay-Certificate-ClientId
string
required

Merchant application client ID used to identify the calling app.

X-GatePay-Signature
string
required

HMAC signature generated from the request according to GatePay signing rules.

X-GatePay-Timestamp
string
required

Unix timestamp used for replay protection and signature verification.

X-GatePay-Nonce
string
required

Random nonce used together with the timestamp to prevent replay attacks.

X-GatePay-MerchantId
integer<int64>
required

Merchant ID.

Body

application/json
quoteToken
string
required

Quote token returned by the quote API.

bankId
string
required

Merchant bank ID used for remittance.

currency
string
required

Cryptocurrency to receive. Currently supported: USDT, USDC.

amount
string
required

Cryptocurrency amount to be credited.

fiatCurrency
string
required

Fiat currency to remit. Currently supported: USD.

fiatAmount
string
required

Fiat amount to be paid.

promoCode
string

Optional promotion code.

Response

200 - application/json

Success

code
string

Business response code.

status
string

Top-level request status.

errorMessage
string

Error message when the request fails.

data
object