Account Inquiry
POST/rest/v1.0/emoney/account-inquiry
This API is used for merchant to do account inquiry to DANA. For the easiest integration, use DANA's Libraries to implement Disbursement to Balance.
API Type
SNAP API
Expected Timeout
8 second
SNAP Service Code
37
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
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
transactionDate
string
25 charactersTransaction date, 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)
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
AGENT_TOPUP_FOR_USER_SETTLEadditionalInfo.externalDivisionId
string
1 - 64 charactersAdditional information of external division identifier. This parameter only used for subMerchant of Disbursement to Balance
(fundType:
Notes: It is generally optional, but becomes mandatory if the
(fundType:
AGENT_TOPUP_FOR_USER_SETTLE)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. This parameter only used for subMerchant of Disbursement to Balance.
The values are:
The values are:
nullDIVISIONMERCHANT
DIVISION, externalDivisionId will be MandatoryadditionalInfo.customerId
string
1 - 32 charactersPublic user identifier of DANA user.
Notes: If used, requires customerNumber to be filled with default phone number literal "620000000000"
Notes: If used, requires customerNumber to be filled with default phone number literal "620000000000"
POST .../rest/v1.0/emoney/account-inquiry HTTP/1.2
Content-type: application/json
Authorization: Bearer gp9HjjEj813Y9JGoqwOeOPWbnt4CUpvIJbU1mMU4a11MNDZ7Sg5u9a
X-TIMESTAMP: 2020-12-21T17:02: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
CHANNEL-ID: 95221
{
"partnerReferenceNo": "{reqMsgId/partner unique request id}",
"customerNumber": "62810987654321",
"amount": {
"value": "10000.00",
"currency": "IDR"
},
"transactionDate": "2020-12-21T14:56:11+07:00",
"additionalInfo": {
"fundType": "AGENT_TOPUP_FOR_USER_SETTLE",
"externalDivisionId": "91080916Division",
"chargeTarget": "DIVISION",
"customerId": "20200519111215830121DANAW3ID009200305573"
}
}
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)
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
sessionId
string
1 - 25 charactersSession identifier
customerNumber
string
1 - 32 charactersRequiredCustomer account number, in format 628xxx
customerName
string
1 - 255 charactersRequiredCustomer account name
customerMonthlyLimit
numeric
17 charactersLimitation of top up balance for customer per month
minAmount
money
Minimal amount. 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
maxAmount
money
Maximal amount. 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
amount
money
Amount. 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
feeAmount
money
Fee amount. 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
feeType
string
1 - 25 charactersType of fee for each top up transaction. Such as admin fee
additionalInfo
json object
Additional information
Content-type: application/json
X-TIMESTAMP: 2020-12-21T17:02:18+07:00
{
"responseCode": "2003700",
"responseMessage": "Successful",
"referenceNo": "2020102977770000000009",
"partnerReferenceNo": "2020102900000000000001",
"sessionId": "883737GHY8839",
"customerNumber": "6281388370001",
"customerName": "John Doe",
"customerMonthlyInLimit": "10000000",
"minAmount": {
"value": "10000.00",
"currency": "IDR"
},
"maxAmount": {
"value": "10000.00",
"currency": "IDR"
},
"amount": {
"value": "10000.00",
"currency": "IDR"
},
"feeAmount": {
"value": "10000.00",
"currency": "IDR"
},
"feeType": "Admin fee",
"additionalInfo": {}
}
| Response | Cause | Solution |
|---|---|---|
2003700Successful | Success to be processed | Mark Account Inquiry process as Success |
4003700Bad Request | General request failed error | Mark Account Inquiry process as Failed. Retry request with proper parameter |
4003701Invalid Field Format | Invalid format for certain field | Mark Account Inquiry process as Failed. Retry request with proper parameter |
4003702Invalid Mandatory Field | Missing or invalid format on mandatory field | Mark Account Inquiry process as Failed. Retry request with proper parameter |
4013700Unauthorized. [reason] | General unauthorized error | Mark Account Inquiry process as Failed. Retry request with proper parameter |
4013701Invalid Token (B2B) | Authorization token are invalid, perhaps due to token expiry for B2B | Mark Account Inquiry process as Failed. Retry request with proper parameter |
4013702Invalid Customer Token | Customer token are invalid, perhaps due to token expiry | Mark Account Inquiry process as Failed. Retry request with proper parameter |
4013704Customer Token Not Found | Customer token not found in the system. This occurs on any API that requires token as input parameter | Mark Account Inquiry process as Failed. Retry request with proper parameter |
4033702Exceeds Transaction Amount Limit | Exceeds transaction amount limit | Mark Account Inquiry process as Failed. Retry request with proper amount |
4033705Do Not Honor | Account or user status is abnormal | Mark Account Inquiry process as Failed. Contact DANA to check the user/account status |
4033714Insufficient Funds | Insufficient funds | Mark Account Inquiry process as Failed. Contact DANA to top up deposit balance |
4033715Transaction Not Permitted. [reason] | Transaction not permitted | Mark Account Inquiry process as Failed. Contact DANA to check merchant configuration |
4033718Inactive Card/Account/Customer | Indicates inactive account | Mark Account Inquiry process as Failed. Contact DANA to check merchant configuration |
4033720Merchant Limit Exceed | Merchant aggregated purchase amount on that day exceeds the agreed limit | Mark Account Inquiry process as Failed. Contact DANA to check merchant configuration |
4043708Invalid Merchant | Merchant does not exist or status abnormal | Mark Account Inquiry process as Failed. Contact DANA to check merchant configuration |
4043711Invalid 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 Account Inquiry process as Failed. Contact DANA to check merchant configuration |
4293700Too Many Requests | Maximum transaction limit exceeded | Mark Account Inquiry process as Failed. Retry new Account Inquiry process |
5003700General Error | General error non retry-able | Mark Account Inquiry process as Failed. Retry new Account Inquiry process |
5003701Internal Server Error | Unknown internal server failure, please retry the process again | Mark Account Inquiry process as Failed. Retry new 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) | Mark Account Inquiry process as Failed. Retry new Account Inquiry process |
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) |
|