Webhook
Whenever a key event (currently only "order status change") occurs, Binance Pay Onchain will send a webhook message, and the partner (client) can receive this message at the webhook callback url and react accordingly, such as updating order data and frontend UI.
Request Headers
| Field | Type | Remarks |
|---|---|---|
| X-BN-Connect-Timestamp | timestamp | timestamp |
| X-BN-Connect-Signature | string | SHA256withRSA(requestBody + X-Connect-Timestamp) |
| X-BN-Connect-For | string | Same with your client id (X-Tesla-ClientId) |
Request Body
| Field | Type | Remarks |
|---|---|---|
| webhookEventType | string | A fixed value: connect_order_event |
| externalOrderId | string | The unique order id from the partner side. |
| type | int | 1: buy, 2: sell, 3: send |
| businessType | int | 1: fiat, 2: p2p, 3: send, 4: convert |
| status | int | Please refer to "Order status" |
| payMethodCode | string | The payment method code is from payment method list API |
| payMethodSubCode | string | The payment method sub code is from payment method list API |
| fiatCurrency | string | fiat currency |
| cryptoCurrency | string | crypto currency |
| openUserId | string | OpenUserId represents a Binance user ID that has been securely hashed. This field is provided to merchants to facilitate the identification of whether multiple orders originate from the same user. |
| fiatAmount | string | fiat amount |
| cryptoAmount | string | crypto amount |
| feeAmount | string | fee amount |
| feeCurrency | string | fee currency, USD or crypto |
| revenueAmount | string | partner revenue amount |
| revenueCurrency | string | partner revenue currency, USD or crypto |
| networkFee | string | network fee amount |
| withdrawWalletAddress | string | withdraw wallet address |
| withdrawNetwork | string | withdraw network |
| withdrawMemo | string | withdraw network memo |
| withdrawTxHash | string | withdraw tx hash |
| orderDetailLink | string | order detail link |
| orderTime | timestamp | order time |
| completionTime | timestamp | completion time |
| updateTime | timestamp | update time |
| convertInfo | object | Convert information. This field is only present for Convert orders. Refer to ConvertInfo |
| swapDetailInfoVo | object | If the order has swap operation. Then this field has value. Refer to SwapDetailInfoVo |
| userData | string | AES-encrypted JSON string (see details below). Disabled by default; contact us to enable |
SwapDetailInfoVo
| Field | Type | Remarks |
|---|---|---|
| fromCryptoCurrencyContractAddress | string | The "from" crypto contract address, typically a stablecoin or native token. |
| toCryptoCurrencyContractAddress | string | The contract address of the target coin the user intends to swap online. |
| toCryptoCurrencyAmount | string | The final amount of cryptocurrency the user swapped and received in their wallet. |
ConvertInfo
| Field | Type | Remarks |
|---|---|---|
| fromCoin | string | The source cryptocurrency being converted from |
| fromCoinAmount | string | The amount of source cryptocurrency being converted |
userData field
-
Type: string
-
Remarks: When enabled,
userDatacontains a JSON object (serialized to a string) that is encrypted with AES. The field value is the AES-encrypted ciphertext encoded as a string. This field is disabled by default — please contact us if you need it enabled and for access to the AES key and configuration. -
Decryption reference: follow the AES decryption instructions described in Binance documentation: https://developers.binance.com/docs/binance-pay/authentication#decryption-instructions-for-merchant-data-sharing
-
JSON structure (plaintext before AES encryption):
| Field | Type | Remarks |
|---|---|---|
| firstName | string | User's first name |
| middleName | string | User's middle name (optional) |
| lastName | string | User's last name |
| residenceCountry | string | Country code of residence (ISO) |
| birthday | string | Birthday in YYYY-MM-DD format |
| country | string | Country code (ISO) |
| refundAddress | string | Refund crypto address (if any) |
| refundNetwork | string | Network of refund (e.g., ETH) |
| refundMemo | string | Refund memo/memo field (if any) |
Notes:
- Field names and types above show the expected JSON keys that will be present after decrypting
userData. - The concrete AES parameters (mode, IV, padding) and key delivery method will be provided when the field is enabled; see the decryption reference link above for an example.