Skip to main content
GET
List Payments

Overview

Returns your payments a page at a time, newest first. Each entry carries the payment’s status, its buyer, its amount and the order behind it. To get the full record of one payment — settlement, refunds and method-of-payment details — call Get Payment with its payment_id.
PSPs get one list covering every payment they can act for: their own and all their sub-merchants’. merchant on each entry says whose it is. To narrow the list to one sub-merchant, send that sub-merchant’s ID in X-Merchant-ID, or pass it as the merchant filter.

Query Parameters

All parameters are optional, and you can combine filters. mop_type, collection_mode and status are case-insensitive and take several values separated by commas, e.g. status=captured,failed.

Pagination

data wraps the page: Follow next until it is null. A page past the last one is not returned empty. It is refused with a 500 whose error.details.error is "Invalid page.".

Payment status

Expired payments read differently in the list and in the filter. A pending payment that passes its expiry is shown as failed here, but the status filter matches the status as recorded. So status=pending can return entries that read failed, and status=failed will not find them. Get Payment shows the recorded status, so the same payment reads pending there.

Response Fields

  • payment_id is the payment’s ID (PR followed by 10 digits). Get Payment takes it.
  • amount.amount and amount.total_amount are decimal strings without trailing zeros, e.g. "1500" or "2499.5". Parse them as decimals, never as floats. total_amount adds GST where GST applies; otherwise it equals amount.
  • mop_type is the method the buyer paid with, in lowercase (upi, credit_card). It is null when no method was chosen.
  • comment says why a payment failed, or what state it is in, when there is something to say; otherwise it is null.
  • order_id is the order behind the payment (OD followed by 10 digits). One order can have several payments, one per attempt.
  • created_at is UTC with microseconds, e.g. 2026-10-15T06:44:13.414209Z.
The response is the same whatever X-API-Version you send. v1, v2 and v3 integrations share this endpoint and its response.

Authorizations

X-Client-ID
string
header
required

Client Application ID - Your unique application identifier used to authenticate API requests. You can find your Client ID in the Developer Settings section of the merchant dashboard.

X-Client-Secret
string
header
required

Client Secret Key - Your secret key used alongside the Client ID for secure authentication. Keep this confidential and never expose it in client-side code. Available in the Developer Settings section of the merchant dashboard.

X-API-Version
string
header
required

API Version - Specifies which version of the API to use (e.g., '1.X.X', '2.X.X', or '3.X.X'). This header allows you to control which API version your integration uses. Default version information is available in the Developer Settings.

Query Parameters

page
integer
default:1

Page number, starting at 1. Stop when next is null: a page past the last one is refused with a 500.

Required range: x >= 1
page_size
integer
default:250

Payments per page. Values above 1000 are capped at 1000.

Required range: 1 <= x <= 1000
ordering
enum<string>
default:-created_at

Sort order. Prefix with - for descending. An unrecognised value is ignored.

Available options:
-created_at,
created_at,
-last_updated_at,
last_updated_at,
-payment_completed_at,
payment_completed_at

Case-insensitive substring match across payment ID, order ID, reference ID, invoice number, buyer name, buyer email and bank reference.

payment_id
string

Exact payment ID.

order_id
string

Exact order ID.

reference_id
string

Exact reference ID (case-sensitive).

invoice_number
string

Exact invoice number (case-sensitive).

buyer_name
string

Exact buyer name (case-sensitive). Use search for a partial match.

merchant
string

Merchant ID. PSPs can use it to narrow the list to one sub-merchant.

currency
string

ISO 4217 currency code, e.g. INR.

mop_type
string

Method of payment. Case-insensitive; comma-separate several values.

Example:

"upi,credit_card"

collection_mode
string

hosted_payment, payment_link or s2s. Case-insensitive; comma-separate several values.

status
string

pending, captured or failed. Case-insensitive; comma-separate several values. Matches the status as recorded — see the note on expired payments.

Example:

"captured"

from_created_at
string<date>

Created on or after this date (YYYY-MM-DD, UTC).

to_created_at
string<date>

Created on or before this date (YYYY-MM-DD, UTC). The whole day is included.

from_payment_completed_at
string<date>

Completed on or after this date (YYYY-MM-DD, UTC).

to_payment_completed_at
string<date>

Completed on or before this date (YYYY-MM-DD, UTC). The whole day is included.

Response

A page of payments

success
boolean
message
string
data
object