⚡ Developer Credentials

Sign in to see your live API token pre-filled in all code samples.

YOUR_API_TOKEN_HERE
Overview

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.

Enterprise Reliability & Scalable APIs: Navaapay provides a rock-solid, high-speed API infrastructure engineered for automated UPI collections and instant settlements.
Security

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.

Environment

Base URL & Protocol

All API requests must be sent over secure HTTPS. HTTP requests will be automatically redirected or rejected.

BASE URL https://mail.novaapay.shop/
Payment Creation

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).

POST https://mail.novaapay.shop/api/create-order
Order Timeout: Each generated order remains valid for 30 minutes. Unpaid sessions will automatically expire after 30 minutes to prevent collision.

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

JSON / Form 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

HTTP 200 OK
{
  "status": true,
  "message": "Order Created Successfully",
  "result": {
    "orderId": "ORD_892301",
    "payment_url": "https://mail.novaapay.shop/payment/pay.php?data=MTIzNDU2..."
  }
}
Status Verification

2. Check Order Status API

Verify payment state programmatically anytime by order ID. Returns live transaction details including UTR, amount, and status.

POST https://mail.novaapay.shop/api/check-order-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

JSON / Form Payload
{
  "user_token": "YOUR_API_TOKEN_HERE",
  "order_id": "ORD_892301"
}

Success Response

HTTP 200 OK
{
  "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"
  }
}
Real-Time Notifications

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.

Sample Webhook Payload (POST)
{
  "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"
}
Integration Samples

Multi-Language Code Examples

Ready-to-use snippets for your preferred stack:

curl -X POST https://mail.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://mail.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://mail.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://mail.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();
Developer SDKs

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 Hub

PHP Library

One-file drop-in helper class for PHP, WordPress & Laravel applications.

View PHP Snippets
Status Dictionary

Status & 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.