Verifying Recipients

Before starting to send pay outs, we recommend merchant to verify whether the destination account is valid and correct. Durianpay provides a means to verify the recipient account via Dashboard or API.

Dashboard

If you are transacting via dashboard, no need to worry. We always cover account validation flow to ensure your transactions run through the correct destination. We will inform you on whether the destination account is valid and also the name associated with the account based on bank/provider information.

API

If you are transacting via API, You can use our Account Validation API to verify the account information. You will need to provide bank code destination and bank account number and Durianpay will return following information via the SNAP API response or callback in Legacy API

  • Status of the account: valid or invalid (closed account, inactivate/dormant account, blacklisted)
  • Account name according to bank/provider.
    For e-wallet destination it's a common practice from the bank/provider to mask the name of the account destination as the account number is generated from recipient phone number. Example of masking: Adi Purnomo will become Axx Pxxxxxx.

SNAP API

Bank Account Validation API

Bank Account Validation API is used to verify whether a disbursement destination account is valid/ invalid. If the account is valid, it will give information of the account name according to the the bank/provider.

Response on POST Method , URL: /account-inquiry-external

{
    "beneficiaryAccountName": "Jane Doe",
    "beneficiaryAccountNo": "087783146495",
    "beneficiaryBankCode": "002",
    "beneficiaryBankName": "BNI",
    "currency": "IDR",
    "responseCode": "2001600",
    "responseMessage": "Successful"
}

E-Wallet Account Validation API

E-Wallet Account Validation API is used to verify whether an e-wallet destination account is valid/ invalid. If the account is valid, it will give information of the destination name according to the the bank/provider.

Response on POST Method , URL: /emoney/account-inquiry

{
    "additionalInfo": {
        "platformCode": "gopay"
    },
    "amount": {
        "currency": "IDR",
        "value": "10000.00"
    },
    "customerName": "Jane Doe",
    "customerNumber": "87783146495",
    "responseCode": "2003700",
    "responseMessage": "Successful"
}

You can find more details in Integration Steps for SNAP

Legacy API (will be deprecated in Q2 2025)

Validate Disbursement

After hitting Validate Disbursement API above, we will trigger webhook account_validation.completedin which your application can listen to get the account validation result. You can specify your webhook URL on your dashboard via Settings - Webhook page where we would send POST requests to whenever an event occurs.

Events

Event NameDescription
account_validation.completedThis webhook is triggered after validation is completed for account details sent in the validate API request account_validation.completed webhook is used to retrieve validity of account destination and get the bank stated account holder name

Handling Webhook Details

Following information is the important field to be handled for the eventaccount_validation.completed

  • status
    • valid - Account details are valid
    • invalid - Account details are invalid
  • account_holder: name shown according to the bank stated name

Please note that account_validation.completed is currently not available in sandbox, it's available only in live mode

The following are the example specification for the webhook:

{
  "event": "account_validation.completed",
  "data": {
    "account_holder": "Dummy Name",
    "account_number": "8888105",
    "bank_code": "bca",
    "signature": "a7df932e5064e17e757e880fd846849bde14c6da2f2cce474e2f71fbd1c6ce0d",
    "status": "valid"
  },
  "retry_count": 0
}

You can find more details in Disbursement APIs Implementation