Developers

API Documentation

Integrate our instant payment gateway directly into your application using these APIs.

API docs, examples & error codes — one file (token hidden)
1
Create Order

Call API to generate a dynamic checkout link using your secure user API token.

2
Redirect Customer

Redirect customer to the returned payment link url to complete checkout.

3
Verify Payment

Verify checkout status via dashboard logs or automated POST webhook callbacks.

Normal UPI App Webhook URL

Copy and paste this webhook URL into your Android SMS Forwarder App to automatically verify Normal UPI payments via notifications.

Method: POST / GET  |  Required Params: amount, utr (sent from your app automatically)
POST
Create Payment Order
Request Parameters
Parameter Type Required Description
user_token string Required Your unique API user token (e.g. YOUR_API_TOKEN)
amount number / float Required Amount in INR (e.g. 1.00)
order_id string Required Unique order ID from your website
customer_mobile string Required 10 digit customer mobile number
redirect_url string Required URL to redirect customer after payment status
remark1 string Optional Payment title / Remark title to show on checkouts
remark2 string Optional Additional transaction remarks
JSON Request Payload
{
  "customer_mobile": "9219565158",
  "user_token": "YOUR_API_TOKEN",
  "amount": "1.00",
  "order_id": "8787772321800",
  "redirect_url": "https://yourwebsite.com/redirect",
  "remark1": "AdityaLoot",
  "remark2": "Payment Description"
}
JSON Response Payload
{
  "status": true,
  "message": "Order Created Successfully",
  "result": {
    "orderId": "8787772321800",
    "payment_url": "https://pay.orixpay.site/payment/instant-pay/xxxx"
  }
}
cURL Request Snippet
Bash / curl script
curl --location --request POST \'https://pay.orixpay.site/api/create-order\' \
--header \'Content-Type: application/x-www-form-urlencoded\' \
--data-urlencode \'customer_mobile=9219565158\' \
--data-urlencode \'user_token=YOUR_API_TOKEN\' \
--data-urlencode \'amount=1.00\' \
--data-urlencode \'order_id=8787772321800\' \
--data-urlencode \'redirect_url=https://yourwebsite.com/redirect\' \
--data-urlencode \'remark1=AdityaLoot\' \
--data-urlencode \'remark2=Payment Description\'
PHP Integration Example
PHP Curl Script
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
  CURLOPT_URL => \'https://pay.orixpay.site/api/create-order\',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => \'\',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => \'POST\',
  CURLOPT_POSTFIELDS => http_build_query(array(
    \'customer_mobile\' => \'9219565158\',
    \'user_token\' => \'YOUR_API_TOKEN\',
    \'amount\' => \'1.00\',
    \'order_id\' => \'8787772321800\',
    \'redirect_url\' => \'https://yourwebsite.com/redirect\',
    \'remark1\' => \'AdityaLoot\',
    \'remark2\' => \'Payment Description\'
  )),
  CURLOPT_HTTPHEADER => array(
    \'Content-Type: application/x-www-form-urlencoded\'
  ),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>
POST
Check Order Status
Request Parameters
Parameter Required Description
user_token Required Your unique API user token (e.g. YOUR_API_TOKEN)
order_id Required Order ID you generated during order creation
cURL Status Command
curl --location --request POST \'https://pay.orixpay.site/api/check-order-status\' \
--header \'Content-Type: application/x-www-form-urlencoded\' \
--data-urlencode \'user_token=YOUR_API_TOKEN\' \
--data-urlencode \'order_id=8787772321800\'
JSON Status Response
JSON Response Payload
{
  "status": "COMPLETED",
  "message": "Transaction Successfully",
  "result": {
    "txnStatus": "COMPLETED",
    "resultInfo": "Transaction Success",
    "orderId": "8787772321800",
    "status": "SUCCESS",
    "amount": "1.00",
    "date": "2026-06-07 18:15:30",
    "utr": "416802195610"
  }
}
// result.status: SUCCESS / FAILURE / PENDING
// Order not found: HTTP 404, "message": "Order not found", "result": null
Webhook Callback Details ⚡

When a payment is processed, our system posts callback transaction logs directly to your configured Webhook URL endpoint.

Parameters Received
Parameter Description
status Transaction status (SUCCESS)
order_id Your unique order ID reference
remark1 The remark1 you sent while creating the order (URL-encoded)
Webhook POST Payload (form-encoded)
Content-Type: application/x-www-form-urlencoded

order_id=8787772321800&status=SUCCESS&remark1=AdityaLoot

// Sent on successful payments only.
// Use /api/check-order-status to get amount and UTR.
//
// VERIFY THE SIGNATURE on your server before crediting the order:
// X-PayNova-Timestamp : unix time (reject if older than 5 minutes)
// X-PayNova-Signature : HMAC_SHA256(secret_key, timestamp + "." + order_id + "." + status)
// PHP: hash_equals(hash_hmac("sha256", $ts.".".$order_id.".".$status, $secret), $sig)
// Also confirm with /api/check-order-status before delivering goods.
API Response Codes & Resolutions
HTTP Code Status Message Resolution
400 Error Invalid Webhook / Callback url Make sure your webhook URL has the prefix http:// or https://
400 Error Subscription not active. Please buy a subscription plan to use payments. Renew your subscription package under subscription settings
401 Error Invalid User Token Check your secure user API token code parameter
400 Error Order ID already exists Use a unique random order ID for every order creation request
201 Success Success Order created, checkout link generated successfully
Integration Security Checklist
Keep API tokens confidential; do not expose them on client sides.
Verify UTR numbers strictly via check status API queries.
Configure callback HTTPS webhooks for instant notifications.
Sanitize inputs properly to prevent injection vulnerabilities.
Avoid hardcoding order status variables.
Enforce SSL / HTTPS on callback webhook endpoints.
Downloaded on 28/10/2026, 5:58:08 PM