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 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)
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: 72635bdfd223yvjm7246nsdj34hd4559393kjh42"
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
Longitude: -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
Longitude: -074.00
CHANNEL-ID
string
1 - 5 charactersRequiredDevice identification on which the API services is currently being accessed by the end user (customer)
originalPartnerReferenceNo
string
1 - 64 charactersRequiredOriginal transaction identifier on partner system
additionalInfo
json object
Additional information
additionalInfo.accessToken
string
1 - 512 charactersRequiredContains customer token, which has been obtained from binding process, refer to Apply Token API
additionalInfo.referenceNo
string
1 - 64 charactersRequiredAdditional 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 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
referenceNo
string
1 - 64 charactersConditionalTransaction identifier on DANA system
Conditional Info
Y:= Data found
partnerReferenceNo
string
1 - 64 charactersConditionalUnique 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
Conditional Info
Y:= Data found
amount
money
ConditionalAmount. Contains two sub-fields:
- Value: Transaction amount, including the cents
- Currency: Currency code based on ISO
Conditional Info
Y:= Data found
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
cancelledTime
string
25 charactersTransaction cancelled time, in format YYYY-MM-DDTHH:mm:ssZ.
Time must be in UTC
Time must be in UTC
dateTime
string
25 charactersConditionalTransaction date time, in format YYYY-MM-DDTHH:mm:ssZ.
Time must be in UTC
Time must be in UTC
Conditional Info
Y:= Data found
refundAmount
money
Refund amount. Contains two sub-fields:
- Value: Amount, including the cents
- 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 json object
Source of fund used for this transaction. For this service, only use payMethod and amount parameter
source
string
1 - 64 charactersRequiredFund source
amount
money
RequiredAmount. Contains two sub-fields:
- Value: Transaction amount, including the cents
- 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 charactersConditionalTransaction status. i.e.,
CLOSED, FAILED, INIT, SUCCESS, PROCESSING, EXPIRED, ISSUED, REDEEMED, REFUNDED, REVOKED
Conditional Info
Y:= Data found
type
string
1 - 32 charactersConditionalTransaction 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:
- Value: Amount, including the cents
- 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.orderModifiedTime
string
25 charactersConditionalAdditional 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 charactersAdditional information of order completed time, in format YYYY-MM-DDTHH:mm:ssZ.
Time must be in UTC
Time must be in UTC
additionalInfo.orderExpireTime
string
25 charactersAdditional information of order expired time, in format YYYY-MM-DDTHH:mm:ssZ.
Time must be in UTC
Time must be in UTC
additionalInfo.ipRoleId
string
1 - 64 charactersAdditional information of DANA user's IP role identifier
additionalInfo.nickname
string
1 - 64 charactersAdditional information of DANA user's nickname
additionalInfo.targetIpRoleType
string
1 - 64 charactersAdditional information of target's type
additionalInfo.targetIpRoleId
string
1 - 64 charactersAdditional information of target's user identifier
additionalInfo.targetNickname
string
1 - 64 charactersAdditional information of target's nickname
additionalInfo.externalUserId
string
1 - 64 charactersAdditional information of DANA external user identifier
additionalInfo.partnerRoleId
string
1 - 64 charactersAdditional information of merchant identifier
additionalInfo.partnerNickname
string
1 - 64 charactersAdditional information of partner nickname
additionalInfo.orderTitle
string
1 - 64 charactersAdditional information of order title
additionalInfo.isFreeze
string
1 charactersAdditional information of the status of order is frozen or not.
The values are
The values are
0/1
additionalInfo.isRefunded
string
1 charactersAdditional information of the status of order is refunded or not.
The values are
The values are
0/1
additionalInfo.subBizOrderType
string
1 - 64 charactersAdditional information of sub business order type
additionalInfo.subBizOrderStatus
string
1 - 64 charactersAdditional information of sub business order status
additionalInfo.refBizOrderId
string
1 - 64 charactersAdditional information of reference business order identifier
additionalInfo.requestSource
string
1 - 64 charactersAdditional information of request source
additionalInfo.userPaidAmount
money
Additional information of user paid amount. Contains two sub-fields:
- Value: Amount, including the cents
- 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.bizScenario
string
1 - 32 charactersAdditional information of business scenario
additionalInfo.extendInfo
string
1 - 4096 charactersAdditional information of extend
additionalInfo.totalAmount
money
Additional information of total amount. Contains two sub-fields:
- Value: Amount, including the cents
- 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.originalOrderAmount
money
Additional information of original order amount. Contains two sub-fields:
- Value: Amount, including the cents
- 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.merchantName
string
1 - 64 charactersAdditional information of merchant name
additionalInfo.productCode
string
1 - 32 charactersAdditional 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 charactersBusiness order detail identifier
bizOrderDetailType
string
1 - 32 charactersBusiness order detail type
detailOrderStatus
string
1 - 32 charactersDetail order status
refBizOrderDetailId
string
1 - 64 charactersReference business order detail identifier
refBizOrderDetailType
string
1 - 32 charactersReference business order detail type
extendInfo
string
1 - 4096 charactersExtend information
payment
json object
Payment info
acceptedTime
string
25 charactersPayment accepted time, in format YYYY-MM-DDTHH:mm:ssZ.
Time must be in UTC
Time must be in UTC
amount
money
Amount. Contains two sub-fields:
- Value: Transaction amount, including the cents
- 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
paymentOrderId
string
1 - 64 charactersPayment order identifier
status
string
1 - 32 charactersPayment status
paymentBizType
string
1 - 32 charactersPayment business type
paymentDetailList
array of json object
Payment detail information
moneyAmount
money
Money amount. Contains two sub-fields:
- Value: Amount, including the cents
- 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
paymentDetailId
string
1 - 64 charactersPayment detail identifier
status
string
1 - 32 charactersPay status
coupons
array of json object
Coupons information
couponId
string
1 - 32 charactersCoupon identifier
amount
money
Coupon amount. Contains two sub-fields:
- Value: Coupon amount, including the cents
- 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
expiredDate
string
25 charactersCoupon expired date, in format YYYY-MM-DDTHH:mm:ssZ. Time must be in UTC
couponCode
string
1 - 32 charactersCoupon code
canRefund
string
1 charactersHas values:
0
= false1
= true
orderCreatedTime
string
25 charactersOrder created time, in format YYYY-MM-DDTHH:mm:ssZ.
Time must be in UTC
Time must be in UTC
orderCompletedTime
string
25 charactersOrder completed time, in format YYYY-MM-DDTHH:mm:ssZ.
Time must be in UTC
Time must be in UTC
assetBelong
string
1 - 16 charactersAsset belong to PAYER/PAYEE
totalDiscount
money
Total discount amount. Contains two sub-fields:
- Value: Amount, including the cents
- 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
accountNo
string
1 - 64 charactersAccount number
instId
string
1 - 32 charactersInstitution identifier
payMethod
string
1 - 32 charactersPay 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": {}
}
]
}
}
]
}
}
Response | Cause | Solution |
---|---|---|
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) |
|