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.

Base URL
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.

Authentication Example
https://api.rupiyax.com/v1/balance?key=YOUR_API_KEY
Security Warning: Your API key carries many privileges, so be sure to keep it secret! Do not share your secret API key in publicly accessible areas such as GitHub, client-side code, and so forth.

Get Balance

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

JSON
{
  "status": true,
  "message": "Balance fetched successfully",
  "balance": "15000.00",
  "ip": "123.45.67.89",
  "time": 1675843200
}

Create Payout

GET /pay

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

JSON
{
  "status": true,
  "message": "Payment processed successfully",
  "trx_id": "8X92M4K1L0P3Q5",
  "amount": "100",
  "closing_balance": "4900.00",
  "upi": "user@upi",
  "ref_id": "REF123"
}

Transaction Status

GET /transactions

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

JSON
{
  "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.

Event: payment-request
JSON Payload
{
  "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).

Event: payment_status_update
JSON Payload
{
  "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.

Expected Response
{
  "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.