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
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/json
Authorization
string
1 - 2048 charactersConditionalContains bearer JWT token, which has been obtained from Authorization Token Request API
Conditional Info
Y:= Signature option is symmetric approach
Authorization-Customer
string
1 - 512 charactersConditional- Contains customer token, which has been obtained from binding process, refer to Apply Token API
- If request is coming from user interaction, this field is mandatory.
If not, just filled customerNumber
Conditional Info
Y:= customerNumber is not exist
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
X-DEVICE-ID
string
1 - 400 charactersConditionalDevice identification on which the API services is currently being accessed by the end user (customer). Sample:
- Web Application:
- Mozilla / 5.0 (Windows NT 10.0; Win64; x64)
- AppleWebKit / 537.36 (KHTML, like Gecko)
- Chrome / 75.0.3770.100
- Safari / 537.36 OPR / 62.0.3331.99
- Mobile Application:
- Android: android-20013adf6cdd8123f
- iOS: 72635bdfd223yvjm7246nsdj34hd4559393kjh42
Conditional Info
Y:= Authorization Customer is exist
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 withdraw fund type,
i.e.;
i.e.;
MERCHANT_WITHDRAW_FOR_CORPORATE
additionalInfo.externalDivisionId
string
1 - 64 charactersAdditional information of external division identifier.
(fundType:
Notes: The required of this parameter is Optional,
but if "
(fundType:
MERCHANT_WITHDRAW_FOR_CORPORATE
)Notes: The required of this parameter is Optional,
but if "
additionalInfo.chargeTarget
" has value DIVISION
then the required of this parameter will be changed to MandatoryadditionalInfo.chargeTarget
string
1 - 64 charactersAdditional information of charge target. The values are:
null
DIVISION
MERCHANT
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
additionalInfo.accessToken
string
1 - 512 charactersConditional- Contains customer token, which has been obtained from binding process, refer to Apply Token API
- If request is coming from user interaction, this field is mandatory.
If not, just filled customerNumber
Conditional Info
Y:= customerNumber is not exist
POST .../v1.0/emoney/bank-account-inquiry.htm HTTP/1.2
Content-type: application/json
Authorization: Bearer gp9HjjEj813Y9JGoqwOeOPWbnt4CUpvIJbU1mMU4a11MNDZ7Sg5u9a
Authorization-Customer: Bearer fa8sjjEj813Y9JGoqwOeOPWbnt4CUpvIJbU1mMU4a11MNDZ7Sg5u9a
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",
"accessToken": "fa8sjjEj813Y9JGoqwOeOPWbnt4CUpvIJbU1mMU4a11MNDZ7Sg5u9a"
}
}
Content-Type
string
1 - 127 charactersRequiredContent type, value always
application/json
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)
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) |
|