Payouts
Payout Statement
Retrieve a paginated list of payout transactions with optional filtering.
Payout Statement
API Version: 3.0.0
Generate an API key for Payouts by navigating to Payouts → API Keys → Add new API key.
This API allows you to query your payout history by various parameters such as status, date range, reference number, and payout ID.
Endpoint
| Method | URL |
|---|---|
| GET | https://payout.payorc.com/v1/statement |
Headers
| Header | Type | Required | Description |
|---|---|---|---|
Authorization | String | Yes | Bearer token generated from the Create Token API |
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
payout_id | String | No | Filter by specific payout transaction ID |
reference_no | String | No | Filter by your reference number (max 35 characters, alphanumeric and hyphens only) |
status | String | No | Filter by status: queued, processing, success, failed, cancelled (case-insensitive). Numeric codes 0–4 are also accepted |
from_date | String | No | Start date for filtering (format: YYYY-MM-DD) |
to_date | String | No | End date for filtering (format: YYYY-MM-DD). Must be greater than or equal to from_date |
perpage | Number | No | Number of records per page (min: 1, max: 100, default: 10) |
page | Number | No | Page number (min: 1, default: 1) |
The to_date must be greater than or equal to from_date. Invalid date ranges will return a 400 error.
Code Examples
curl --location 'https://payout.payorc.com/v1/statement?status=QUEUED&from_date=2026-02-17&to_date=2026-02-17&perpage=10&page=1' \
--header 'Authorization: Bearer {{payout-bearer-token}}'Response — Success (200)
{
"data": {
"statement": [
{
"transaction_id": "PY260217164600000007",
"status": "QUEUED",
"reference_no": "REF299206",
"amount": "100.00",
"currency": "INR",
"payment_mode": "NEFT",
"date": "2026-02-17 16:46:32",
"remark": "test",
"reason": "",
"bank_reference_no": "",
"beneficiary": {
"account_number": "100060539676",
"account_type": "SA",
"ifsc": "INDB0000542",
"branch": "",
"name": "pallavi",
"email": "[email protected]",
"mobile": "9876543213",
"mmid": "",
"lei_code": "",
"nre_flag": "EX"
}
},
{
"transaction_id": "PY251214123900000018",
"status": "PROCESSING",
"reference_no": "RRRREF-20251214-8352",
"amount": "300.00",
"currency": "INR",
"payment_mode": "NEFT",
"date": "2025-12-14 12:39:41",
"remark": "Test",
"reason": "",
"bank_reference_no": "",
"beneficiary": {
"account_number": "100060539673",
"account_type": "SA",
"ifsc": "INDB0000539",
"branch": "",
"name": "Padfff",
"email": "[email protected]",
"mobile": "9876543210",
"mmid": "",
"lei_code": "",
"nre_flag": "EX"
}
}
],
"pagination": {
"current_page": 1,
"per_page": 10,
"total_records": 101
}
},
"message": "Statement retrieved successfully",
"status": "success",
"code": "00"
}Response Fields
| Field | Type | Description |
|---|---|---|
data | Object | Contains statement data and pagination information |
data.statement | Array | Array of payout transaction records |
data.statement[].transaction_id | String | Unique payout transaction ID |
data.statement[].status | String | Payout status (QUEUED, PROCESSING, SUCCESS, FAILED, CANCELLED) |
data.statement[].reference_no | String | Your original reference number |
data.statement[].amount | String | Payout amount |
data.statement[].currency | String | Transaction currency |
data.statement[].payment_mode | String | Payment mode (NEFT, RTGS, IFT, IMPSP2A, IMPSP2P) |
data.statement[].date | String | Transaction date and time |
data.statement[].remark | String | Remarks provided during payout request |
data.statement[].reason | String | Failure reason (if status is FAILED) |
data.statement[].bank_reference_no | String | Bank reference number or UTR |
data.statement[].beneficiary | Object | Beneficiary details object |
data.statement[].beneficiary.account_number | String | Beneficiary bank account number |
data.statement[].beneficiary.account_type | String | Account type (SA = Savings Account, CA = Current Account) |
data.statement[].beneficiary.ifsc | String | IFSC code of the beneficiary's bank |
data.statement[].beneficiary.branch | String | Branch name |
data.statement[].beneficiary.name | String | Beneficiary account holder name |
data.statement[].beneficiary.email | String | Beneficiary email address |
data.statement[].beneficiary.mobile | String | Beneficiary mobile number |
data.statement[].beneficiary.mmid | String | MMID (Mobile Money Identifier) |
data.statement[].beneficiary.lei_code | String | Legal Entity Identifier |
data.statement[].beneficiary.nre_flag | String | EX or empty string |
data.pagination | Object | Pagination information |
data.pagination.current_page | Number | Current page number |
data.pagination.per_page | Number | Number of records per page |
data.pagination.total_records | Number | Total number of records matching the filter criteria |
message | String | Response message |
status | String | API response status (success / fail) |
code | String | Response code (00 indicates success) |
Response — Error (4xx)
{
"message": "to_date must be greater than or equal to from_date",
"status": "fail",
"code": "E0021"
}Validation errors (invalid query params, date range, etc.) return code E0021.
Error Response Fields
| Field | Type | Description |
|---|---|---|
message | String | Response description |
status | String | API call status (success / fail) |
code | String | Response code |
Payout Status Values
| Status | Description |
|---|---|
QUEUED | The payout has been received and is queued for processing |
PROCESSING | The payout is currently being processed |
SUCCESS | The payout has been successfully completed |
FAILED | The payout has failed |
CANCELLED | The payout has been cancelled |
Use pagination parameters to navigate through large result sets. The default page size is 10 records.