Tranzak Docs
tranzak.co Dashboard
Docs  /  API reference

List payments

List the payments of your website with filters and pagination using GET /api/gateway/v1/payments.

GET/api/gateway/v1/payments

Returns the payments created with your API key, newest first, with optional filters.

Query parameters

Parameter Type Description
status string Filter by status: pending, processing, completed or failed.
payment_method string Filter by method, for example moncash.
from_date date Only payments created on or after this date (YYYY-MM-DD).
to_date date Only payments created on or before this date (YYYY-MM-DD).
per_page integer Results per page, from 1 to 100. Default 20.

Example

curl "https://api.tranzak.co/api/gateway/v1/payments?status=completed&per_page=10" \
  -H "X-Api-Key: $TRANZAK_API_KEY"
const url = new URL('https://api.tranzak.co/api/gateway/v1/payments');
url.searchParams.set('status', 'completed');
url.searchParams.set('per_page', '10');

const res = await fetch(url, { headers: { 'X-Api-Key': process.env.TRANZAK_API_KEY } });
const { data, pagination } = await res.json();
import os, requests

res = requests.get(
    "https://api.tranzak.co/api/gateway/v1/payments",
    headers={"X-Api-Key": os.environ["TRANZAK_API_KEY"]},
    params={"status": "completed", "per_page": 10},
).json()
$ch = curl_init('https://api.tranzak.co/api/gateway/v1/payments?' . http_build_query(['status' => 'completed', 'per_page' => 10]));
curl_setopt_array($ch, [CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => ['X-Api-Key: ' . getenv('TRANZAK_API_KEY')]]);
$result = json_decode(curl_exec($ch), true);

Response

{
  "success": true,
  "data": [
    {
      "transaction_id": "17843268616389",
      "amount": "500.00",
      "currency": "HTG",
      "status": "completed",
      "payment_method": "moncash",
      "reference": "ORDER-4821",
      "created_at": "2026-10-04T14:00:00.000000Z"
    }
  ],
  "pagination": {
    "current_page": 1,
    "per_page": 20,
    "total": 150,
    "last_page": 8
  }
}

Each item has the same shape as a retrieved payment. Use pagination.last_page to walk through every page.