Skip to main content

5. Transactions

Get transactions

GET /api/v1/transactions

Returns a paginated list of merchant transactions.

Headers

ParameterTypeRequiredDescription
X-API-KeystringYesAPI key.
X-TimestampstringYesRequest time.
X-SignaturestringYesHMAC-SHA256(secret, timestamp + body) — for GET requests the body is empty.

Query parameters

ParameterTypeRequiredDescription
transaction_typestringNopayout, payin, or all. Default: payout.
shop_codestringNoShop code. If not provided, the list is limited to the merchant's default active shop.
statusstringNoFilter by external status. Allowed values: pending, success, failed, canceled, refunded, expired.
idsstringNoComma-separated internal transaction IDs.
transaction_idsstringNoComma-separated merchant external_id values.
cardsstringNoComma-separated card numbers. Mostly relevant for payouts.
date_fromstringNoCreated-at lower bound, inclusive.
date_tostringNoCreated-at upper bound, inclusive (end of day).
finalization_fromstringNoFinalization-date lower bound, inclusive.
finalization_tostringNoFinalization-date upper bound, inclusive (end of day).
amount_minnumberNoMinimum amount, inclusive.
amount_maxnumberNoMaximum amount, inclusive.
per_pagenumberNoPage size. Default: 50.

Example

GET /api/v1/transactions?transaction_type=all&status=pending&shop_code=shop-001&per_page=20

Response 200 (OK)

The response contains a standard paginator object under the transactions key. Each row uses the same merchant-facing payload shape as the single-operation endpoints.

{
"transactions": {
"current_page": 1,
"data": [
{
"id": 12345,
"status": "pending",
"external_id": "PAY-001",
"amount": 1000,
"currency": "RUB",
"shop_code": "shop-001",
"transaction_type": "payout",
"created_at": "2025-12-05T10:00:00.000000Z",
"updated_at": "2025-12-05T10:00:00.000000Z",
"finalization_date": null
}
],
"per_page": 20,
"total": 1
}
}

Merchant-facing statuses in the list

The HTTP response uses merchant-facing statuses. Internal processing states such as processing, waiting_api, processing_api, pay_error, and polling_expired are returned as pending in the list response.

When transaction_type=all, the status filter is expanded across both payout and payin internal status mappings before the query is executed.

Errors

  • 422 — invalid transaction_type. Allowed values: payout, payin, all.
  • 422 — invalid status. Only external merchant-facing statuses are accepted.
  • 422 — default shop is not configured or the provided shop_code does not belong to the merchant / is inactive.