List Payments
GET
/api/public/v1/paymentsReturns a paginated list of payments for the storefront identified by your API key. Use this to build a custom dashboard, reconcile your accounting system, or pipe data into a warehouse. Results are sorted by created_at descending (newest first) and can be filtered by status, gateway, and date range. The list returns the same payment objects you receive from the Get Payment endpoint, so a single page of results is enough to render a complete dashboard view.
Request headers
| Field | Type | Required | Description |
|---|---|---|---|
| Authorization | string | required | Your test or live API key. Example: pg_live_xxx |
Query parameters
| Field | Type | Required | Description |
|---|---|---|---|
| page | integer | optional | 1-indexed page number. Example: 1 |
| limit | integer | optional | Items per page. Max 100. Example: 25 |
| status | string | optional | Filter by completed, pending, failed, or cancelled. Example: completed |
| gateway | string | optional | Filter by bkash, nagad, rocket, card, bank_transfer. Example: bkash |
| date_from | string | optional | ISO 8601 timestamp (inclusive). Example: 2026-05-01T00:00:00Z |
| date_to | string | optional | ISO 8601 timestamp (inclusive). Example: 2026-05-31T23:59:59Z |
Response
200 OK
1{2 "data": [3 {4 "invoice_id": "inv_01HZX5JM3W7QZK8YF7N9P0RTS2",5 "status": "completed",6 "amount": 1500,7 "currency": "BDT",8 "gateway": "bkash",9 "customer": { "full_name": "Tasin Fahim", "email": "tasin@example.com" },10 "paid_at": "2026-05-30T14:06:21Z",11 "metadata": { "order_id": "ORD-1001" }12 }13 ],14 "pagination": {15 "page": 1,16 "limit": 25,17 "total": 312,18 "has_more": true19 }20}TipFilter by metadata
You can filter on any metadata key by passing
metadata[key]=value. For example, ?metadata[order_id]=ORD-1001 returns only payments tagged with that order id.Error codes
| Field | Type | Required | Description |
|---|---|---|---|
| 400 | invalid_date | optional | date_from or date_to is not a valid ISO timestamp. |
| 400 | invalid_status | optional | Status filter must be one of the documented values. |
| 401 | unauthorized | optional | API key is missing or invalid. |