Welcome to Xendit’s latest documentation. For legacy content, access the previous documentation here or the previous API reference here.

List Transactions

Prev Next
Get
/transactions

Request this endpoint to get all transactions or select specific filter and search parameters. You can filter by date, type, or status. And you can search by reference, product id, or account identifier. The returned result will be paginated and ordered by the created date.

Use API key permission Transaction Read to perform this request

Sample curl Request:

curl https://api.xendit.co/transactions?types=PAYMENT&statuses=SUCCESS&channel_categories=EWALLET&channel_categories=RETAIL_OUTLET&limit=2 -X GET \
-u xnd_development_O46JfOtygef9kMNsK+ZPGT+ZZ9b3ooF4w3Dn+R1k+2fT/7GlCAN3jg==:
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

Query parameters
types
string

The type of the transaction

Valid values[ "DISBURSEMENT", "PAYMENT", "REMITTANCE_PAYOUT", "TRANSFER", "REFUND" ]
statuses
string

The status of the transaction

Valid values[ "PENDING", "SUCCESS", "FAILED", "VOIDED", "REVERSED" ]
channel_categories
string

The channel of the transactions that will be filtered. If not specified, all transaction channel will be returned.

Valid values[ "DISBURSEMENT", "REMITTANCE_PAYOUT", "PAYMENT", "TRANSFER" ]
reference_id
string

Reference that will be searched. Search by reference is case sensitive and can be partial match.

Min length1
Max length255
product_id
string

Product_id that will be searched. Product_id search is an exact match and case sensitive.

account_identifier
string | null

Account identifier that will be searched. Account identifier search is exact match case sensitive.

currency
string

Currency filter for customers with multi currency accounts type. This field is only optional if you have only 1 currency. If you have more than 1 currency, please specify your desired currency.

Valid values[ "IDR", "PHP", "USD" ]
amount
string

Transaction amount to search. This will be exact match.

created[gte]
string

Start time of transaction by created date. If not specified, will list all dates.

created[lte]
string

End time of transaction by created date. If not specified, will list all dates.

updated[gte]
string

Start time of transaction by updated date. If not specified, will list all dates.

updated[lte]
string

End time of transaction by updated date. If not specified, will list all dates.

limit
number

A limit on the number of transactions to be returned for each request.

Default10
after_id
string

Id of the immediately previous item. Use this with links on the response for pagination.

before_id
string

ID of the immediately following item.

Responses
200

Successful operation

{
  "has_more": true,
  "data": [
    {
      "id": "txn_13dd178d-41fa-40b7-8fd3-f83675d6f413",
      "product_id": "d290f1ee-6c54-4b01-90e6-d701748f0701",
      "type": "PAYMENT",
      "status": "SUCCESS",
      "channel_category": "RETAIL_OUTLET",
      "channel_code": "ALFAMART",
      "reference_id": "ref23244",
      "account_identifier": null,
      "currency": "IDR",
      "amount": 1,
      "cashflow": "MONEY_IN",
      "business_id": "5fc9f5b246f820517e38c84d",
      "created": "2021-06-23T02:42:15.601Z",
      "updated": "2021-06-23T02:42:15.601Z"
    },
    {
      "id": "txn_a765a3f0-34c0-41ee-8686-bca11835ebdc",
      "product_id": "d290f1ee-6c54-4b01-90e6-d701748f0700",
      "type": "PAYMENT",
      "status": "SUCCESS",
      "channel_category": "RETAIL_OUTLET",
      "channel_code": "ALFAMART",
      "reference_id": "ref242424",
      "account_identifier": null,
      "currency": "IDR",
      "amount": 1,
      "cashflow": "MONEY_IN",
      "business_id": "5fc9f5b246f820517e38c84d",
      "created": "2021-06-23T02:39:23.176Z",
      "updated": "2021-06-23T02:39:23.176Z"
    }
  ],
  "links": [
    {
      "href": "/transactions?types=PAYMENT&statuses=SUCCESS&channel_categories=EWALLET&channel_categories=RETAIL_OUTLET&limit=2&after_id=txn_a765a3f0-34c0-41ee-8686-bca11835ebdc",
      "method": "GET",
      "rel": "next"
    }
  ]
}
Expand All
object
has_more
boolean

Indicates whether there are more items to be queried with after_id of the last item from the current result. Use the links to follow to the next result.

data
object (Accounts_Operation_API_TransactionObject)
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
Valid values[ "DISBURSEMENT", "PAYMENT", "REMITTANCE_PAYOUT", "TRANSFER", "REFUND" ]
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

Accepted currency in Xendit

Valid values[ "IDR", "PHP", "USD", "VND", "THB" ]
amount
string

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

net_amount
string

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

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
Valid values[ "DISBURSEMENT", "REMITTANCE_PAYOUT", "PAYMENT", "TRANSFER" ]
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 (Accounts_Operation_API_FeeObject)
xendit_fee
string

The fee is still pending to be charged

value_added_tax
string

The fee is successfully charged

xendit_withholding_tax
string

The transaction failed and fee is cancelled

third_party_withholding_tax
string

The transaction is reversed and fee is reversed

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" ]
settlement_status
string

Status of the settlement.

  • PENDING: Transaction amount has not been settled to merchant's balance
  • SETTLED: Transaction has been settled to merchant's balance
Valid values[ "PENDING", "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.

links
string

The links to the next page based on HATEOAS if there is next result. The HATEOAS format are: href: URI of target, this will be to the next link. rel: The relationship between source and target. The value will be next. method: The HTTP method, the alue will be GET.

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