Navaapay Developer Documentation
Welcome to the Navaapay developer platform. Navaapay is a high-speed, automated UPI Payment Gateway engine designed for Indian developers, merchants, and modern startups. It allows you to generate dynamic UPI QR codes, collect instant payments, verify Bank UTRs idempotently, and receive automated server-to-server webhook notifications — with 0% transaction fees.
Authentication
All API requests to Navaapay require authentication via a unique user_token. You can generate or regenerate your user token at any time inside your Dashboard → API Keys.
Pass your token in the request body as user_token using standard application/x-www-form-urlencoded or JSON format.
Base URL & Protocol
All API requests must be sent over secure HTTPS. HTTP requests will be automatically redirected or rejected.
1. Create Order API
Use this endpoint to initialize a new transaction. Navaapay generates a unique hosted payment URL and UPI intent deep-links for all major UPI apps (Paytm, Google Pay, PhonePe, BHIM, Cred).
Request Parameters
| Parameter | Type | Requirement | Description |
|---|---|---|---|
| user_token | string | Required | Your unique Navaapay API token found in dashboard. |
| order_id | string | Required | Unique identifier from your system (e.g., ORD_10092). |
| amount | numeric | Required | Order amount in INR (e.g. 1, 499.00). |
| customer_mobile | string | Required | 10-digit mobile number of the paying customer. |
| redirect_url | string | Optional | URL where customer is redirected after completing payment. |
| remark1 | string | Optional | Custom metadata / note to identify transaction. |
Example Request Payload
{
"user_token": "YOUR_API_TOKEN_HERE",
"order_id": "ORD_892301",
"amount": "499",
"customer_mobile": "9876543210",
"redirect_url": "https://yoursite.com/payment-success",
"remark1": "Pro Subscription"
}
Success Response
{
"status": true,
"message": "Order Created Successfully",
"result": {
"orderId": "ORD_892301",
"payment_url": "https://www.novaapay.shop/payment/pay.php?data=MTIzNDU2..."
}
}
2. Check Order Status API
Verify payment state programmatically anytime by order ID. Returns live transaction details including UTR, amount, and status.
Request Parameters
| Parameter | Type | Requirement | Description |
|---|---|---|---|
| user_token | string | Required | Your API User Token. |
| order_id | string | Required | Order ID you supplied during creation. |
Status Request Payload
{
"user_token": "YOUR_API_TOKEN_HERE",
"order_id": "ORD_892301"
}
Success Response
{
"status": "COMPLETED",
"message": "Transaction Successfully",
"result": {
"txnStatus": "COMPLETED",
"resultInfo": "Transaction Success",
"orderId": "ORD_892301",
"status": "SUCCESS",
"amount": "499.00",
"date": "2026-09-20 21:00:00",
"utr": "428901928472"
}
}
3. Instant Webhooks & Callbacks
Set your Webhook URL inside your Dashboard → Webhook Setting. Whenever a payment is confirmed by the bank, Navaapay immediately dispatches an automated server-to-server HTTP POST request to your endpoint.
{
"status": "SUCCESS",
"order_id": "ORD_892301",
"amount": "499.00",
"utr": "428901928472",
"customer_mobile": "9876543210",
"remark1": "Pro Subscription",
"timestamp": "2026-09-20T21:00:00+05:30"
}
Multi-Language Code Examples
Ready-to-use snippets for your preferred stack:
curl -X POST https://www.novaapay.shop/api/create-order \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "user_token=YOUR_API_TOKEN_HERE" \ -d "order_id=ORD_892301" \ -d "amount=499" \ -d "customer_mobile=9876543210" \ -d "redirect_url=https://yoursite.com/callback"
<?php
$url = "https://www.novaapay.shop/api/create-order";
$data = [
"user_token" => "YOUR_API_TOKEN_HERE",
"order_id" => "ORD_" . time(),
"amount" => "499",
"customer_mobile" => "9876543210",
"redirect_url" => "https://yoursite.com/success"
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
if ($result && $result['status']) {
// Redirect customer to checkout
header("Location: " . $result['result']['payment_url']);
exit;
} else {
echo "Error: " . ($result['message'] ?? 'Unable to create order');
}
?>
import requests
url = "https://www.novaapay.shop/api/create-order"
payload = {
"user_token": "YOUR_API_TOKEN_HERE",
"order_id": "ORD_123456",
"amount": "499",
"customer_mobile": "9876543210",
"redirect_url": "https://yoursite.com/success"
}
response = requests.post(url, data=payload)
data = response.json()
if data.get("status"):
print("Payment URL:", data["result"]["payment_url"])
else:
print("Failed:", data.get("message"))
const axios = require('axios');
async function createPayment() {
try {
const response = await axios.post('https://www.novaapay.shop/api/create-order', new URLSearchParams({
user_token: 'YOUR_API_TOKEN_HERE',
order_id: 'ORD_' + Date.now(),
amount: '499',
customer_mobile: '9876543210',
redirect_url: 'https://yoursite.com/success'
}));
if (response.data.status) {
console.log('Redirect user to:', response.data.result.payment_url);
}
} catch (error) {
console.error('Error creating order:', error.message);
}
}
createPayment();
Mobile & Backend SDKs
Download pre-packaged libraries and complete starter projects:
Android SDK
Kotlin / Java native Android integration with seamless UPI Intent invocation.
View in SDK HubPHP Library
One-file drop-in helper class for PHP, WordPress & Laravel applications.
View PHP SnippetsStatus & Error Reference
| Status Key | Meaning | Action / Resolution |
|---|---|---|
| SUCCESS / COMPLETED | Payment received and bank UTR verified. | Deliver product/service to user immediately. |
| PENDING | Order created, awaiting customer UPI payment. | Poll status or wait for incoming webhook. |
| FAILURE / EXPIRED | Transaction failed or timed out after 30 minutes. | Prompt customer to re-attempt checkout. |
| Order_id Already Exist | The order_id supplied has already been used. |
Generate a new unique order_id for fresh sessions. |