This API is used to get merchant's transaction history detail
Path | /{version}/transaction-history-detail |
---|---|
HTTP Method | POST |
Version | v1.0 |
SNAP Service Code | 13 |
Request Header
Field Name | Field Type | Mandatory | Field Description |
---|---|---|---|
Content-type | String | M | Media type of the resource, i.e. application/json |
X-TIMESTAMP | String | M | Client’s current local time in ISO-8601 format |
X-SIGNATURE | String | M | Unique identifier for partner |
Authorization | String | M | Represents access_token of a request; string starts with keyword “Bearer ” followed by access_token. Can get this token from Access Token B2B response |
X-PARTNER-ID | String | M | Unique identifier for partner |
X-EXTERNAL-ID | String | M | Alphanumeric string. Preferably UUID. Reference number that should be unique in the same day or 1 day idempotency key |
CHANNEL-ID | String | M | Device identification on which the API services are currently being accessed by the end user. Given by BI |
Content-type: application/json
X-TIMESTAMP: 2020-12-18T15:34:40+07:00
X-SIGNATURE: 85be817c55b2c135157c7e89f52499bf0c25ad6eeebe04a986e8c862561b19a5
Authorization: Bearer gp9HjjEj813Y9JGoqwOeOPWbnt4CUpvIJbU1mMU4a11MNDZ7Sg5u9a
X-PARTNER-ID: 82150823919040624621823174737537
X-EXTERNAL-ID: 41807553358950093184162180797837
CHANNEL-ID: 95221
Request Body
Field Name | Field Type | Mandatory | Field Description |
---|---|---|---|
originalPartnerReferenceNo | String(64) | M | Transaction identifier on service consumer system |
additionalInfo | Object | M | Additional information |
additionalInfo.referenceNo | String(64) | M | Transaction identifier on service provider system |
{
"originalPartnerReferenceNo": "2020102900000000000001",
"additionalInfo": {
"referenceNo": "2020102977770000000009"
}
}
Response Header
Field Name | Field Type | Mandatory | Field Description |
---|---|---|---|
Content-type | String | M | Media type of the resource, i.e. application/json |
X-TIMESTAMP | String | M | Client’s current local time in ISO-8601 format |
Content-type: application/json
X-TIMESTAMP: 2020-12-18T15:34:40+07:00
Response Body
Field Name | Field Type | Mandatory | Field Description |
---|---|---|---|
responseCode | String(7) | M | Response code (HTTP status code + service code + case code) |
responseMessage | String(150) | M | Response description |
referenceNo | String(64) | M | Transaction identifier on service provider system |
partnerReferenceNo | String(64) | M | Transaction identifier on service consumer system |
dateTime | String(25) | M | Transaction created time in ISO-8601 format |
amount | Object | M | Amount information |
amount.value | String(16,2) | M | Net amount of the transaction |
amount.currency | String(3) | M | Currency |
remark | String(256) | O | Transaction remark (only applicable for Midtrans transaction type DISBURSEMENT) |
status | String(32) | M | Transaction status (BI-SNAP) |
type | String(32) | M | Transaction type (BI-SNAP) |
additionalInfo | Object | O | Additional information |
additionalInfo.status | String(32) | M | Transaction status (Midtrans). List of statuses can be referred here |
additionalInfo.type | String(32) | M | Transaction type (Midtrans). List of types can be referred here |
additionalInfo.updatedTime | String(25) | M | Transaction updated time in ISO-8601 format |
additionalInfo.channel | String(100) | M | Transaction channel. List of channels can be referred here |
additionalInfo.customerEmail | String(100) | O | Customer email |
additionalInfo.accountNo | String(32) | O | Account number |
additionalInfo.payment | Object | O | Payment related information |
payment.expiryTime | String(25) | M | Payment expiry time in ISO-8601 format |
payment.source | String(20) | M | Payment source. List of payment sources can be referred here |
payment.cardNumber | String | O | Credit card number |
payment.cardType | String | O | Credit card type |
payment.cardChannelResponseCode | String | O | Credit card response code |
payment. cardChannelResponseMessage | String | O | Credit card response message |
payment.issuingBrand | String | O | Credit card issuing brand |
payment.issuingBank | String | O | Credit card issuing bank |
payment.issuingCountryCode | String | O | Credit card issuing country code |
payment.issuingCountryName | String | O | Credit card issuing country name |
payment.acquiringBank | String | O | Credit card acquiring bank |
payment.retrievalReferenceNumber | String | O | Credit card retrieval reference number |
payment.fdsRecommendation | String | O | Credit card FDS recommendation |
payment.creditCardSecure | String | O | Credit card secure |
payment.bankMid | String | O | Credit card bank mid |
payment.bankResponseCode | String | O | Credit card bank response code |
payment.isOneClick | boolean | O | Credit card is one click |
payment.isTwoClick | boolean | O | Credit card is two click |
payment.installmentTerm | String | O | Credit card installment term |
payment.installmentType | String | O | Credit card installment type |
payment.redeemedPointsAmount | String | O | Credit card redeemed points amount |
payment.redeemedPointsQuantity | String | O | Credit card redeemed points quantity |
payment.networkTransactionId | String | O | Credit card network transaction id |
payment.store | String | O | Convenient store name, i.e: indomaret, alfamart |
payment.paymentCode | String | O | Convenient store payment code |
payment.trackingRef | String | O | Convenient store tracking reference (only for Indomaret) |
payment.agentTransactionId | String | O | Convenient store agent transaction id (only for Alfarmart) |
payment.virtualAccountNumber | String | O | Virtual account number |
payment.bcaVaChannel | String | O | Virtual account channel (only for BCA) |
payment.bniVaType | String | O | Virtual account type, e.g: open_payment, fixed_payment (only for BNI) |
payment.bniLeftAmount | String | O | Virtual account left amount (only for BNI) |
payment.qrisOnUs | boolean | O | QRIS is on us |
payment.qrisReferenceNumber | String | O | QRIS reference number |
payment.qrisIssuer | String | O | QRIS issuer |
payment.qrisIssuerTransactionId | String | O | QRIS issuer transaction id |
payment.qrisAcquirer | String | O | QRIS acquirer |
payment.qrisAcquirerTransactionId | String | O | QRIS acquirer transaction id |
payment.gopaySource | String | O | GoPay source |
payment.gopayPaymentOption | String | O | GoPay payment options |
payment.merchantCrossReferenceId | String | O | GoPay unique ID per merchant as an identifier in tokenization activation |
payment.mandiriBillKey | String | O | Mandiri Bill key |
payment.mandiriBillChannelId | String | O | Mandiri Bill channel id |
payment.mandiriBillInfos | Array of String | O | Mandiri Bill informations |
payment.mandiriBillPaidBills | String | O | Mandiri Bill paid bills |
payment.mandiriBillPaymentAmount | String | O | Mandiri Bill payment amount |
payment.akulakuOrderId | String | O | Akulaku order id |
payment.akulakuPeriods | String | O | Akulaku periods |
payment. akulakuMonthlyInstallmentPayment | String | O | Akulaku monthly installment payment |
payment.kredivoTransactionId | String | O | Kredivo transaction id |
payment.kredivoInstallmentTerm | String | O | Kredivo installment term |
payment.shopeepayTransactionId | String | O | ShopeePay transaction id |
payment.uobEzpayTransactionTime | String | O | UOB EZ Pay transaction time |
payment.uobEzpayNotificationId | String | O | UOB EZ Pay notification id |
payment.uobEzpayBankReference | String | O | UOB EZ Pay bank reference |
payment. cimbClicksReferenceNumber | String | O | CIMB Clicks reference number |
payment.cimbClicksAuthCode | String | O | CIMB Clicks auth code |
payment. bcaKlikpayTransactionNumber | String | O | BCA KlikPay transaction number |
payment.bcaKlikpayType | String | O | BCA KlikPay type |
payment. bcaKlikbcaTransactionNumber | String | O | KlikBCA transaction number |
payment.bcaKlikbcaUserId | String | O | KlikBCA user id |
payment. briEpayPaymentReferenceNumber | String | O | e-Pay BRI payment reference number |
payment. briEpayBillReferenceNumber | String | O | e-Pay BRI bill reference number |
payment.briEpayUserFullName | String | O | e-Pay BRI user full name |
payment.mandiriEcashId | String | O | Mandiri e-Cash id |
payment.mandiriEcashTraceNumber | String | O | Mandiri e-Cash trace number |
payment.mandiriEcashPhoneNumber | String | O | Mandiri e-Cash phone number |
payment.mandiriEcashDescription | String | O | Mandiri e-Cash description |
payment. danamonOnline PaymentReferenceNumber | String | O | Danamon Online payment reference number |
payment. danamonOnlineBillReferenceNumber | String | O | Danamon Online bill reference number |
payment.linkajaResultCode | String | O | LinkAja result code |
payment.linkajaReferenceId | String | O | LinkAja reference id |
payment.linkajaReceiptNumber | String | O | LinkAja receipt number |
payment. linkajaOriginatorConversationId | String | O | LinkAja originator conversation id |
payment.linkajaConversationId | String | O | LinkAja conversation id |
payment.dbsPaylahMessageId | String | O | LinkAja message id |
payment.dbsPaylahReferenceId | String | O | DBS Paylah! reference id |
payment.paypalTransactionId | String | O | PayPal transaction id |
payment.refunds | Array of Object | O | Refunds information |
refunds.id | String | O | Refund id |
refunds.amount.value | String | O | Refund amount of the transaction |
refunds.amount.currency | String | O | Refund currency |
refunds.reason | String | O | Refund reason |
refunds.createdTime | String(25) | O | Refund created time in in ISO-8601 format |
refunds.bankConfirmedTime | String(25) | O | Refund bank confirmed time in in ISO-8601 format |
refunds.cancelledTime | String(25) | O | Refund cancelled time in in ISO-8601 format |
payment.customer | Object | O | Customer information |
customer.firstName | String | O | Customer first name |
customer.lastName | String | O | Customer last name |
customer.email | String | O | Customer email |
customer.phone | String | O | Customer phone |
payment.shippingAddress | String | O | Shipping address information |
shippingAddress.firstName | String | O | Shipping first name |
shippingAddress.lastName | String | O | Shipping last name |
shippingAddress.phone | String | O | Shipping phone |
shippingAddress.postalCode | String | O | Shipping postalCode |
shippingAddress.countryCode | String | O | Shipping postal code |
shippingAddress.city | String | O | Shipping city |
shippingAddress.address | String | O | Shipping address |
payment.items | Array of Object | O | Items information |
items.id | String | O | Item identifier on service provider system |
items.partnerId | String | O | Item identifier on service consumer system |
items.name | String | O | Item name |
items.quantity | String | O | Item quantity |
items.price.value | String | O | Item price |
payment.promo | Object | O | Promo information |
promo.id | String | O | Promo identifier |
promo.code | String | O | Promo code |
promo.name | String | O | Promo name |
promo.sponsor | String | O | Promo sponsor |
promo.originalAmount.value | String | O | Promo original amount |
promo.discountAmount.value | String | O | Promo discountAmount |
promo.userIp | String | O | User IP address when using the promo |
additionalInfo.withdrawal | Object | O | Withdrawal related information |
withdrawal.bankName | String | O | Withdrawal bank name |
withdrawal.bankCode | String | O | Withdrawal bank code |
withdrawal.accountNo | String | O | Withdrawal account number |
withdrawal.accountName | String | O | Withdrawal account name |
withdrawal.requestedTime | String | O | Withdrawal requested time in ISO-8601 format |
withdrawal.successTime | String | O | Withdrawal success time in ISO-8601 format |
withdrawal.failedTime | String | O | Withdrawal failed time in ISO-8601 format |
withdrawal.cancelledTime | String | O | Withdrawal cancelled time in ISO-8601 format |
additionalInfo.disbursement | Object | O | Disbursement related information |
disbursement.sourceBankCode | String | O | Disbursement source bank code |
disbursement.sourceAccountNo | String | O | Disbursement source account number |
disbursement.beneficiaryEmail | String | O | Disbursement beneficiary email |
disbursement.beneficiaryName | String | O | Disbursement beneficiary name |
disbursement.beneficiaryBankCode | String | O | Disbursement beneficiary bank code |
disbursement.beneficiaryBankName | String | O | Disbursement beneficiary bank name |
disbursement.beneficiaryAccountNo | String | O | Disbursement beneficiary account number |
disbursement.creatorEmail | String | O | Disbursement creator email |
disbursement.creatorName | String | O | Disbursement creator name |
disbursement.approverEmail | String | O | Disbursement approver email |
disbursement.approverName | String | O | Disbursement approver name |
disbursement.requestedTime | String(25) | O | Disbursement requested time in ISO-8601 format |
disbursement.approvedTime | String(25) | O | Disbursement approved time in ISO-8601 format |
disbursement.rejectedTime | String(25) | O | Disbursement rejected time in ISO-8601 format |
disbursement.processedTime | String(25) | O | Disbursement processed time in ISO-8601 format |
disbursement.completedTime | String(25) | O | Disbursement completed time in ISO-8601 format |
disbursement.failedTime | String(25) | O | Disbursement failed time in ISO-8601 format |
disbursement.failureMessage | String | O | Disbursement failure message |
disbursement.failureCode | String | O | Disbursement failure code |
additionalInfo.fee | Object | M | Fee information |
fee.value | String(16,2) | M | Net amount of fee |
fee.currency | String(3) | M | Currency |
{
"responseCode": "2001300",
"responseMessage": "Success",
"referenceNo": "2020102977770000000009",
"partnerReferenceNo": "2020102900000000000001",
"dateTime": "2019-07-03T12:08:56+07:00",
"amount": {
"value": "12345678.00",
"currency": "IDR"
},
"remark": "Payment to Warung Ikan Bakar",
"status": "SUCCESS",
"type": "PAYMENT",
"additionalInfo": {
"status": "SETTLEMENT",
"type": "PAYMENT",
"updatedTime": "2019-07-03T12:08:56+07:00",
"channel": "qris",
"customerEmail": "[email protected]",
"accountNo": "123456",
"payment": {
"expiryTime": "2019-07-03T12:08:56+07:00",
"source": "SNAP",
"providerReferenceId": "A120240108151754NxoeRNYP4YID",
"approvalCode": "100127",
// Credit Card
"cardNumber": "4556 5579 **** 6624",
"cardType": "credit",
"cardChannel": "mti",
"cardChannelResponseCode": "00",
"cardChannelResponseMessage": "Approved",
"issuingBrand": "VISA",
"issuingBank": "bca",
"issuingCountryCode": "US",
"issuingCountryName": "UNITEDSTATES",
"acquiringBank": "mandiri",
"retrievalReferenceNumber": "736620222955",
"fdsRecommendation": "accept",
"creditCardSecure": true,
"bankMid": "1100889977",
"bankResponseCode": "00",
"isOneClick": false,
"isTwoClick": false,
"installmentTerm": "",
"installmentType": "",
"redeemedPointsAmount": {
"value": "5000.00",
"currency": "IDR"
},
"redeemedPointsQuantity": "10",
"networkTransactionId": "606345944234331",
// Convenient Store
"store": "indomaret",
"paymentCode": "901083200026",
"trackingRef": "82851212597196801", // indomaret
"agentTransactionId": "cZkpKVCOibLOeEp", // alfamart
// Bank Transfer / Virtual Account
"virtualAccountNumber": "96883778474",
"bcaVaChannel": "Internet Banking",
"bniVaType": "open_payment",
"bniLeftAmount": {
"value": "-3.00",
"currency": "IDR"
},
// QRIS
"qrisOnUs": false,
"qrisReferenceNumber": "A120240108151754NxoeRNYP4YID",
"qrisIssuer": "gopay",
"qrisIssuerTransactionId": "A120240108151754NxoeRNYP4YID",
"qrisAcquirer": "gopay",
"qrisAcquirerTransactionId": "A120240108151754NxoeRNYP4YID",
// GoPay
"gopaySource": "gopay_online",
"gopayPaymentOption": "GOPAY_WALLET",
"merchantCrossReferenceId": "760fbd7c-6720-4bb6-88f9-2a75ad8c1173",
// Mandiri Bill
"mandiriBillKey": "213916480962",
"mandiriBillInfos": ["rizvi gopay"],
"mandiriBillChannelId": "1234",
"mandiriBillPaidBills": "01",
"mandiriBillPaymentAmount": {
"value": "10000.00",
"currency": "IDR"
},
// Akulaku
"akulakuOrderId": "A120240223061624q0ouIEgan1ID-1",
"akulakuPeriods": "",
"akulakuMonthlyInstallmentPayment": "5000",
// Kredivo
"kredivoTransactionId": "12a1c87c-74c9-4819-aa37-4f74acff9c07",
"kredivoInstallmentTerm": "30_days",
// ShopeePay
"shopeepayTransactionId": "960774027066627564",
// UOB EZ Pay
"uobEzpayTransactionTime": "2019-07-03T12:08:56+07:00",
"uobEzpayNotificationId": "asdfgh",
"uobEzpayBankReference": "zxcvbn",
// CIMB Clicks
"cimbClicksReferenceNumber": "000000000000071969",
"cimbClicksAuthCode": "1708428664718",
// BCA KlikPay
"bcaKlikpayTransactionNumber": "1693622",
"bcaKlikpayType": "1",
// KlikBCA
"bcaKlikbcaTransactionNumber": "12078115af80447e97",
"bcaKlikbcaUserId": "testuser01",
// e-Pay BRI
"briEpayPaymentReferenceNumber": "1696937935399",
"briEpayBillReferenceNumber": "294634661",
"briEpayUserFullName": "Midtrans",
// Mandiri e-Cash
"mandiriEcashId": "cf7989fe-1873-4ecd-a933-3c833a8b9f8b",
"mandiriEcashTraceNumber": "xyzxyz",
"mandiriEcashPhoneNumber": "0987654321",
"mandiriEcashDescription": "Transaction Description",
// Danamon Online
"danamonOnlinePaymentReferenceNumber": "i1ji2X9Rzc19GR",
"danamonOnlineBillReferenceNumber": "166526",
// LinkAja
"linkajaResultCode": "0",
"linkajaReceiptNumber": "D5AF930801",
"linkajaReferenceId": "test-order-1706005255",
"linkajaOriginatorConversationId": "6310bd69-ddea-4550-a746-a6afce00a7ef",
"linkajaConversationId": "01HMTXCNTGZNPHRZ6X4804VFAY",
// DBS PayLah!
"dbsPaylahReferenceId": "17086717018447aab035",
"dbsPaylahMessageId": "a4-9c7c-05a98c507aab",
// PayPal
"paypalTransactionId": "qee0evgt",
"refunds": [
{
"id": "12345",
"amount": {
"value": "5000.00",
"currency": "IDR"
},
"reason": "need to refund",
"createdTime": "2019-07-03T12:08:56+07:00",
"bankConfirmedTime": "2019-07-03T12:08:56+07:00",
"cancelledTime": "2019-07-03T12:08:56+07:00"
}
],
"customer": {
"firstName": "John",
"lastName": "Doe",
"email": "[email protected]",
"phone": "+62812131415"
},
"shippingAddress": {
"firstName": "John",
"lastName": "Doe",
"phone": "+62812131415",
"postalCode": "123456",
"countryCode": "21",
"city": "Jakarta",
"address": "Pasaraya Blok M"
},
"items": [
{
"id": "2a17f5a2-4150-31db-9880-b10dd503c93d",
"partnerId": "item001",
"name": "Test item",
"quantity": "1",
"price": {
"value": "10000.00",
"currency": "IDR"
}
}
],
"promo": {
"id": "promo1",
"code": "TESTPROMO",
"name": "Promo buy 1 get 2",
"sponsor": "Midtrans",
"originalAmount": {
"value": "25000.00",
"currency": "IDR"
},
"discountAmount": {
"value": "5000.00",
"currency": "IDR"
},
"userIp": "10.128.20.227"
}
},
"withdrawal": {
"bankName": "PT. BANK MANDIRI (PERSERO) TBK.",
"bankCode": "mandiri",
"accountNo": "1111222233333",
"accountName": "Mandiri Simulator A",
"requestedTime": "2019-07-03T12:08:56+07:00",
"successTime": "2019-07-03T12:08:56+07:00",
"failedTime": "2019-07-03T12:08:56+07:00",
"cancelledTime": "2019-07-03T12:08:56+07:00"
},
"disbursement": {
"sourceBankCode": "bca",
"sourceAccountNo": "4433221100",
"beneficiaryEmail": "[email protected]",
"beneficiaryName": "BCA Simulator A",
"beneficiaryBankCode": "bca",
"beneficiaryBankName": "PT. BANK CENTRAL ASIA TBK.",
"beneficiaryAccountNo": "0011223344",
"creatorEmail": "[email protected]",
"creatorName": "MLA creator",
"approverEmail": "[email protected]",
"approverName": "MLA approver",
"requestedTime": "2019-07-03T12:08:56+07:00",
"approvedTime": "2019-07-03T12:08:56+07:00",
"rejectedTime": "2019-07-03T12:08:56+07:00",
"processedTime": "2019-07-03T12:08:56+07:00",
"completedTime": "2019-07-03T12:08:56+07:00",
"failedTime": "2019-07-03T12:08:56+07:00",
"failureMessage": "invalid destination account number",
"failureCode": "002"
},
"fee": {
"value": "1000.00",
"currency": "IDR"
}
}
}
{
"responseCode": "4011200",
"responseMessage": "Unauthorized. Client"
}
List of Response Codes
Response Code | HTTP Status | Description |
---|---|---|
2001300 | 200 | Successful |
4001301 | 400 | Invalid field format {........} |
4001302 | 400 | Missing mandatory field {........} |
4011300 | 401 | Unauthorized signature |
4011301 | 401 | Access token invalid |
4041301 | 404 | Transaction not found |
4091300 | 409 | Cannot use same X-EXTERNAL-ID in same day |
5001301 | 500 | Unknown internal server failure, please retry the process again |