Skip to main content

Batch Payout

Payout API used for Merchant/Partner to make transfers in batch.

EndPoint#

POST /binancepay/openapi/payout/transfer

Request Parameters#

AttributesTypeRequiredLimitationDescription
requestIdstringYMaximum length 32The unique ID assigned by the merchant to identify a payout request.
bizScenestringNEnum valueDescribe 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
batchNamestringYMaximum length 32The name of the batch payout.
currencystringYCrypto token only, fiat NOT supported. All characters must be in uppercaseAll the transfers under this batch must use the same currency.
totalAmountdecimalYlimitation refer to Create Order API order amountIt must be equal to the sum of all the detail transfers.
totalNumberintYMaximum value 500The total number of transfers. It must be equal to the detail transfer count.
transferDetailListlist[TransferDetailReq]YMaximum size 500Detail transfer list

Child Attribute#

TransferDetailReq#

AttributesTypeRequiredLimitationDescription
merchantSendIdstringYMaximum length 32The unique ID assigned by the merchant to identify a detail transfer.
receiveTypestringYEnum valueReceiver's ID type

BINANCE_ID: Binance user ID.
EMAIL: Binance user email address, support payout to non-binance users
receiverstringYReceiver's BINANCE_ID/ EMAIL depends on the receiver type.
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 with 72 hours.
transferAmountdecimalYTransfer amount maximum is at 80K USD equivalent
transferMethodstringYEnum stringWallet to be used. Currently support:

FUNDING_WALLET
SPOT_WALLET
remarkStringNMaximum length 128Remark
registrationEmailStringNReceiver's registration email address
registrationMobileNumberStringNReceiver's mobile number
registrationMobileCodeStringNReceiver'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",
    "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"        }         ]}

Response Parameters#

AttributesTypeRequiredLimitationDescription
statusstringY"SUCCESS" or "FAIL"status of the API request
codestringY-request result code, refer to
dataPayoutTransferResponseN-response body, refer to
errorMessagestringNmaximum length 256

Child Attribute#

PayoutTransferResponse#

AttributesTypeRequiredLimitationDescription
requestIdstringYMaximum length 32The passed-in request ID.No special characters allowed, only numbers and alphabet.
statusstringYEnum stringACCEPTED: accepted the request, will process it soon

Sample Response#

{  "status": "SUCCESS",  "code": "000000",  "data": {    "requestId": "samplerequest1234",    "status": "ACCEPTED"  }}
{    "status": "FAIL",    "code": "400003",    "errorMessage": "Timestamp for this request is outside of the recvWindow."}

Result Code#

NameCodeReasonSolution
UNKNOWN_ERROR400000An unknown error occurred while processing the request.Try again later
INVALID_REQUEST400001Parameter format is wrong or parameter transferring doesn't follow the rules.Please check whether the parameters are correct.
INVALID_SIGNATURE400002Incorrect signature resultCheck whether the signature parameter and method comply with signature algorithm requirements.
INVALID_TIMESTAMP400003Timestamp for this request is outside of the time window.Sync server clock
INVALID_API_KEY_OR_IP400004API identity key not found or invalid.Check API identity key
BAD_API_KEY_FMT400005API identity key format invalid.Check API identity key.
BAD_HTTP_METHOD400006Request method not supported.Check Request method.
MEDIA_TYPE_NOT_SUPPORTED400007Media type not supported.Check Request Media type.
INVALID_REQUEST_BODY400008Request body is not a valid json object.Check Request body
MANDATORY_PARAM_EMPTY_OR_MALFORMED400100A parameter was missing/empty/null, or malformed.
INVALID_PARAM_WRONG_LENGTH400101A parameter was not valid, was empty/null, or too long/short, or wrong format.
INVALID_PARAM_WRONG_VALUE400102A parameter was not valid, the value is out of range.
INVALID_PARAM_ILLEGAL_CHAR400103A parameter was not valid, contains illegal characters.
INVALID_REQUEST_TOO_LARGE400104Invalid request, content length too large.
INVALID_REQUEST_CURRENCY_NOT_SUPPORTED400105Invalid request, the transfer currency is not supported or not in upper case.
PAYMENT_ACTION_TOO_FREQUENT400501action Too Frequent, get the lock failTry again later
PAYMENT_ILLEGAL_AMOUNT400701The amount is illegal, too small or too large
PAYMENT_INVALID_PARAM400702Invalid request parameter
PAYMENT_C2C_RECEIVER_ACCOUNT_NOT_FOUND400703Payee not found
PAYEE_ACCOUNT_LOCKED400704Payee account is locked
PAYEE_ACCOUNT_FROZEN400705payee account is frozen
PAYMENT_C2C_RECEIVER_ACCOUNT_INVALID400706Payee status invalid
PAYMENT_EXCEED_MERCHANT_DAILY_LIMIT400707Exceeds merchant's payment daily limit in USD.
PAYMENT_EXCEED_MERCHANT_ANNUAL_LIMIT400708Exceeds merchant's payment annual limit in USD.
USER_IN_BLOCK_KYC400709Payee is unable to access Binance due to his/her residential region, you will not be able to proceed with the payment.
PAYEE_KYC_NOT_PASSED400710We are unable to initiate the transfer as payee has not completed identity verification.
RISK_HIT_REJECTED400711The deal is rejected and there may be risks in the current transaction
PAYMENT_RECEIVER_EXCEED_RECEIVE_LIMIT400712Recipient has exceeded fund receiving limit.
PAYMENT_C2C_HIT_RISK_RULE400713The deal is rejected and there may be risks in the current transaction
USER_IN_BLACK_KYC400714user in black kyc
USER_IN_BLACK_IP_AND_NO_KYC400715user in black ip and no kyc
USER_IN_BLACK_IP_AND_KYC400716user in black ip
USER_IN_BLACK_DEVICE_RELATION400717user in black device relation
COMPLIANCE_USER_IN_BLACK_KYC400718user in black kyc
COMPLIANCE_USER_IN_BLACK_IP_AND_NO_KYC400719user in black ip and no kyc
COMPLIANCE_USER_IN_BLACK_IP_AND_KYC400720user in black ip
KYC_NOT_PASSED400721kyc not passed
KYC_NOT_COMPLETED400722kyc not completed
KYC_AUDITING400723kyc auditing
KYC_SERVER_PUBLISHING400724kyc server publishing
MERCHANT_TRANSFER_SAME_ACCOUNT406101Receiver account cannot be same with payer
MERCHANT_TRANSFER_INVALID_AMOUNT406102Payout transfer amount must be greater than min usd
MERCHANT_TRANSFER_PAYEE_NOT_FOUND406103payee account cannot be found in the system
MERCHANT_TRANSFER_CURRENCY_NOT_SUPPORT406104Invalid request, currency is not supported
MERCHANT_TRANSFER_PAYEE_CANNOT_SUB_USER406105Receiver account cannot be a sub user
MERCHANT_TRANSFER_RECEIVER_INVALID406106Receiver account info is not valid, please check again