Transaction History
POST/v1.0/transaction-history-list.htm
This API is used to query user's DANA transaction history list via merchant
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/json
Authorization-Customer
string
1 - 512 charactersRequiredContains customer token, which has been obtained from binding process, refer to Apply Token API
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:
10
pageNumber
string
1 - 2 charactersCurrent page number.
Default:
Default:
1
additionalInfo
json object
Additional information
additionalInfo.types
array of string
Additional information of types of transaction. i.e.,
PAYMENT
, REFUND
, OFFLINE_TOPUP
, TOP_UP
, REBATE
additionalInfo.statuses
array of string
Additional information of statuses of transactions. i.e.,
PROCESSING
, SUCCESS
, CLOSED
, FAILED
, INIT, REVOKED
additionalInfo.accessToken
string
1 - 512 charactersRequiredContains customer token, which has been obtained from binding process, refer to Apply Token API
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/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)
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
, REVOKED
type
string
1 - 32 charactersRequiredTypes of transaction.;
PAYMENT
, REFUND
, OFFLINE_TOPUP
, TOP_UP
, REBATE
additionalInfo
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.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) |
|