Transaction History
POST/v1.0/transaction-history-list.htm
This API is used to query user's DANA transaction history list via merchant. For the easiest integration, use DANA's Libraries to implement DANA Widget Binding.
API Type
SNAP API
Expected Timeout
8 second
SNAP Service Code
12
Accept
application/json
Content Type
applciation/json
Content-Type
string
1 - 127 charactersRequiredContent type, value always
application/jsonAuthorization-Customer
string
1 - 512 charactersRequiredContains customer token, which has been obtained from binding process
X-TIMESTAMP
string
25 charactersRequiredTransaction date time, in format YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time)
X-SIGNATURE
string
RequiredSignature need to be generated with
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 charactersRequiredDevice 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: 72635bdfd223yvjm7246n sdj34hd4559393kjh42"
X-LATITUDE
string
1 - 10 charactersLocation on which the API services is currently being accessed by the end user (customer), refer to ISO 6709 standard representation of geographic point location by coordinates, as below:
New York City
Latitude: +40.75
- ±DD.DDDD format (without minutes and seconds)
- ±DD = three-digit integer degrees part of latitude
- .DDDD = variable-length fraction part in degrees
New York City
Latitude: +40.75
X-LONGITUDE
string
1 - 10 charactersLocation on which the API services is currently being accessed by the end user (customer), refer to ISO 6709 Standard representation of geographic point location by coordinates, as below:
New York City
Latitude: -074.00
- ±DDD.DDDD format (without minutes and seconds)
- ±DDD = four-digit integer degrees part of latitude
- .DDDD = variable-length fraction part in degrees
New York City
Latitude: -074.00
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
fromDateTime
string
25 charactersStarting time range, in format YYYY-MM-DDTHH:mm:ssZ. Time must be in UTC. Default: NOW - 3 months (DESC ordering)
toDateTime
string
25 charactersEnding time range, in format YYYY-MM-DDTHH:mm:ssZ. Time must be in UTC. Default: NOW
pageSize
string
1 - 2 charactersMaximum number of transaction returned in one pagination.
Default:
Default:
10pageNumber
string
1 - 2 charactersCurrent page number.
Default:
Default:
1additionalInfo
json object
Additional information
additionalInfo.types
array of string
Additional information of types of transaction. i.e.,
PAYMENT, REFUND, OFFLINE_TOPUP, TOP_UP, REBATEadditionalInfo.statuses
array of string
Additional information of statuses of transactions. i.e.,
PROCESSING, SUCCESS, CLOSED, FAILED, INIT, REVOKEDadditionalInfo.accessToken
string
1 - 512 charactersRequiredContains customer token, which has been obtained from binding process
POST .../v1.0/transaction-history-list.htm HTTP/1.2
Content-type: application/json
Authorization-Customer: Bearer fa8sjjEj813Y9JGoqwOeOPWbnt4CUpvIJbU1mMU4a11MNDZ7Sg5u9a
X-TIMESTAMP: 2020-12-23T08:31: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
X-LATITUDE: -6.108841
X-LONGITUDE: 106.7782137
CHANNEL-ID: 95221
{
"partnerReferenceNo":"2020102900000000000001",
"fromDateTime":"2020-12-21T17:55:11Z",
"toDateTime":"2022-01-21T17:55:11Z",
"pageSize": "10",
"pageNumber": "1",
"additionalInfo":{
"types": [
"PAYMENT",
"REFUND",
"OFFLINE_TOPUP",
"TOP_UP",
"REBATE"
],
"statuses": [
"PROCESSING",
"SUCCESS",
"CLOSED",
"FAILED",
"INIT",
"REVOKED"
],
"accessToken": "fa8sjjEj813Y9JGoqwOeOPWbnt4CUpvIJbU1mMU4a11MNDZ7Sg5u9a"
}
}
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
detailData
array of json object
ConditionalContains detail data of history transaction
Conditional Info
Y:= Data found
referenceNo
string
1 - 64 charactersRequiredTransaction identifier on DANA system
partnerReferenceNo
string
1 - 64 charactersRequiredUnique 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
dateTime
string
25 charactersRequiredTransaction date time, in format YYYY-MM-DDTHH:mm:ssZ. Time must be in UTC
amount
money
RequiredAmount. Contains two sub-fields:
1. Value: Transaction amount, including the cents
2. Currency: Currency code based on ISO
1. Value: Transaction amount, including the cents
2. 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
remark
string
1 - 256 charactersTransaction remark
sourceOfFunds
array of object
Source of funds used for this transaction
source
string
1 - 64 charactersRequiredFund source
amount
money
RequiredAmount. Contains two sub-fields:
1. Value: Transaction amount, including the cents
2. Currency: Currency code based on ISO
1. Value: Transaction amount, including the cents
2. 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
status
string
1 - 32 charactersRequiredStatuses of transaction;
PROCESSING, SUCCESS, CLOSED, FAILED, INIT, REVOKEDtype
string
1 - 32 charactersRequiredTypes of transaction.;
PAYMENT, REFUND, OFFLINE_TOPUP, TOP_UP, REBATEadditionalInfo
json object
RequiredContains order summary data of history transaction
orderTitle
string
1 - 256 charactersRequiredOrder title
orderCompletedTime
string
25 charactersOrder completed time, in format YYYY-MM-DDTHH:mm:ssZ. Time must be in UTC
refBizOrderid
string
1 - 150 charactersTransaction identifier of the original transaction, e.g., it'll be its payment transaction identifier if it's refund or promotion redeem
orderExpireTime
string
25 charactersRequiredOrder expired time, in format YYYY-MM-DDTHH:mm:ssZ. Time must be in UTC
instId
string
1 - 32 charactersInstitution identifier provided by DANA
extendInfo
string
1 - 4096 charactersTransaction extend information
transferAmount
money
Transfer amount. Contains two sub-fields:
1. Value: Transaction amount, including the cents
2. Currency: Currency code based on ISO
1. Value: Transaction amount, including the cents
2. 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
whtAmount
money
Withholding amount. Contains two sub-fields:
1. Value: Transaction amount, including the cents
2. Currency: Currency code based on ISO
1. Value: Transaction amount, including the cents
2. 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:
1. Value: Transaction amount, including the cents
2. Currency: Currency code based on ISO
1. Value: Transaction amount, including the cents
2. 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
taxAmount
money
Tax amount. Contains two sub-fields:
1. Value: Transaction amount, including the cents
2. Currency: Currency code based on ISO
1. Value: Transaction amount, including the cents
2. 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
availableAmount
money
Available amount. Contains two sub-fields:
1. Value: Transaction amount, including the cents
2. Currency: Currency code based on ISO
1. Value: Transaction amount, including the cents
2. 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
RequiredAdditional information
additionalInfo.paginator
json object
ConditionalAdditional information of paginator
Conditional Info
Y:= Data found
pageNum
string
1 - 2 charactersCurrent page number
pageSize
string
1 - 2 charactersMaximum number of transaction returned in one pagination
totalPage
string
1 - 4 charactersTotal of page
totalCount
string
1 - 4 charactersCount total
Content-type: application/json
X-TIMESTAMP: 2020-12-18T15:34:44+07:00
{
"responseCode": "2001200",
"responseMessage": "Successful",
"detailData": [
{
"referenceNo": "2020102977770000000009",
"partnerReferenceNo": "2020102900000000000001",
"dateTime": "2020-12-21T14:56:11Z",
"amount": {
"value": "12345678.00",
"currency": "IDR"
},
"remark": "Payment to Warung Ikan Bakar",
"sourceOfFunds": [
{
"source": "BALANCE",
"amount": {
"value": "10000.00",
"currency": "IDR"
}
}
],
"status": "SUCCESS",
"type": "PAYMENT",
"additionalInfo": {
"orderTitle": "OrderTitle",
"orderCompleteTime": "2020-12-18T15:34:44Z",
"refBizOrderID": "12345679237",
"orderExpireTime": "2020-12-18T15:34:44Z",
"instId": "DANA",
"transferAmount": {
"value": "10000.00",
"currency": "IDR"
},
"whtAmount": {
"value": "10000.00",
"currency": "IDR"
},
"feeAmount": {
"value": "10000.00",
"currency": "IDR"
},
"taxAmount": {
"value": "10000.00",
"currency": "IDR"
},
"availableAmount": {
"value": "10000.00",
"currency": "IDR"
}
}
}
],
"additionalInfo": {
"paginator": {
"pageNum": "1",
"pageSize": "10",
"totalPage": "1",
"totalCount": "7"
}
}
}
| Response | Cause | Solution |
|---|---|---|
2001200Successful | Success to be processed | Mark Transaction History process as Success |
4001200Bad Request | General request failed error | Mark Transaction History process as Failed. Retry request with proper parameter |
4001201Invalid Field Format | Invalid format for certain field | Mark Transaction History process as Failed. Retry request with proper parameter |
4001202Invalid Mandatory Field | Missing or invalid format on mandatory field | Mark Transaction History process as Failed. Retry request with proper parameter |
4011200Unauthorized. [reason] | General unauthorized error | Mark Transaction History process as Failed. Retry request with proper parameter |
4011202Invalid Customer Token | Customer token are invalid, perhaps due to token expiry | Mark Transaction History process as Failed. Retry request with proper parameter |
4011204Customer Token Not Found | Customer token not found in the system. This occurs on any API that requires token as input parameter | Mark Transaction History process as Failed. Retry request with proper parameter |
4041201Transaction Not Found | Transaction not found | Mark Transaction History process as Failed. Retry request periodically |
4291200Too Many Requests | Maximum transaction limit exceeded | Mark Transaction History process as Failed. Retry request periodically |
5001200General Error | General error non retry-able | Mark Transaction History process as Failed. Retry request periodically |
5001201Internal Server Error | Unknown internal server failure, please retry the process again | Mark Transaction History process as Failed. 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 Transaction History process as Failed |
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) |
|