UPI Gateway API Integration Docs

Integrate UPI Gateway peer-to-peer infrastructure directly in your application backend. Receive dynamic callback checkouts and automated status syncs without processing fees.

1. Authentication

Every request dispatched to our servers needs to contain your merchant credentials. Authentication is handled by passing a user_token parameter directly inside the request JSON payload.

Warning: Keep your user_token strictly private. Never expose API integration scripts in client-side code (such as frontend React apps or browser HTML forms).

2. Create Order API

POST ${origin}/api/create-order

Create a dynamic payment checkout link to collect money. Orders left pending for more than 30 minutes transition to FAILURE state automatically.

Request Body Parameters

Parameter Type Required Description
user_token string Yes Your unique merchant API token from setting.
amount string Yes Transaction amount (e.g. "149"). Max ₹1,00,000.
order_id string Yes Custom unique identifier for this order.
customer_mobile string Yes Customer's active 10-digit mobile number.
redirect_url string Yes Callback destination URL once checkout completes.
remark1 string No Optional metadata slot for transaction notes.
remark2 string No Second optional metadata slot.

Example Payload

{
  "customer_mobile": "9999999999",
  "user_token": "YOUR_API_TOKEN",
  "amount": "149",
  "order_id": "UNIQUE_ORDER_ID_12345",
  "redirect_url": "https://yourwebsite.com/callback",
  "remark1": "optional_remark",
  "remark2": "optional_remark_2"
}

Success Response (200 OK)

{
  "status": true,
  "message": "Order Created Successfully",
  "result": {
    "orderId": "UNIQUE_ORDER_ID_12345",
    "payment_url": "${origin}/pay/token_id"
  }
}

3. Check Order Status API

POST ${origin}/api/check-order-status

Check the realtime payment status of a given transaction.

Request Body Parameters

Parameter Type Required Description
user_token string Yes Your unique merchant integration token.
order_id string Yes The specific order ID string to verify.

Example Payload

{
  "user_token": "YOUR_API_TOKEN",
  "order_id": "UNIQUE_ORDER_ID_12345"
}

Completed Response

{
  "status": true,
  "message": "Transaction Successfully",
  "result": {
    "txnStatus": "COMPLETED",
    "orderId": "UNIQUE_ORDER_ID_12345",
    "status": "SUCCESS",
    "amount": "149",
    "date": "2026-07-05 13:22:08",
    "utr": "412345678901"
  }
}

4. Webhooks & Callbacks

Once your customer finishes the transaction via their preferred UPI app, they are automatically returned back to your defined redirect_url.

Additionally, our polling servers trigger real-time HTTP POST webhooks back to your callback webhook targets. This is the standard payload received on webhook endpoint:

{
  "status": "SUCCESS",
  "orderId": "UNIQUE_ORDER_ID_12345",
  "amount": "149",
  "utr": "412345678901",
  "date": "2026-07-05 13:22:08",
  "remark1": "optional_remark",
  "remark2": "optional_remark_2"
}

Security Best Practice: Do NOT update order logs to COMPLETED solely based on the incoming webhook body. Always call our secure /api/check-order-status endpoint from your server to verify the legitimacy of the status.