Integration Documentation
RS Pay Full-Stack Payment Integration Guide
Complete API documentation for Collections (PayIn) and Automated Disbursements (PayOut)
Accept payments via UPI QR, Intent, NetBanking and Cards. Initiate orders from your server to receive immediate checkout URLs.
Automate withdrawals and settlements directly to user Bank accounts (IMPS), UPI VPAs, and TRC-20 USDT wallets programmatically.
Your Merchant ID and dedicated Secret Keys can be retrieved anytime from the Merchant Details page.
1. PayIn Gateway API (Collection)
Endpoint: https://api.rspay.quest/v1/create
Request Parameters
| PARAMETER | TYPE | REQUIRED | DESCRIPTION |
|---|---|---|---|
merchant_id |
String | YES | Merchant ID assigned by the platform |
api_key |
String | YES | Merchant Communication API Key (PayIn Secret Key) |
order_no |
String | YES | Merchant system unique order ID (e.g. "ORDER_17000001") |
amount |
String / Float | YES | Transaction amount in INR (e.g. "500") |
callback_url |
String | YES | Asynchronous callback notification URL for payment confirmation |
PayIn Gateway Response (JSON)
{
"status": "success",
"order_id": "ORD5D31450772",
"payment_url": "https://api.rspay.quest/payment?token=a972829c9e756e79609723efff9e520b",
"checkout_url": "https://checkout.rspay.quest/checkout?order_id=ORD5D31450772"
}
PayIn Asynchronous Webhook Callback (IPN)
When payment is settled by the customer, RS Pay notifies your callback_url via HTTP POST with the following payload:
{
"code": 1,
"msg": "success",
"order_no": "PAYIN_1700000000",
"platform_order_no": "ORD5D31450772",
"amount": "500.00",
"status": "success",
"utr": "425182910293",
"timestamp": 1700000010
}
SUCCESS or OK to acknowledge receipt.
2. PayOut Gateway API (Disbursement)
Endpoint: https://api.rspay.quest/v1/payout
Request Parameters
| PARAMETER | TYPE | REQUIRED | DESCRIPTION |
|---|---|---|---|
merchant_id |
String | YES | Merchant ID assigned by the platform |
api_key |
String | YES | Merchant PayOut Secret Key |
amount |
String / Float | YES | Payout disbursement amount in INR |
method |
String | YES | Disbursement channel: bank, upi, or usdt |
account |
String | YES | Bank account number, UPI ID (VPA), or USDT TRC-20 wallet address |
account_holder |
String | Optional / Bank | Beneficiary account holder name (required for Bank transfers) |
bank_name |
String | Optional / Bank | Recipient bank name (e.g. "HDFC Bank") |
ifsc |
String | Optional / Bank | 11-character Indian Financial System Code (required for Bank transfers) |
PayOut Gateway Response (JSON)
{
"status": "success",
"payout_id": "PAY8E2C91B47",
"amount": 2000,
"payout_status": "pending"
}
Query PayOut Order Status
Check current payout processing state via GET /api/v1/payout/{payout_id}:
{
"status": "success",
"payout": {
"id": "PAY8E2C91B47",
"merchant_id": "100000001",
"amount": 2000,
"method": "bank",
"status": "settled",
"created_at": "2026-09-09T05:00:00Z"
}
}