Integrate our instant payment gateway directly into your application using these APIs.
Call API to generate a dynamic checkout link using your secure user API token.
Redirect customer to the returned payment link url to complete checkout.
Verify checkout status via dashboard logs or automated POST webhook callbacks.
Copy and paste this webhook URL into your Android SMS Forwarder App to automatically verify Normal UPI payments via notifications.
amount, utr (sent from your app automatically)
| 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 |
{
"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"
}
{
"status": true,
"message": "Order Created Successfully",
"result": {
"orderId": "8787772321800",
"payment_url": "https://pay.orixpay.site/payment/instant-pay/xxxx"
}
}
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
$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;
?>
| 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 --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\'
{
"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
When a payment is processed, our system posts callback transaction logs directly to your configured Webhook URL endpoint.
| Parameter | Description |
|---|---|
| status | Transaction status (SUCCESS) |
| order_id | Your unique order ID reference |
| remark1 | The remark1 you sent while creating the order (URL-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.
| 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 |