Skip to main content

Transaction Detail

POST/v1.0/transaction-history-detail.htm

This API is used to query user’s DANA transaction history detail via merchant

API Type
SNAP API
Expected Timeout
8 second
SNAP Service Code
13
Accept
application/json
Content Type
application/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: 72635bdfd223yvjm7246nsdj34hd4559393kjh42"
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
Longitude: -074.00
CHANNEL-ID
string
1 - 5 charactersRequired
Device identification on which the API services is currently being accessed by the end user (customer)

originalPartnerReferenceNo
string
1 - 64 charactersRequired
Original transaction identifier on partner system
additionalInfo
json object
Additional information
additionalInfo.accessToken
string
1 - 512 charactersRequired
Contains customer token, which has been obtained from binding process, refer to Apply Token API
additionalInfo.referenceNo
string
1 - 64 charactersRequired
Additional information of transaction identifier on DANA system
POST .../v1.0/transaction-history-detail.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
{
"originalPartnerReferenceNo":"2020102900000000000001",
"additionalInfo":
{
"accessToken": "fa8sjjEj813Y9JGoqwOeOPWbnt4CUpvIJbU1mMU4a11MNDZ7Sg5u9a",
"referenceNo": "202203297381273166738217381"
}
}

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 charactersConditional
Transaction identifier on DANA system
Conditional Info
Y:= Data found
partnerReferenceNo
string
1 - 64 charactersConditional
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
Conditional Info
Y:= Data found
amount
money
Conditional
Amount. Contains two sub-fields:
  1. Value: Transaction amount, including the cents
  2. Currency: Currency code based on ISO
Conditional Info
Y:= Data found
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
cancelledTime
string
25 characters
Transaction cancelled time, in format YYYY-MM-DDTHH:mm:ssZ.
Time must be in UTC
dateTime
string
25 charactersConditional
Transaction date time, in format YYYY-MM-DDTHH:mm:ssZ.
Time must be in UTC
Conditional Info
Y:= Data found
refundAmount
money
Refund 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
remark
string
1 - 256 characters
Transaction remark
sourceOfFunds
array of json object
Source of fund used for this transaction. For this service, only use payMethod and amount parameter
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 charactersConditional
Transaction status. i.e., CLOSED, FAILED, INIT, SUCCESS, PROCESSING, EXPIRED, ISSUED, REDEEMED, REFUNDED, REVOKED
Conditional Info
Y:= Data found
type
string
1 - 32 charactersConditional
Transaction type. i.e., PAYMENT, REFUND, OFFLINE_TOPUP, TOP_UP, COMMON_REBATE, REBATE, WITHDRAW
Conditional Info
Y:= Data found
additionalInfo
string
Additional information
additionalInfo.feeAmount
money
Additional information of 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
additionalInfo.orderModifiedTime
string
25 charactersConditional
Additional information of last order modified time, in format YYYY-MM-DDTHH:mm:ssZ. Time must be in UTC
Conditional Info
Y:= Data found
additionalInfo.orderCompletedTime
string
25 characters
Additional information of order completed time, in format YYYY-MM-DDTHH:mm:ssZ.
Time must be in UTC
additionalInfo.orderExpireTime
string
25 characters
Additional information of order expired time, in format YYYY-MM-DDTHH:mm:ssZ.
Time must be in UTC
additionalInfo.ipRoleId
string
1 - 64 characters
Additional information of DANA user's IP role identifier
additionalInfo.nickname
string
1 - 64 characters
Additional information of DANA user's nickname
additionalInfo.targetIpRoleType
string
1 - 64 characters
Additional information of target's type
additionalInfo.targetIpRoleId
string
1 - 64 characters
Additional information of target's user identifier
additionalInfo.targetNickname
string
1 - 64 characters
Additional information of target's nickname
additionalInfo.externalUserId
string
1 - 64 characters
Additional information of DANA external user identifier
additionalInfo.partnerRoleId
string
1 - 64 characters
Additional information of merchant identifier
additionalInfo.partnerNickname
string
1 - 64 characters
Additional information of partner nickname
additionalInfo.orderTitle
string
1 - 64 characters
Additional information of order title
additionalInfo.isFreeze
string
1 characters
Additional information of the status of order is frozen or not.
The values are 0/1
additionalInfo.isRefunded
string
1 characters
Additional information of the status of order is refunded or not.
The values are 0/1
additionalInfo.subBizOrderType
string
1 - 64 characters
Additional information of sub business order type
additionalInfo.subBizOrderStatus
string
1 - 64 characters
Additional information of sub business order status
additionalInfo.refBizOrderId
string
1 - 64 characters
Additional information of reference business order identifier
additionalInfo.requestSource
string
1 - 64 characters
Additional information of request source
additionalInfo.userPaidAmount
money
Additional information of user paid 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
additionalInfo.bizScenario
string
1 - 32 characters
Additional information of business scenario
additionalInfo.extendInfo
string
1 - 4096 characters
Additional information of extend
additionalInfo.totalAmount
money
Additional information of total 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
additionalInfo.originalOrderAmount
money
Additional information of original order 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
additionalInfo.merchantName
string
1 - 64 characters
Additional information of merchant name
additionalInfo.productCode
string
1 - 32 characters
Additional information of product code
additionalInfo.orderDetailList
array of json object
Additional information of order detail list, contains pay order detail such as payMethod and coupon
bizOrderDetailId
string
1 - 64 characters
Business order detail identifier
bizOrderDetailType
string
1 - 32 characters
Business order detail type
detailOrderStatus
string
1 - 32 characters
Detail order status
refBizOrderDetailId
string
1 - 64 characters
Reference business order detail identifier
refBizOrderDetailType
string
1 - 32 characters
Reference business order detail type
extendInfo
string
1 - 4096 characters
Extend information
payment
json object
Payment info
acceptedTime
string
25 characters
Payment accepted time, in format YYYY-MM-DDTHH:mm:ssZ.
Time must be in UTC
amount
money
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
paymentOrderId
string
1 - 64 characters
Payment order identifier
status
string
1 - 32 characters
Payment status
paymentBizType
string
1 - 32 characters
Payment business type
paymentDetailList
array of json object
Payment detail information
moneyAmount
money
Money 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
paymentDetailId
string
1 - 64 characters
Payment detail identifier
status
string
1 - 32 characters
Pay status
coupons
array of json object
Coupons information
couponId
string
1 - 32 characters
Coupon identifier
amount
money
Coupon amount. Contains two sub-fields:
  1. Value: Coupon 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
expiredDate
string
25 characters
Coupon expired date, in format YYYY-MM-DDTHH:mm:ssZ. Time must be in UTC
couponCode
string
1 - 32 characters
Coupon code
canRefund
string
1 characters
Has values:
  • 0 = false
  • 1 = true
orderCreatedTime
string
25 characters
Order created time, in format YYYY-MM-DDTHH:mm:ssZ.
Time must be in UTC
orderCompletedTime
string
25 characters
Order completed time, in format YYYY-MM-DDTHH:mm:ssZ.
Time must be in UTC
assetBelong
string
1 - 16 characters
Asset belong to PAYER/PAYEE
totalDiscount
money
Total discount 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
accountNo
string
1 - 64 characters
Account number
instId
string
1 - 32 characters
Institution identifier
payMethod
string
1 - 32 characters
Pay method
Content-type: application/json
X-TIMESTAMP: 2020-12-18T15:55:47+07:00
{
"responseCode": "2001300",
"responseMessage": "Successful",
"referenceNo": "2020102977770000000009",
"partnerReferenceNo": "2020102900000000000001",
"amount": {
"value": "12345678.00",
"currency": "IDR"
},
"cancelledTime": "2020-12-23T08:31:11Z",
"dateTime": "2020-12-23T08:31:11Z",
"refundAmount": {
"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": {
"feeAmount": {
"currency": "IDR",
"value": "0.00"
},
"orderModifiedTime": "2020-12-23T08:31:11Z",
"orderCompletedTime": "2020-12-23T08:31:11Z",
"orderExpiryTime": "2020-12-23T08:31:11Z",
"ipRoleId": "216610000187003188462",
"nickname": "85158225425",
"targetIpRoleType": "SELLER",
"targetIpRoleId": "216610000187003188463",
"targetNickname":"Warung Ikan Bakar",
"externalUserId": "531481296",
"partnerRoleId": "216620000001496726697",
"partnerNickname": "Warung Ikan Bakar",
"orderTitle": "Order BL2217EBTY99INV Payment Reduction",
"isFreeze": "0",
"isRefunded": "0",
"subBizOrderType": "REFUND_TO_SOURCE",
"subBizOrderStatus": "SUCCESS",
"refBizOrderId": "20211309111212800100166262022329202",
"requestSource": "EMPTY",
"userPaidAmount": {
"currency": "IDR",
"value": "0.00"
},
"bizScenario": "PAYMENT",
"extendInfo": "{\"key\":\"value\"}",
"totalAmount": {
"currency": "IDR",
"value": "1000.00"
},
"originalOrderAmount": {
"currency": "IDR",
"value": "0.00"
},
"merchantName": "Bukalapak",
"productCode": "51051000100000000031",
"orderDetailList": [
{
"bizOrderDetailId": "2021939218318391283912839183",
"bizOrderDetailType": "VIRTUAL",
"detailOrderStatus": "SUCCESS",
"refBizOrderDetailId": "63721632713712367213",
"refBizOrderDetailType": "VIRTUAL",
"extendInfo": "{\"key\":\"value\"}",
"payment": {
"acceptedTime": "2020-12-23T08:31:11Z",
"amount": {
"currency": "IDR",
"value": "1000.00"
},
"paymentOrderId": "2022030910110000010000DANAW3ID166468845688115",
"status": "SUCCESS",
"paymentBizType": "AMOUNT_PREPARE",
"paymentDetailList": [
{
"moneyAmount": {
"currency": "IDR",
"value": "1000.00"
},
"paymentDetailId": "2022030910110000014000DANAW3ID166468817381257",
"status": "SUCCESS",
"coupons": [],
"orderCreatedTime": "2020-12-23T08:31:11Z",
"orderCompletedTime": "2020-12-23T08:31:11Z",
"assetBelong": "PAYEE",
"totalDiscount": {}
},
{
"accountNo": "20070000000021365694",
"moneyAmount": {
"currency": "IDR",
"value": "1000.00"
},
"paymentDetailId": "2022030910110000019000DANAW3ID166468817381256",
"status": "SUCCESS",
"coupons": [],
"orderCreatedTime": "2020-12-23T08:31:11Z",
"orderCompletedTime": "2020-12-23T08:31:11Z",
"assetBelong": "PAYER",
"totalDiscount": {}
}
]
}
},
{
"bizOrderDetailType": "VIRTUAL",
"payment": {
"acceptedTime": "2020-12-23T08:31:11Z",
"amount": {
"currency": "IDR",
"value": "1000.00"
},
"paymentOrderId": "2022030910110000040000DANAW3ID166468826144818",
"status": "SUCCESS",
"paymentBizType": "REFUND",
"paymentDetailList": [
{
"instId": "DANAW3ID",
"moneyAmount": {
"currency": "IDR",
"value": "1000.00"
},
"paymentDetailId": "2022030910110000041200DANAW3ID166468826336292",
"payMethod": "REBATE",
"status": "SUCCESS",
"coupons": [
{
"couponId": "2022030910111500110000000000460005785026",
"amount": {
"currency": "IDR",
"value": "1000.00"
},
"expiredDate": "2020-12-23T08:31:11Z",
"couponCode": "DANA",
"canRefund": "0"
}
],
"orderCreatedTime": "2020-12-23T08:31:11Z",
"orderCompletedTime": "2020-12-23T08:31:11Z",
"assetBelong": "PAYEE",
"totalDiscount": {
"currency": "IDR",
"value": "1000.00"
}
},
{
"moneyAmount": {
"currency": "IDR",
"value": "1000.00"
},
"paymentDetailId": "2022030910110000044000DANAW3ID166468826336293",
"status": "SUCCESS",
"coupons": [],
"orderCreatedTime": "2020-12-23T08:31:11Z",
"orderCompletedTime": "2020-12-23T08:31:11Z",
"assetBelong": "PAYER",
"totalDiscount": {}
}
]
}
}
]
}
}


ResponseCauseSolution
2001300Successful
Success to be processed
Mark Transaction Detail process as Success
4001300Bad Request
General request failed error
Mark Transaction Detail process as Failed. Retry request with proper parameter
4001301Invalid Field Format
Invalid format for certain field
Mark Transaction Detail process as Failed. Retry request with proper parameter
4001302Invalid Mandatory Field
Missing or invalid format on mandatory field
Mark Transaction Detail process as Failed. Retry request with proper parameter
4011300Unauthorized. [reason]
General unauthorized error
Mark Transaction Detail process as Failed. Retry request with proper parameter
4011302Invalid Customer Token
Customer token are invalid, perhaps due to token expiry
Mark Transaction Detail process as Failed. Retry request with proper parameter
4011304Customer Token Not Found
Customer token not found in the system. This occurs on any API that requires token as input parameter
Mark Transaction Detail process as Failed. Retry request with proper parameter
4041301Transaction Not Found
Transaction not found
Mark Transaction Detail process as Failed. Retry request periodically
4291300Too Many Requests
Maximum transaction limit exceeded
Mark Transaction Detail process as Failed. Retry request periodically
5001300General Error
General error non retry-able
Mark Transaction Detail process as Failed. Retry request periodically
5001301Internal Server Error
Unknown internal server failure, please retry the process again
Mark Transaction Detail 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 Detail 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 Detail process as Failed
  • If empty field/field does not exist, mark Transaction Detail process as Failed