Skip to main content

Account Inquiry

POST/v1.0/emoney/account-inquiry.htm

This API is used for merchant to do account inquiry to DANA

API Type
SNAP API
Expected Timeout
8 second
SNAP Service Code
37
Accept
application/json
Content Type
application/json

Content-type
string
1 - 127 charactersRequired
Content type, value always application/json
Authorization
string
1 - 2048 charactersConditional
Contains 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
  • 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 charactersRequired
Transaction date time, in format YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time)
X-SIGNATURE
string
Required
Signature need to be generated with symmetricSignature or asymmetricSignature method
ORIGIN
string
Origin domain
X-PARTNER-ID
string
1 - 36 charactersRequired
Unique identifier for partner was generated by DANA, or known as clientId
X-EXTERNAL-ID
string
1 - 36 charactersRequired
Unique messaging reference identifier generated by merchant and should be unique within the same day
X-IP-ADDRESS
string
15 characters
IP address of the end user (customer) using IPv4 format
X-DEVICE-ID
string
1 - 400 charactersConditional
Device 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: 72635bdfd223yvjm7246nsdj34hd455 9393kjh42
Conditional Info
Y:= Authorization Customer is exist
CHANNEL-ID
string
1 - 5 charactersRequired
Device identification on which the API services is currently being accessed by the end user (customer)

partnerReferenceNo
string
1 - 64 characters
Unique 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

customerNumber
string
1 - 32 charactersConditional
Customer account number, in format 628xxx
Conditional Info
Y:= Authorization Customer is not exist
amount
money
Required
Amount. Contains two sub-fields:
  1. Value: Transaction amount, including the cents
  2. Currency: Currency code based on ISO
value
string
1 - 19 charactersRequired
Value 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 charactersRequired
Currency
transactionDate
string
25 characters
Transaction date, in format YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time)
additionalInfo
json object
Additional information
fundType
string
1 - 64 charactersRequired
Additional information of fund type, value always AGENT_TOPUP_FOR_USER_SETTLE
externalDivisionId
string
1 - 64 characters
Additional information of external division identifier. (fundType: AGENT_TOPUP_FOR_USER_SETTLE)
Note

It is generally optional, but becomes mandatory if the additionalInfo.chargeTarget value is set to DIVISION.

chargeTarget
string
1 - 64 characters
Additional information of charge target. The values are:
  • null
  • DIVISION
  • MERCHANT
Note

If the value is DIVISION, externalDivisionId will be Mandatory

subScenario
string
1 - 64 charactersConditional
Additional information of sub scenario, value always GLOBAL_REMITTANCE
Conditional Info
Y:= Cross border remittance scenario
extendInfo
json object
1 - 4096 charactersConditional
Additional information of extend
Conditional Info
Y:= For params of senderName and transferFromRegion
instructedAmountType
string
1 - 64 characters
Additional information of type of instructed amount
payerPaymentMethod
json object
Required
Additional information of method of payer payment
walletDetail
json object
Conditional
Information details of wallet
Conditional Info
Y:= paymentMethodType=WALLET
walletName
string
1 - 128 charactersRequired
Wallet name
customerId
string
1 - 64 charactersRequired
Customer unique identifier assigned by participant
customerName
json object
Information details of customer name
firstName
string
1 - 32 characters
Customer’s first name
lastName
string
1 - 32 characters
Customer’s last name
fullName
string
1 - 128 charactersRequired
Customer’s full name
middleName
string
1 - 32 characters
Customer’s middle name
paymentMethodType
string
1 - 32 charactersRequired
Type of payment method
bizSceneType
string
1 - 64 characters
Additional information of type of Bizscene
transferToAmount
money
Additional information of transfer to amount. Contains two sub-fields:
  1. Value: Amount, including the cents
  2. Currency: Currency code based on ISO
value
string
1 - 19 charactersRequired
Value 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 charactersRequired
Currency
transferFromAmount
money
Additional information of transfer from amount. Contains two sub-fields:
  1. Value: Amount, including the cents
  2. Currency: Currency code based on ISO
value
string
1 - 19 charactersRequired
Value 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 charactersRequired
Currency
transferFromRegion
string
2 charactersRequired
Additional information of payer’s country or region. Refer to ISO-3166 country/region code
transferToRegion
string
2 charactersRequired
Additional information of beneficiary’s country or region. Refer to ISO-3166 country/region code
senderName
string
1 - 64 charactersRequired
Additional information of sender name
accessToken
string
1 - 512 charactersConditional
  • Contains customer token, which has been obtained from binding process
  • 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/account-inquiry.htm HTTP/1.2
Content-type: application/json
Authorization: Bearer gp9HjjEj813Y9JGoqwOeOPWbnt4CUpvIJbU1mMU4a11MNDZ7Sg5u9a
Authorization-Customer: Bearer fa8sjjEj813Y9JGoqwOeOPWbnt4CUpvIJbU1mMU4a11MNDZ7Sg5u9a
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
X-DEVICE-ID: 09864ADCASA
CHANNEL-ID: 95221
{
"partnerReferenceNo": "{reqMsgId/partner unique request id}",
"customerNumber": "62810987654321",
"amount": {
"value": "10000.00",
"currency": "IDR"
},
"transactionDate": "2020-12-21T17:02:11+07:00",
"additionalInfo": {
"fundType": "AGENT_TOPUP_FOR_USER_SETTLE",
"externalDivisionId": "91080916Division",
"chargeTarget": "DIVISION",
"subScenario": "GLOBAL_REMITTANCE",
"extendInfo": {
"instructedAmountType": "TRANSFER_TO",
"payerPaymentMethod": {
"walletDetail": {
"walletName": "HK_WALLET",
"customerId": "123456789",
"customerName": {
"firstName": "William",
"lastName": "Clinton",
"fullName": "William Jefferson Clinton",
"middleName": "Jefferson"
}
},
"paymentMethodType": "WALLET"
},
"bizSceneType": "TRANSFER",
"transferToAmount": {
"currency": "IDR",
"value": "5000000.00"
},
"transferFromAmount": {
"currency": "USD",
"value": "70000.00"
},
"transferFromRegion": "KR",
"transferToRegion": "ID",
"senderName": "William Jefferson Clinton"
},
"accessToken" : "fa8sjjEj813Y9JGoqwOeOPWbnt4CUpvIJbU1mMU4a11MNDZ7Sg5u9a"
}
}

Content-type
string
1 - 127 charactersRequired
Content type, value always application/json
X-TIMESTAMP
string
25 charactersRequired
Transaction date time, in format YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time)

responseCode
string
7 charactersRequired
Refer to response code list
responseMessage
string
1 - 150 charactersRequired
Refer to response code list
referenceNo
string
1 - 64 characters
Transaction identifier on DANA system
partnerReferenceNo
string
1 - 64 characters
Unique 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

sessionId
string
1 - 25 characters
Session identifier
customerNumber
string
1 - 32 charactersConditional
Customer account number, in format 628xxx
Conditional Info
Y:= customerNumber from request is exist
customerName
string
1 - 255 charactersRequired
Customer account name
customerMonthlyLimit
numeric
17 characters
Limitation of top up balance for customer per month
minAmount
money
Required
Minimal amount. Contains two sub-fields:
  1. Value: Amount, including the cents
  2. Currency: Currency code based on ISO
value
string
1 - 19 charactersRequired
Value 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 charactersRequired
Currency
maxAmount
money
Required
Maximal amount. Contains two sub-fields:
  1. Value: Amount, including the cents
  2. Currency: Currency code based on ISO
value
string
1 - 19 charactersRequired
Value 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 charactersRequired
Currency
amount
money
Required
Amount. Contains two sub-fields:
  1. Value: Transaction amount, including the cents
  2. Currency: Currency code based on ISO
value
string
1 - 19 charactersRequired
Value 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 charactersRequired
Currency
feeAmount
money
Required
Fee amount. Contains two sub-fields:
  1. Value: Amount, including the cents
  2. Currency: Currency code based on ISO
value
string
1 - 19 charactersRequired
Value 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 charactersRequired
Currency
feeType
string
1 - 25 characters
Type 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",
"customerMonthlyLimit": "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": {
}
}

ResponseCauseSolution
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 Fund
Transaction amount exceed available fund
Mark Account Inquiry process as Failed. Contact DANA to top up deposit balance
4033715Transaction Not Permitted
Transaction is not permitted
Mark Account Inquiry process as Failed. Contact DANA to check merchant configuration
4033718Inactive Account Merchant
Merchant account status inactive
Mark Account Inquiry process as Failed. Contact DANA to check merchant configuration
4033720Merchant Limit Exceed
Amount exceed merchant transaction 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 Account: Merchant Account Type Illegal
Merchant account type invalid for current transaction
Mark Account Inquiry process as Failed. Contact DANA to check merchant configuration
4293700Too Many Requests
Maximum transaction limit exceeded
Mark Account Inquiry process as Pending. Retry request periodically
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 Pending. Retry request periodically
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 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)
  • If the response code prefix are 202 and 5XX, mark Account Inquiry process as Pending
  • If empty field/field does not exist, mark Account Inquiry process as Pending
ask AIAI Assistant
Need help with our documentation?
Start from our frequently asked questions or feel free to ask anything else.

AI generated responses may contain mistakes.