Introduction
Welcome to the RupiyaX Payout API documentation. Our API allows you to programmatically manage payouts, check balances, and track transaction statuses in real-time.
https://api.rupiyax.com/v1
All API requests must be made over HTTPS. calls made over plain HTTP will fail. API requests without authentication will also fail.
Authentication
Authenticate your requests by including your secret API key in the URL parameters of every request.
https://api.rupiyax.com/v1/balance?key=YOUR_API_KEY
Get Balance
Retrieve the current available balance in your wallet. The balance is returned in Indian Rupees (INR).
Parameters
| Parameter | Description |
|---|---|
| key Required | Your secret API key. |
Response
{
"status": true,
"message": "Balance fetched successfully",
"balance": "15000.00",
"ip": "123.45.67.89",
"time": 1675843200
}
Create Payout
Initiate a payout to a beneficiary via UPI. This endpoint immediately processes the transfer request.
Parameters
| Parameter | Description |
|---|---|
| key Required | Your secret API key. |
| name Required | Beneficiary's full name. |
| amount Required | Amount to transfer in INR (Max 50,000). |
| upi Required | Beneficiary's UPI ID (e.g., username@bank). |
| purpose Required | Purpose of the payment (Validated against restricted words). |
| ref_id Optional | Your unique reference ID. |
Response
{
"status": true,
"message": "Payment processed successfully",
"trx_id": "8X92M4K1L0P3Q5",
"amount": "100",
"closing_balance": "4900.00",
"upi": "user@upi",
"ref_id": "REF123"
}
Transaction Status
Check the current status of a payout transaction using its unique transaction ID or your reference ID.
Parameters
| Parameter | Description |
|---|---|
| key Required | Your secret API key. |
| trx_id Result One | The unique transaction ID returned from the payout request. |
| ref_id Result One | The unique reference ID you provided during payout. |
Response
{
"status": true,
"message": "Transaction details retrieved successfully",
"data": {
"trx_id": "8X92M4K1L0P3Q5",
"status": "success",
"amount": "100",
"upi": "user@upi",
"order_id": "-",
"utr": "123456789012",
"purpose": "Salary Payment",
"request_time": "14:30:00",
"request_date": "2026-02-18",
"ref_id": "REF123"
}
}
Webhooks
Webhooks allow your system to receive real-time updates about payout events.
1. Payment Request Webhook
Triggered immediately after a valid payment request is received.
{
"status": "pending",
"balance": "5000.00",
"closing_balance": "4900.00",
"amount": "100.00",
"fee": "2.00",
"trx_id": "8X92M4K1L0P3Q5",
"time": "1771446055",
"upi_id": "user@upi",
"ref_id": "REF123",
"purpose": "Salary Payment"
}
2. Payment Status Update Webhook
Triggered when the final status of a transaction is determined (Success or Failed).
{
"status": true,
"message": "Transaction updated: success",
"data": {
"trx_id": "8X92M4K1L0P3Q5",
"status": "success",
"amount": "100",
"upi": "user@upi",
"order_id": "-",
"utr": "123456789012",
"purpose": "Salary Payment",
"request_time": "14:30:00",
"request_date": "2026-02-18",
"ref_id": "REF123"
}
}
Handling Webhooks
When your server receives a webhook, it should return a 200 OK HTTP status code to acknowledge receipt. If you return any other status code (e.g., 404, 500), the system will retry sending the webhook up to 3 times.
{
"status": true,
"message": "Webhook received"
}
Errors
RupiyaX uses conventional HTTP response codes to indicate the success or failure of an API request.
| Message | Description |
|---|---|
| Invalid API key | The provided API key is incorrect or does not exist. |
| IP address not whitelisted | Request originated from an unauthorized IP address. |
| Insufficient balance | Wallet balance is lower than the transaction amount + fee. |
| Invalid amount | Amount is non-numeric, zero, negative, or exceeds limit. |
| Payment purpose matched a restricted term | The purpose contains prohibited keywords. |