Flow:

Methods:

1. CheckAccount

Allow partner check if user's account exist in bank system or not.

  • Method: POST
  • URL: api/bank-disburse/check-account

Example

Request

{
    "requestId": "abc123",
    "accountNo": "0687012312",
    "bankCode": "422589",
    "nationalId": "025123456787",
    "phoneNumber": "0981234567",
    "accountName": "Luong Van A",
    "requestTime": 1606977025
}

Response

{
    "requestId": "abc123",
    "referenceId": "CHECK_ACC_1614138996548",
    "beneficiaryAccount": {
        "accountName": "NGUYEN VAN A",
        "accountNo": "0687012312",
        "bankCode": "422589",
        "bankName": "NH TNHH MTV CIMB Viet Nam (CIMB)"
    },
    "resultCode": 0,
    "message": "Success"
}

Request

No Parameters Data Type Require Description
1 requestId String Yes Unique string for each request
2 accountNo String Yes Account number of Beneficiary
3 bankCode String Yes Code of Beneficiary's bank
4 nationalId String National Id of Beneficiary
5 phoneNumber String Phone Number of Beneficiary
6 accountName String Yes Name of Beneficiary
7 requestTime Number Unix timestamp (milliseconds)

Response

No Parameters Data Type Require Description
1 requestId String Yes Same with request
2 resultCode String Yes Result code of request
3 message String Yes Result message of request
4 referenceId String Yes Reference Id. Unique String for each response
5 beneficiaryAccount Json Beneficiary's information
5.1 accountName String Beneficiary's name
5.2 accountNo String Beneficiary's account number
5.3 bankCode String Beneficiary's bank code
5.4 bankName String Beneficiary's bank name

ErrorCode

Code Message Status
0 Success Success
2 Invalid encrypted data Fail
6 Invalid Json String Fail
8 Duplicate/Invalid request Id Fail
10 Unknown result Fail
11 Other error Fail
15 Mainternance system, please try later ! Fail
3002 Bank code not exist Fail
3006 Bank system is maintenance Fail
3007 No account found Fail
3009 Account number is empty Fail
3010 Bank code is empty Fail
3011 Account name is empty Fail

2. Disburse

Allow partner disburse to Beneficiary's bank account

  • Method: POST
  • URL: api/bank-disburse/transfer

Example

Request

{
    "requestId": "abc123",
    "amount": 1000000,
    "accountName": "Nguyễn Đức Cường",
    "description": "abcdef",
    "accountNo": "01736346312",
    "bankCode": "970423",
    "requestTime": 1612234935465
}

Response

{
    "requestId": "abc123",
    "referenceId": "DISBURSE_1614149556875",
    "resultCode": 0,
    "message": "Success"
}

Request

No Parameters Data Type Require Description
1 requestId String Yes Unique string for each request
2 amount Number Yes Amount to disburse
3 accountName String Yes Beneficiary's name
4 description String Description of transaction
5 accountNo String Yes Beneficiary's account no
6 bankCode String Yes Beneficiary's bank code
7 requestTime Number Unix timestamp (milliseconds)

Response

No Parameters Data Type Require Description
1 requestId String Yes Same with request
2 resultCode String Yes Result code of request
3 message String Yes Result message of request
4 referenceId String Yes Reference Id. Unique String for each response

ErrorCode

Code Message Status
0 Success Success
2 Invalid encrypted data Fail
6 Invalid Json String Fail
8 Duplicate/Invalid request Id Fail
10 Unknown result Fail
11 Other error Fail
15 Mainternance system, please try later ! Fail
3002 Bank code not exist Fail
3003 Invalid money amount Fail
3008 Transaction is in progress Fail
3009 Account number is empty Fail
3010 Bank code is empty Fail
3011 Account name is empty Fail
3013 Error in bank system Fail

3. CheckStatus

Allow partner check status of any transaction

  • Method: POST
  • URL: api/bank-disburse/check-status

Example

Request

{
    "requestId": "abc123",
    "checkRequestId": "123abc",
    "requestTime": 1606977025
}

Response

{
    "requestId": "abc123",
    "referenceId": "CHECK_STATUS_1614150635211",
    "resultCode": 0,
    "message": "Success",
    "data": {
        "requestId": "123abc",
        "resultCode": 0,
        "resultMessage": "Success",
        "referenceId": "DISBURSE_1608196513594"
    }
}

Request

No Parameters Data Type Require Description
1 requestId String Yes Unique string for each request
2 checkRequestId String Yes Request Id of transaction need to be checked
3 requestTime Number Unix timestamp (milliseconds)

Response

No Parameters Data Type Require Description
1 requestId String Yes Same with request
2 resultCode String Yes Result code of request
3 message String Yes Result message of request
4 referenceId String Yes Reference Id. Unique String for each response
5 data Json Data of checked transaction
5.1 requestId String Request Id of checked transaction
5.2 resultCode String Result code of checked transaction
5.3 resultMessage String Result message of checked transaction
5.4 referenceId String Reference Id of checked transaction

ErrorCode

Code Message Status
0 Success Success
2 Invalid encrypted data Fail
6 Invalid Json String Fail
8 Duplicate/Invalid request Id Fail
10 Unknown result Fail
11 Other error Fail
15 Mainternance system, please try later ! Fail
3004 Check request id is empty Fail
3005 Check request id not found Fail