Batch Payout
Payout API used for Merchant/Partner to make transfers in batch.
Please refer to Merchant Fee Schedule - [Merchant] tab, for more information on merchant fees.
EndPoint
POST /binancepay/openapi/payout/transfer
Request Parameters
| Attributes | Type | Required | Limitation | Description |
|---|---|---|---|---|
| requestId | string | Y | Maximum length 32 | The unique ID assigned by the merchant to identify a payout request. |
| bizScene | string | N | Enum value | Describe the business scene of this payout. Limited to: DIRECT_TRANSFER: the default value CRYPTO_REWARDS: gift or rewards payout SETTLEMENT: settlement or commission fee REIMBURSEMENT: reimburse employees MERCHANT_PAYMENT: payment to partners/users OTHERS |
| batchName | string | Y | Maximum length 32 | The name of the batch payout. |
| currency | string | Y | Crypto token only, fiat NOT supported. All characters must be in uppercase | All the transfers under this batch must use the same currency. |
| totalAmount | decimal | Y | limitation refer to Create Order API order amount | It must be equal to the sum of all the detail transfers. |
| totalNumber | int | Y | Maximum value 500 | The total number of transfers. It must be equal to the detail transfer count. |
| transferDetailList | list[TransferDetailReq] | Y | Maximum size 500 | Detail transfer list |
| webhookUrl | string | N | maximum length 256. Can only start with http or https. | The URL for Payout webhook notification. If webhookUrl is passed, the webhook URL configured on the Merchant Management Platform will not take effect, and the URL passed here will be called back first. Useful for CPs / merchants that maintain multiple endpoints. |
Child Attribute
TransferDetailReq
| Attributes | Type | Required | Limitation | Description |
|---|---|---|---|---|
| merchantSendId | string | Y | Maximum length 32 | The unique ID assigned by the merchant to identify a detail transfer. |
| receiveType | string | Y | Enum value | Receiver's ID type BINANCE_ID: Binance user ID. EMAIL: Binance user email address, support payout to non-binance users *Support Payout to non-binance user email for whitelisted merchant OPEN_ID: Mini App / OAuth user openId. Use this to pay out to a user authorized via your OAuth / Mini App clientId without exposing their Binance ID. clientId is required when this type is used. |
| receiver | string | Y | Receiver's BINANCE_ID / EMAIL / openId, depending on the receiveType.Note: - If it is a non-binance user email address, he or she needs to register a binance account to receive the payout. - The amount will be automatically refunded to your wallet if receivers haven't completed the registration within 72 hours. - When receiveType=OPEN_ID, pass the user's openId (the same one returned by OAuth / Mini App login) and provide the matching clientId. | |
| clientId | string | Conditional – required only when receiveType=OPEN_ID | The OAuth / Mini App clientId that the openId was issued under. Binance Pay uses (clientId, openId) to look up the receiver's Binance account. The openId is rejected if it does not belong to this clientId. | |
| transferAmount | decimal | Y | Transfer amount maximum is at 80K USD equivalent | |
| transferMethod | string | Y | Enum string | Wallet to be used. Currently support: FUNDING_WALLET SPOT_WALLET FUNDING_AND_SPOT_WALLET |
| remark | String | N | Maximum length 128 | Remark |
| subMerchantId | String | Conditional – required only for Channel Partners | Maximum length 32 | Unique identifier assigned to the sub-merchant by Binance Pay. This field must be provided when the request is initiated by a Channel Partner; direct merchants should leave it blank. Note: If you’re a Channel Partner and you’re placing orders for your own business, you need to create a separate sub-merchant id and pass it accordingly |
| registrationEmail | String | N | Receiver's registration email address | |
| registrationMobileNumber | String | N | Receiver's mobile number | |
| registrationMobileCode | String | N | Receiver's mobile code eg:971 for UAE |
Sample Request Body
{
"requestId":"samplerequest1234",
"batchName" :"sample batch test",
"currency" : "USDT",
"totalAmount": 200.4,
"totalNumber": 2,
"bizScene": "SETTLEMENT",
"webhookUrl": "https://www.example.com/payout/notify",
"transferDetailList":[
{
"merchantSendId" : "22231313131",
"transferAmount": 110.3,
"receiveType":"BINANCE_ID",
"transferMethod":"SPOT_WALLET",
"receiver":"354205155",
"remark":"test1"
},
{
"merchantSendId" : "21231313132",
"transferAmount": 90.1,
"receiveType":"BINANCE_ID",
"transferMethod":"SPOT_WALLET",
"receiver":"354205153",
"remark":"test2"
}
]
}