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: [email protected]
EndPoint
POST /binancepay/openapi/direct-debit/contract/query
Request Parameters
| Attributes | Type | Required | Limitation | Description | 
|---|---|---|---|---|
| merchantContractCode | string | N | letter or digit, no other symbol allowed, maximum length 32, can not be empty if contractId is null | The merchant contract code, unique identifier for the request. Will be ignored if contractId already provided | 
| contractId | long | N | number, can not be null if merchantTradeNo is empty | The 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
| Attributes | Type | Required | Limitation | Description | 
|---|---|---|---|---|
| status | string | Y | "SUCCESS" or "FAIL" | status of the API request | 
| code | string | Y | - | request result code, refer to | 
| data | QueryContractResult | N | - | response body, refer to | 
| errorMessage | string | Y | - | 
Child Attribute
QueryContractResult
| Attributes | Type | Required | Limitation | Description | 
|---|---|---|---|---|
| bizStatus | string | Y | "INITIAL", "CONTRACT_SIGNED", "CONTRACT_TERMINATED" | contract status | 
| merchantContractCode | string | Y | letter or digit, no other symbol allowed, maximum length 32 | The unique ID assigned by the merchant to identify a direct debit contract request. | 
| contractId | Long | N | maximum length 19 | contract id | 
| serviceName | string | Y | maximum length 32 | service name | 
| openUserId | string | N | - | signer unique id | 
| merchantAccountNo | string | N | maximum length 64 | the userID/user account in merchant side e.g. [email protected] | 
| singleUpperLimit | decimal | Y | Max Unit Range: 8 decimal places | upper limit | 
| currency | string | Y | - | currency | 
| contractTerminationWay | int | N | - | 0-by user, 1-auto expire, 2-by operation team, 3-by merchant openapi. only "CONTRACT_TERMINATED" status | 
| contractTerminationTime | Long | N | - | 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": "[email protected]",
        "currency": "USDT",
        "singleUpperLimit": "30"
    }
}
Result Code
| Name | Code | Reason | Solution | 
|---|---|---|---|
| UNKNOWN_ERROR | 400000 | An unknown error occurred while processing the request. | Try again later | 
| INVALID_REQUEST | 400001 | Parameter format is wrong or parameter transferring doesn't follow the rules. | Please check whether the parameters are correct. | 
| INVALID_SIGNATURE | 400002 | Incorrect signature result | Check whether the signature parameter and method comply with signature algorithm requirements. | 
| INVALID_TIMESTAMP | 400003 | Timestamp for this request is outside of the time window. | Sync server clock | 
| INVALID_API_KEY_OR_IP | 400004 | API identity key not found or invalid. | Check API identity key | 
| BAD_API_KEY_FMT | 400005 | API identity key format invalid. | Check API identity key. | 
| BAD_HTTP_METHOD | 400006 | Request method not supported. | Check Request method. | 
| MEDIA_TYPE_NOT_SUPPORTED | 400007 | Media type not supported. | Check Request Media type. | 
| INVALID_REQUEST_BODY | 400008 | Request body is not a valid json object. | Check Request body | 
| MANDATORY_PARAM_EMPTY_OR_MALFORMED | 400100 | A parameter was missing/empty/null, or malformed. | |
| INVALID_PARAM_WRONG_LENGTH | 400101 | A parameter was not valid, was empty/null, or too long/short, or wrong format. | |
| INVALID_PARAM_WRONG_VALUE | 400102 | A parameter was not valid, the value is out of range. | |
| INVALID_PARAM_ILLEGAL_CHAR | 400103 | A parameter was not valid, contains illegal characters | |
| PAYMENT_INVALID_PARAM | 400702 | Invalid request parameter | |
| MERCHANT_ACCESS_FORBIDDEN | 400606 | Account has no accessibility to this function | |
| PAYMENT_DIRECT_DEBIT_CONTRACT_NOT_FOUND | 406207 | Contract not found |