Naafi Pay

List Payments

GET/api/public/v1/payments

Returns 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

FieldTypeRequiredDescription
AuthorizationstringrequiredYour test or live API key.
Example: pg_live_xxx

Query parameters

FieldTypeRequiredDescription
pageintegeroptional1-indexed page number.
Example: 1
limitintegeroptionalItems per page. Max 100.
Example: 25
statusstringoptionalFilter by completed, pending, failed, or cancelled.
Example: completed
gatewaystringoptionalFilter by bkash, nagad, rocket, card, bank_transfer.
Example: bkash
date_fromstringoptionalISO 8601 timestamp (inclusive).
Example: 2026-05-01T00:00:00Z
date_tostringoptionalISO 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": true
19 }
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

FieldTypeRequiredDescription
400invalid_dateoptionaldate_from or date_to is not a valid ISO timestamp.
400invalid_statusoptionalStatus filter must be one of the documented values.
401unauthorizedoptionalAPI key is missing or invalid.
Updated at: May 30, 2026