Skip to main content

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 charactersRequired
Content type, value always application/json
Authorization-Customer
string
1 - 512 charactersRequired
Contains customer token, which has been obtained from binding process, refer to Apply Token API
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 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 charactersRequired
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: 72635bdfd223yvjm7246n sdj34hd4559393kjh42"
X-LATITUDE
string
1 - 10 characters
Location 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:
  • ±DD.DDDD format (without minutes and seconds)
  • ±DD = three-digit integer degrees part of latitude
  • .DDDD = variable-length fraction part in degrees
Sample:
New York City
Latitude: +40.75
X-LONGITUDE
string
1 - 10 characters
Location 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:
  • ±DDD.DDDD format (without minutes and seconds)
  • ±DDD = four-digit integer degrees part of latitude
  • .DDDD = variable-length fraction part in degrees
Sample:
New York City
Latitude: -074.00
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
fromDateTime
string
25 characters
Starting time range, in format YYYY-MM-DDTHH:mm:ssZ. Time must be in UTC. Default: NOW - 3 months (DESC ordering)
toDateTime
string
25 characters
Ending time range, in format YYYY-MM-DDTHH:mm:ssZ. Time must be in UTC. Default: NOW
pageSize
string
1 - 2 characters
Maximum number of transaction returned in one pagination.
Default: 10
pageNumber
string
1 - 2 characters
Current page number.
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 charactersRequired
Contains 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 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
detailData
array of json object
Conditional
Contains detail data of history transaction
Conditional Info
Y:= Data found
referenceNo
string
1 - 64 charactersRequired
Transaction identifier on DANA system
partnerReferenceNo
string
1 - 64 charactersRequired
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
dateTime
string
25 charactersRequired
Transaction date time, in format YYYY-MM-DDTHH:mm:ssZ. Time must be in UTC
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
remark
string
1 - 256 characters
Transaction remark
sourceOfFunds
array of object
Source of funds used for this transaction
source
string
1 - 64 charactersRequired
Fund source
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
status
string
1 - 32 charactersRequired
Statuses of transaction; PROCESSING, SUCCESS, CLOSED, FAILED, INIT, REVOKED
type
string
1 - 32 charactersRequired
Types of transaction.; PAYMENT, REFUND, OFFLINE_TOPUP, TOP_UP, REBATE
additionalInfo
json object
Required
Contains order summary data of history transaction
orderTitle
string
1 - 256 charactersRequired
Order title
orderCompletedTime
string
25 characters
Order completed time, in format YYYY-MM-DDTHH:mm:ssZ. Time must be in UTC
refBizOrderid
string
1 - 150 characters
Transaction identifier of the original transaction, e.g., it'll be its payment transaction identifier if it's refund or promotion redeem
orderExpireTime
string
25 charactersRequired
Order expired time, in format YYYY-MM-DDTHH:mm:ssZ. Time must be in UTC
instId
string
1 - 32 characters
Institution identifier provided by DANA
extendInfo
string
1 - 4096 characters
Transaction extend information
transferAmount
money
Transfer 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
whtAmount
money
Withholding 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
Fee 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
taxAmount
money
Tax 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
availableAmount
money
Available 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
additionalInfo.paginator
json object
Conditional
Additional information of paginator
Conditional Info
Y:= Data found
pageNum
string
1 - 2 characters
Current page number
pageSize
string
1 - 2 characters
Maximum number of transaction returned in one pagination
totalPage
string
1 - 4 characters
Total of page
totalCount
string
1 - 4 characters
Count 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"
}
}
}

ResponseCauseSolution
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)
  • If the response code prefix are 202 and 5XX, mark Transaction History process as Failed
  • If empty field/field does not exist, mark Transaction History process as Failed