KashierDevelopersKashier Developers
Accept payments

Transactions

List, retrieve, and export transactions for reporting

The Kashier Transactions API provides endpoints for retrieving transaction data and exporting transaction batch data. These APIs enable merchants to monitor their transactions.

Get all transactions

This endpoint allows merchants to retrieve a list of transaction records based on multiple optional filter parameters, such as currency, amount, status, and channel. The data can be paginated, sorted, and searched.

Full parameter and response reference → Get all transactions.

curl --location 'https://test-api.kashier.io/v2/aggregator/transactions?currency=EGP&sortType=-1&limit=20&page=1' 
  --header 'Authorization: YOUR_TEST_SECRET_KEY'

Headers

KeyDescription
AuthorizationThe Authorization is the secret key that is used to identify the merchant. You can obtain it from Kashier dashboard. Learn more about Authorization.

Filter values

Filter values are case-sensitive and validated against a fixed set. Send them exactly as shown:

ParameterAccepted values
statusApproved, Rejected, Unknown, all
typePAYMENT, REFUND, AUTHORIZE, all
currencyEGP, EUR, USD, GBP, all
channelonline, pos, all
paymentTypeInvoice, paymentPage, paymentRequest, all

Pass multiple values as a comma-separated list. The literal all means no filter on that parameter.

Lowercase values such as status=approved or type=payment are rejected with 400. Unknown query keys are also rejected with 400 — remove any parameter that is not documented rather than passing it empty.

The status filter accepts only Approved, Rejected, and Unknown. Rows projected as Expired or Pending cannot be selected by this filter; retrieve them without a status filter and filter client-side.

Get transaction details

This endpoint allows merchants to retrieve detailed information about a single transaction using its unique reference ID.

curl --location 'https://test-api.kashier.io/v2/aggregator/transactions/:trxId'
--header 'Authorization: YOUR_TEST_SECRET_KEY'

Headers

KeyDescription
AuthorizationThe Authorization is the secret key that is used to identify the merchant. You can obtain it from Kashier dashboard. Learn more about Authorization.

Full parameter and response reference → Get transaction details.

Transaction statuses

The list endpoint and the details endpoint report status in two different vocabularies. Both describe the same transaction.

Surfacestatus fieldVocabulary
List (/v2/aggregator/transactions)Computed projectionApproved, Rejected, Unknown, Expired, Pending (capitalized)
Details (/v2/aggregator/transactions/:transactionId)Stored statusSUCCESS, FAILURE, PENDING (uppercase)
WebhooksStored statusSUCCESS, FAILURE, PENDING (uppercase)

This is why a row can read Approved in the list while your webhook for the same payment read SUCCESS. Neither is wrong.

Each list row also carries lastStatus, which is the stored order status — for example CAPTURED on a captured payment. Use lastStatus when you need the order's money state rather than the projection.

Projection mapping

List statusStored status it is projected from
ApprovedSUCCESS
RejectedFAILURE, or INITIATED
UnknownUNKNOWN, and any unmapped case
ExpiredEXPIRED
PendingPENDING

Rejected does not always mean declined

A transaction still sitting at INITIATED — created but never completed by the customer or the provider — projects to Rejected in the list. Before treating a Rejected row as a hard decline, check lastStatus and transactionResponseCode, or fetch the transaction details for the stored status.

Reconcile on the stored status from the details endpoint or your webhooks. Use the list projection for reporting and dashboard-style views.

Export transaction batches

This API allows you to export transaction data based on specific filters such as status and date range. It is typically used for reporting, reconciliation, and data analysis by aggregators or merchants.

Full parameter and response reference → Export transaction batches.

curl --location 'https://test-api.kashier.io/v3/payment/export?status=Approved&startDate=2024-10-27T00%3A00%3A00.000Z&endDate=2024-11-27T23%3A59%3A59.999Z'
--header 'Accept: application/json, text/plain, */*' 
--header 'Authorization: YOUR_TEST_SECRET_KEY'

Headers

KeyDescription
AuthorizationThe Authorization is the secret key that is used to identify the merchant. You can obtain it from Kashier dashboard. Learn more about Authorization.

On this page