For archived content, access the previous documentation here or the previous API reference here.

Get Transaction by ID

Prev Next
Get
/transactions/{transaction_id}

Request this endpoint to get single specific transaction details by transaction id. If you need to search by other parameters or to get multiple results, see list transactions.

Security
HTTP
Type Basic
Header parameters
for-user-id
string

The sub-account user-id that you want to make this transaction for.

This header is only used if you have access to xenPlatform. See xenPlatform for more information

Path parameters
transaction_id
stringRequired

Unique ID generated by Xendit for the particular transaction

Responses
200

Successful operation

getTransaction
{
  "id": "txn_pay_1234567890abcdef",
  "product_id": "py-123e4567-e89b-12d3-a456-426614174000",
  "type": "PAYMENT",
  "status": "SUCCESS",
  "channel_category": "EWALLET",
  "channel_code": "ID_SHOPEEPAY",
  "reference_id": "payref-123456",
  "account_identifier": null,
  "currency": "IDR",
  "amount": 100000,
  "net_amount": 99000,
  "net_amount_currency": "IDR",
  "cashflow": "MONEY_IN",
  "settlement_status": "SETTLED",
  "estimated_settlement_time": "2025-06-01T10:00:00Z",
  "business_id": "1234567890abcdef",
  "created": "2025-06-01T09:59:00Z",
  "updated": "2025-06-01T10:01:00Z",
  "fee": {
    "xendit_fee": 1000,
    "value_added_tax": 0,
    "xendit_withholding_tax": 0,
    "third_party_withholding_tax": 0,
    "status": "COMPLETED"
  },
  "product_data": {
    "capture_id": "cap-e1a8b3e8-5b4a-4b1a-8b0e-4e8b1a8b0e4e",
    "payment_request_id": "pr-e1a8b3e8-5b4a-4b1a-8b0e-4e8b1a8b0e4f"
  }
}
getConversionTransaction
{
  "id": "txn_3365895e-3cc1-490a-b48c-2757ce8ab0e5",
  "product_id": "cmanl0vtp000101u9lqbvn7im",
  "type": "CONVERSION",
  "status": "SUCCESS",
  "channel_category": "OTHER",
  "channel_code": "DEFAULT",
  "reference_id": "cmanl0vtp000101u9lqbvn7im",
  "account_identifier": null,
  "currency": "SGD",
  "amount": 6.55,
  "net_amount": 5.2,
  "net_amount_currency": "USD",
  "cashflow": "MONEY_IN",
  "settlement_status": "SETTLED",
  "estimated_settlement_time": "2025-05-14T06:51:08.999Z",
  "business_id": "675bdaf542c2f448122e71d5",
  "created": "2025-05-14T06:51:08.998Z",
  "updated": "2025-05-14T06:52:34.196Z",
  "fee": {
    "xendit_fee": 0,
    "value_added_tax": 0,
    "xendit_withholding_tax": 0,
    "third_party_withholding_tax": 0,
    "status": "NOT_APPLICABLE"
  }
}
getVirtualAccountTransaction
{
  "id": "txn_79cb0a16-3753-404e-a959-421a0cd02a9a",
  "product_id": "py-b6c2b04d-d15e-4cc4-89c7-0ea1008d4afd",
  "type": "PAYMENT",
  "status": "SUCCESS",
  "channel_category": "VIRTUAL_ACCOUNT",
  "channel_code": "BNI",
  "reference_id": "test-1751865004",
  "account_identifier": "8930999960136500",
  "currency": "IDR",
  "amount": 13000,
  "net_amount": 13000,
  "net_amount_currency": "IDR",
  "cashflow": "MONEY_IN",
  "settlement_status": "SETTLED",
  "estimated_settlement_time": "2025-07-07T05:12:03Z",
  "business_id": "67bd3c2936e9d7ed9e91728b",
  "created": "2025-07-07T05:12:04.315Z",
  "updated": "2025-07-07T05:12:04.806Z",
  "fee": {
    "xendit_fee": 0,
    "value_added_tax": 0,
    "xendit_withholding_tax": 0,
    "third_party_withholding_tax": 0,
    "status": "COMPLETED"
  },
  "product_data": {
    "capture_id": "cap-123e4567-e89b-12d3-a456-426614174000",
    "payment_request_id": "pr-123e4567-e89b-12d3-a456-426614174001"
  }
}
Expand All
object
id
string

Unique ID generated by Xendit for the particular file

product_id
string

The product_id of transaction. Product id will have different prefix for each different product. You can use this id to match the transaction from this API to each product API.

type
string

The type of the transactions. Here are the descriptions:

  • DISBURSEMENT: The disbursement of money-out transaction.
  • PAYMENT: The payment that includes all variation of money-in transaction.
  • REMITTANCE_PAYOUT: The remittance pay-out transaction.
  • TRANSFER: The transfer transaction between xendit account. This can be transfer in or out.
  • REFUND: A refund transaction created to refund amount from money-in transaction
  • WITHDRAWAL: A withdrawal transaction for money-out operations
  • TOPUP: A top-up transaction for adding money to account balance
  • CONVERSION: Balance conversion transactions between different currencies
Valid values[ "DISBURSEMENT", "PAYMENT", "REMITTANCE_PAYOUT", "TRANSFER", "REFUND", "WITHDRAWAL", "TOPUP", "CONVERSION" ]
channel_code
string

The channel of the transaction that is used. See channel codes for the list of available per channel categories.

reference_id
string

A Reference ID from merchants to identify their request.

Min length1
Max length255
account_identifier
string | null

Account identifier of transaction. The format will be different from each channel. For example, on BANK channel it will be account number and on CARD it will be masked card number.

currency
string

The currency to filter.

Valid values[ "IDR", "PHP", "USD", "VND", "THB", "MYR", "SGD", "EUR", "GBP", "HKD", "AUD" ]
Default"IDR"
amount
number

The amount of transaction. The number of decimal place will be different for each currency according to ISO 4217.

Example9989.0
net_amount
number

The net amount of transaction after it deducted with fee/vat.

Example9989.0
net_amount_currency
string

The currency of the net amount after fees and taxes are applied.

Valid values[ "IDR", "PHP", "USD", "VND", "THB", "MYR", "SGD", "EUR", "GBP", "HKD", "AUD" ]
cashflow
string

Representing whether the transaction is money in or money out For transfer, the transfer out side it will shows up as money out and on transfer in side in will shows up as money-in.

Available values are MONEY_IN for money in and MONEY_OUT for money out.

status
string

The status of the transaction. Here's the description:

  • PENDING: The transaction is still pending to be processed. This refers to money out-transaction when the amount is still on hold.
  • SUCCESS: The transaction is successfully sent for money-out or already arrives on money-in.
  • FAILED: The transaction failed to send/receive.
  • VOIDED: The money-in transaction is voided by customer.
  • REVERSED:The transaction is reversed by Xendit.
Valid values[ "PENDING", "SUCCESS", "FAILED", "VOIDED", "REVERSED" ]
channel_category
string

The channel category of the transaction to identify the source of the transaction. Here's the description:

  • DISBURSEMENT and REMITTANCE_PAYOUT: BANK and CASH
  • PAYMENT: CARDS, CARDLESS_CREDIT, DIRECT_DEBIT, EWALLET, PAYLATER, QR_CODE, RETAIL_OUTLET, VIRTUAL_ACCOUNT
  • TRANSFER: XENPLATFORM
  • CONVERSION: OTHER
Valid values[ "BANK", "CARDS", "CARDLESS_CREDIT", "CASH", "DIRECT_DEBIT", "EWALLET", "PAYLATER", "QR_CODE", "RETAIL_OUTLET", "VIRTUAL_ACCOUNT", "XENPLATFORM", "OTHER" ]
business_id
string

Unique ID generated by Xendit for the particular file

created
string

Transaction created timestamp on UTC+0

updated
string

Transaction updated timestamp on UTC+0

fee
object (FeeObject)
xendit_fee
number

Amount of the Xendit fee for this transaction.

value_added_tax
number

Amount of the VAT for this transaction.

xendit_withholding_tax
number

Amount of the Xendit Withholding Tax for this transaction if applicable. See Tax Documentation for more information.

third_party_withholding_tax
number

Amount of the 3rd Party Withholding Tax for this transaction if applicable.

status
string

Status of the fee processing. NOT_APPLICABLE means no fees are applicable for this transaction.

Valid values[ "PENDING", "COMPLETED", "CANCELED", "REVERSED", "NOT_APPLICABLE" ]
settlement_status
string | null

Status of the settlement.

  • null: Settlement status is not applicable or not yet determined
  • PENDING: Transaction amount has not been settled to merchant's balance
  • EARLY_SETTLED: Transaction has been settled early to merchant's balance
  • SETTLED: Transaction has been settled to merchant's balance
Valid values[ "PENDING", "EARLY_SETTLED", "SETTLED" ]
estimated_settlement_time
string

Estimated settlement time will only apply to money-in transactions. For money-out transaction, value will be NULL Estimated settlement time in which transaction amount will be settled to merchant's balance.

product_data
object (ProductData) | null

Additional metadata for payment V3 transactions. This object contains product-specific identifiers and is only included when at least one field has a value. All fields are nullable and conditionally populated based on the transaction type and payment flow.

capture_id
string | null

The capture ID for payment V3 transactions. Present for captured payments.

Examplecptr-123e4567-e89b-12d3-a456-426614174000
payment_request_id
string | null

The payment request ID for payment V3 transactions. Present for payments created via payment V3 payment requests.

Examplepr-123e4567-e89b-12d3-a456-426614174001
reusable_payment_link_id
string | null

The reusable payment link ID. Present for payments made through reusable payment links.

Examplerpl-123e4567-e89b-12d3-a456-426614174002
payment_link_id
string | null

The invoice/payment link ID. Present for payments associated with payment links.

Exampleinv-123e4567-e89b-12d3-a456-426614174003
400

Inputs are failing validation. The errors field contains details about which fields are violating validation.

object
error_code
string
Valid values[ "API_VALIDATION_ERROR", "FEATURE_NOT_AVAILABLE" ]
message
string
errors
Array
OneOf
string
string
object
object
404

The provided id does not exist. Please review the id and try again

object
error_code
string
Valid values[ "RATE_LIMIT_EXCEEDED" ]
message
string
errors
Array
OneOf
string
string
object
object