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
Code
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 merchantOPEN_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_WALLETSPOT_WALLETFUNDING_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