5. Transactions
Get transactions
GET /api/v1/transactions
Returns a paginated list of merchant transactions.
Headers
| Parameter | Type | Required | Description |
|---|---|---|---|
| X-API-Key | string | Yes | API key. |
| X-Timestamp | string | Yes | Request time. |
| X-Signature | string | Yes | HMAC-SHA256(secret, timestamp + body) — for GET requests the body is empty. |
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| transaction_type | string | No | payout, payin, or all. Default: payout. |
| shop_code | string | No | Shop code. If not provided, the list is limited to the merchant's default active shop. |
| status | string | No | Filter by external status. Allowed values: pending, success, failed, canceled, refunded, expired. |
| ids | string | No | Comma-separated internal transaction IDs. |
| transaction_ids | string | No | Comma-separated merchant external_id values. |
| cards | string | No | Comma-separated card numbers. Mostly relevant for payouts. |
| date_from | string | No | Created-at lower bound, inclusive. |
| date_to | string | No | Created-at upper bound, inclusive (end of day). |
| finalization_from | string | No | Finalization-date lower bound, inclusive. |
| finalization_to | string | No | Finalization-date upper bound, inclusive (end of day). |
| amount_min | number | No | Minimum amount, inclusive. |
| amount_max | number | No | Maximum amount, inclusive. |
| per_page | number | No | Page 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_codedoes not belong to the merchant / is inactive.