Transaction History Detail API

📘

Please make sure to use BI SNAP Credentials to utilize any of the Reporting APIs. Refer to here to understand how to retrieve your credentials.


This API is used to get merchant's transaction history detail

Path/{version}/transaction-history-detail
HTTP MethodPOST
Versionv1.0
SNAP Service Code13

Request Header

Field NameField TypeMandatoryField Description
Content-typeStringMMedia type of the resource, i.e. application/json
X-TIMESTAMPStringMClient’s current local time in ISO-8601 format
X-SIGNATUREStringMUnique identifier for partner
AuthorizationStringMRepresents 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-IDStringMUnique identifier for partner
X-EXTERNAL-IDStringMAlphanumeric string. Preferably UUID. Reference number that should be unique in the same day or 1 day idempotency key
CHANNEL-IDStringMDevice 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 NameField TypeMandatoryField Description
originalPartnerReferenceNoString(64)MTransaction identifier on service consumer system
additionalInfoObjectMAdditional information
additionalInfo.referenceNoString(64)MTransaction identifier on service provider system
{
  "originalPartnerReferenceNo": "2020102900000000000001",
  "additionalInfo": {
    "referenceNo": "2020102977770000000009"
  }
}

Response Header

Field NameField TypeMandatoryField Description
Content-typeStringMMedia type of the resource, i.e. application/json
X-TIMESTAMPStringMClient’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 CodeHTTP StatusDescription
2001300200Successful
4001301400Invalid field format {........}
4001302400Missing mandatory field {........}
4011300401Unauthorized signature
4011301401Access token invalid
4041301404Transaction not found
4091300409Cannot use same X-EXTERNAL-ID in same day
5001301500Unknown internal server failure, please retry the process again