Transfer to Bank Account Inquiry
POST/v1.0/emoney/bank-account-inquiry.htm
This API is used for merchant to do inquiry Bank account info via DANA. For the easiest integration, use DANA's Libraries to implement Disbursement to Bank.
API Type
SNAP API
Expected Timeout
8 second
SNAP Service Code
42
Accept
application/json
Content Type
application/json
Content-Type
string
1 - 127 charactersRequiredContent type, value always
application/jsonAuthorization
string
1 - 2048 charactersConditionalContains bearer JWT token, which has been obtained from Authorization Token Request API
Conditional Info
Y:= Signature option is symmetric approach
X-TIMESTAMP
string
25 charactersRequiredTransaction date time, in format YYYY-MM-DDTHH:mm:ss+07:00.
Time must be in GMT+7 (Jakarta time)
Time must be in GMT+7 (Jakarta time)
X-SIGNATURE
string
RequiredSignature need to be generated with
symmetricSignature or asymmetricSignature methodORIGIN
string
Origin domain
X-PARTNER-ID
string
1 - 36 charactersRequiredUnique identifier for partner was generated by DANA, or known as clientId
X-EXTERNAL-ID
string
1 - 36 charactersRequiredUnique messaging reference identifier generated by merchant and should be unique within the same day
X-IP-ADDRESS
string
15 charactersIP address of the end user (customer) using IPv4 format
CHANNEL-ID
string
1 - 5 charactersRequiredDevice identification on which the API services is currently being accessed by the end user (customer)
partnerReferenceNo
string
1 - 64 charactersUnique transaction identifier in partner system for each transaction.
Note: When retrying after a timeout or unexpected response, use the same partnerReferenceNo as in the original request
Note: When retrying after a timeout or unexpected response, use the same partnerReferenceNo as in the original request
customerNumber
string
1 - 32 charactersRequiredCustomer account number, in format 628xxx
Notes: Fill with merchant business phone number
Notes: Fill with merchant business phone number
beneficiaryAccountNumber
string
1 - 32 charactersRequiredBeneficiary account number
amount
money
RequiredAmount. Contains two sub-fields:
- Value: Transaction amount, including the cents
- Currency: Currency code based on ISO
value
string
1 - 19 charactersRequiredValue of amount. Following ISO-4217, for IDR the value includes 2 decimal digits separated with point e.g. ,IDR 10.000,- will be placed with 10000.00
currency
string
1 - 3 charactersRequiredCurrency
additionalInfo
json object
Additional information
additionalInfo.fundType
string
1 - 64 charactersRequiredAdditional information of top up fund type. Possible values:
-
AGENT_TOPUP_USER_SETTLE: used for disbursement to balance solution -
MERCHANT_WITHDRAW_FOR_CORPORATE: used for disbursement to bank solution
MERCHANT_WITHDRAW_FOR_CORPORATEadditionalInfo.externalDivisionId
string
1 - 64 charactersAdditional information of external division identifier.
(fundType:
Notes: It is generally optional, but becomes mandatory if the
(fundType:
MERCHANT_WITHDRAW_FOR_CORPORATE)Notes: It is generally optional, but becomes mandatory if the
additionalInfo.chargeTarget value is set to DIVISION.additionalInfo.chargeTarget
string
1 - 64 charactersAdditional information of charge target. The values are:
nullDIVISIONMERCHANT
DIVISION, externalDivisionId will be MandatoryadditionalInfo.beneficiaryBankCode
string
1 - 8 charactersRequiredAdditional information of beneficiary Bank code, refer to Beneficiary Bank Code List
additionalInfo.beneficiaryAccountName
string
1 - 64 charactersAdditional information of beneficiary account name for validation purpose
additionalInfo.accountType
string
1 - 64 charactersAdditional information of account type
POST .../v1.0/emoney/bank-account-inquiry.htm HTTP/1.2
Content-type: application/json
Authorization: Bearer gp9HjjEj813Y9JGoqwOeOPWbnt4CUpvIJbU1mMU4a11MNDZ7Sg5u9a
X-TIMESTAMP: 2020-12-21T17:07:11+07:00
X-SIGNATURE: 85be817c55b2c135157c7e89f52499bf0c25ad6eeebe04a986e8c862561b19a5
ORIGIN: www.hostname.com
X-PARTNER-ID: 82150823919040624621823174737537
X-EXTERNAL-ID: 41807553358950093184162180797837
X-IP-ADDRESS: 172.24.281.24
X-DEVICE-ID: 09864ADCASA
CHANNEL-ID: 95221
{
"partnerReferenceNo": "2020102900000000000001",
"customerNumber": "6281773628883",
"beneficiaryAccountNumber": "01234567890",
"amount": {
"value": "10000.00",
"currency": "IDR"
},
"additionalInfo": {
"fundType": "MERCHANT_WITHDRAW_FOR_CORPORATE",
"externalDivisionId": "91080916Division",
"chargeTarget": "DIVISION",
"beneficiaryBankCode": "002",
"beneficiaryAccountName": "James Bond",
"accountType": "SETTLEMENT_ACCOUNT"
}
}
Content-Type
string
1 - 127 charactersRequiredContent type, value always
application/jsonX-TIMESTAMP
string
25 charactersRequiredTransaction date time, in format YYYY-MM-DDTHH:mm:ss+07:00.
Time must be in GMT+7 (Jakarta time)
Time must be in GMT+7 (Jakarta time)
responseCode
string
7 charactersRequiredRefer to response code list
responseMessage
string
1 - 150 charactersRequiredRefer to response code list
referenceNo
string
1 - 64 charactersTransaction identifier on DANA system
partnerReferenceNo
string
1 - 64 charactersUnique transaction identifier in partner system for each transaction.
Note: When retrying after a timeout or unexpected response, use the same partnerReferenceNo as in the original request
Note: When retrying after a timeout or unexpected response, use the same partnerReferenceNo as in the original request
accountType
string
1 - 25 charactersCustomer account type
beneficiaryAccountNumber
string
1 - 32 charactersRequiredBeneficiary account number
beneficiaryAccountName
string
1 - 64 charactersRequiredBeneficiary account name
beneficiaryBankCode
string
1 - 8 charactersBeneficiary Bank code
beneficiaryBankShortName
string
1 - 25 charactersBeneficiary Bank short name
beneficiaryBankName
string
1 - 25 charactersBeneficiary Bank name
amount
money
RequiredAmount. Contains two sub-fields:
- Value: Transaction amount, including the cents
- Currency: Currency code based on ISO
value
string
1 - 19 charactersRequiredValue of amount. Following ISO-4217, for IDR the value includes 2 decimal digits separated with point e.g. ,IDR 10.000,- will be placed with 10000.00
currency
string
1 - 3 charactersRequiredCurrency
additionalInfo
json object
Additional information
additionalInfo.feeAmount
money
RequiredAdditional information of fee amount. Contains two sub-fields:
- Value: Amount, including the cents
- Currency: Currency code based on ISO
value
string
1 - 19 charactersRequiredValue of amount. Following ISO-4217, for IDR the value includes 2 decimal digits separated with point e.g. ,IDR 10.000,- will be placed with 10000.00
currency
string
1 - 3 charactersRequiredCurrency
Content-type: application/json
X-TIMESTAMP: 2020-12-21T14:36:19+07:00
{
"responseCode": "2004200",
"responseMessage": "Successful",
"referenceNo": "2020102977770000000009",
"partnerReferenceNo": "2020102900000000000001",
"accountType": "SETTLEMENT_ACCOUNT",
"beneficiaryAccountNumber": "01234567890",
"beneficiaryAccountName": "JOHN DOE",
"beneficiaryBankCode": "008",
"beneficiaryBankShortName": "Mandiri",
"beneficiaryBankName": "PT BANK MANDIRI (PERSERO) TBK",
"amount": {
"currency": "IDR",
"value": "10000.00"
},
"additionalInfo": {
"feeAmount": {
"currency": "IDR",
"value": "10000.00"
}
}
}
| Response | Cause | Solution |
|---|---|---|
2004200Successful | Success to be processed | Mark Transfer to Bank Account Inquiry process as Success |
4004200Bad Request | General request failed error | Mark Transfer to Bank Account Inquiry process as Failed. Retry request with proper parameter |
4004201Invalid Field Format | Invalid format for certain field | Mark Transfer to Bank Account Inquiry process as Failed. Retry request with proper parameter |
4004202Invalid Mandatory Field | Missing or invalid format on mandatory field | Mark Transfer to Bank Account Inquiry process as Failed. Retry request with proper parameter |
4014200Unauthorized. [reason] | General unauthorized error | Mark Transfer to Bank Account Inquiry process as Failed. Retry request with proper parameter |
4014201Invalid Token (B2B) | Authorization token are invalid, perhaps due to token expiry for B2B | Mark Transfer to Bank Account Inquiry process as Failed. Retry request with proper parameter |
4014202Invalid Customer Token | Customer token are invalid, perhaps due to token expiry | Mark Transfer to Bank Account Inquiry process as Failed. Retry request with proper parameter |
4014204Customer Token Not Found | Customer token not found in the system. This occurs on any API that requires token as input parameter | Mark Transfer to Bank Account Inquiry process as Failed. Retry request with proper parameter |
4034202Exceeds Transaction Amount Limit | Exceeds transaction amount limit | Mark Transfer to Bank Account Inquiry process as Failed. Retry request with proper amount |
4034214Insufficient Funds | Insufficient funds | Mark Transfer to Bank Account Inquiry process as Failed. Contact DANA to top up deposit balance |
4034218Inactive Card/Account/Customer | Indicates inactive account | Mark Transfer to Bank Account Inquiry process as Failed. Contact DANA to check merchant configuration |
4034220Merchant Limit Exceed | Merchant aggregated purchase amount on that day exceeds the agreed limit | Mark Transfer to Bank Account Inquiry process as Failed. Contact DANA to check merchant configuration |
4044208Invalid Merchant | Merchant does not exist or status abnormal | Mark Transfer to Bank Account Inquiry process as Failed. Contact DANA to check merchant configuration |
4044211Invalid Card/Account/Customer [info]/Virtual Account | Card information may be invalid, or the card account may be blacklisted, or Virtual Account number maybe invalid | Mark Transfer to Bank Account Inquiry process as Failed. Retry request with proper bank account info |
4294200Too Many Requests | Maximum transaction limit exceeded | Mark Transfer to Bank Account Inquiry process as Pending. Retry request periodically |
5004200General Error | General error non retry-able | Mark Transfer to Bank Account Inquiry process as Failed. Retry new Transfer to Bank Account Inquiry process |
5004201Internal Server Error | Unknown internal server failure, please retry the process again | Mark Transfer to Bank Account Inquiry process as Failed. Retry new Transfer to Bank Account Inquiry process |
Total timeout | Total timeout, the client side does not get any responses from the server side (Can be due to network issue, server slowing down, and so on) | Do a retry maximum 3 attempts, if still fails mark Transfer to Bank Account Inquiry process as Pending |
Unexpected response (Empty field/field does not exist/undefined response code) | The server does not produce expected responses (Can be due to hardware failure, bugs, and so on) |
|