Skip to main content

Direct Debit/Pre Authorization Query Contract

This API used for merchant/partner to query direct debit/ pre authorization contract for user authorization.

*This API is only available for whitelisted merchants. If you need any help, you can contact us: merchant@binance.com

EndPoint#

POST /binancepay/openapi/direct-debit/contract/query

Request Parameters#

AttributesTypeRequiredLimitationDescription
merchantContractCodestringNletter or digit, no other symbol allowed, maximum length 32, can not be empty if contractId is nullThe merchant contract code, unique identifier for the request. Will be ignored if contractId already provided
contractIdlongNnumber, can not be null if merchantTradeNo is emptyThe unique contract id, which is obtained through webhook after the user signs the contract.

Sample Request Body#

Query contract by merchantContractCode:

{    "merchantContractCode": "c0ecfb465e454560a5d8e307bbc407c5"}

Query contract by contractId:

{    "contractId": "205611460060250112"}

Response Parameters#

AttributesTypeRequiredLimitationDescription
statusstringY"SUCCESS" or "FAIL"status of the API request
codestringY-request result code, refer to
dataQueryContractResultN-response body, refer to
errorMessagestringY-

Child Attribute#

QueryContractResult#

AttributesTypeRequiredLimitationDescription
bizStatusstringY"INITIAL", "CONTRACT_SIGNED", "CONTRACT_TERMINATED"contract status
merchantContractCodestringYletter or digit, no other symbol allowed, maximum length 32The unique ID assigned by the merchant to identify a direct debit contract request.
contractIdLongNmaximum length 19contract id
serviceNamestringYmaximum length 32service name
openUserIdstringN-signer unique id
merchantAccountNostringNmaximum length 64the userID/user account in merchant side e.g. xxx@gmail.com
singleUpperLimitdecimalYMax Unit Range: 8 decimal placesupper limit
currencystringY-currency
contractTerminationWayintN-0-by user, 1-auto expire, 2-by operation team, 3-by merchant openapi. only "CONTRACT_TERMINATED" status
contractTerminationTimeLongN-only "CONTRACT_TERMINATED" status

Sample Response#

{    "status": "SUCCESS",    "code": "000000",    "data": {        "bizStatus": "CONTRACT_SIGNED",        "merchantContractCode": "c0ecfb465e454560a5d8e307bbc407c5",        "contractId": "205611460060250112",        "serviceName": "Tra Direct Debit",        "openUserId": "eb6b287a44dd73dd81645a3cbcfee162",        "merchantAccountNo": "sss@gmail.com",        "currency": "USDT",        "singleUpperLimit": "30"    }}

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
PAYMENT_INVALID_PARAM400702Invalid request parameter
MERCHANT_ACCESS_FORBIDDEN400606Account has no accessibility to this function
PAYMENT_DIRECT_DEBIT_CONTRACT_NOT_FOUND406207Contract not found