UPey
Generate single-use Razorpay UPI QR codes on the fly. Pass custom metadata, customer information, and receive instant POST (JSON) or GET webhook callbacks straight into your application.
Try generating a dynamic QR and watch how instant webhooks stream payment metadata in real-time.
Click the button on the left to simulate a dynamic single-use UPI QR code.
Everything you need to accept UPI payments, automate order fulfillment, and eliminate reconciliation headaches.
Generate unique, locked-amount UPI QR codes on the fly. Customers cannot alter the amount, preventing partial payments or fraud.
Instant server-to-server HTTP notifications via POST (JSON) or GET (Query Params) with retry protection and delivery logs.
Attach custom customer names, emails, mobile numbers, user IDs, plan tiers, or custom JSON objects that return in your webhook payload.
Direct upstream Razorpay webhooks + background daemon cron checking + client polling fallback ensures 100% detection accuracy.
Comprehensive transaction history, date filtering, live revenue metrics, API key management, and 1-click webhook test simulator.
Direct integration with your own Razorpay credentials. Funds settle directly into your bank account with zero intermediate delays.
Instant push alerts delivered directly to the business owner on Telegram on every accepted payment with customer details, order ID & amount.
Smart surcharge engine automatically calculates NPCI 0.4% UPI MDR, customizable extra fees, and 18% GST before generating dynamic UPI QR codes.
Go live in minutes with our developer-friendly REST API.
Add your Razorpay Key & Secret, and set your default Webhook URL in your dashboard.
Call /api/v1/create_qr with your order ID, amount, and custom metadata.
Customer scans the dynamic QR code with Google Pay, PhonePe, Paytm, or any UPI app.
Your backend receives an instant POST/GET webhook call to fulfill the order immediately.
Generate dynamic QR codes and accept payments in just a few lines of code.
// 1. Generate Dynamic QR in PHP
$payload = [
"amount" => 500,
"order_id" => "ORD_" . time(),
"customer_name" => "Rahul Sharma",
"customer_mobile" => "9876543210",
"webhook_url" => "https://yourwebsite.com/webhook",
"webhook_method" => "POST",
"custom_data" => [
"user_id" => 1042,
"plan" => "pro_annual"
]
];
$ch = curl_init("https://www.upey.in/api/v1/create_qr");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode($payload),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer YOUR_SECRET_KEY",
"Content-Type: application/json"
]
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
// Display QR Image URL: $response['image_url']
Receive real-time notifications via POST (JSON) or GET query parameters with all initial metadata.
Standard structured JSON payload for modern APIs.
Simple URL parameters for webhooks without POST parsing.
Yes. NexusPay connects to your standard Razorpay Key ID and Secret so that all money settles directly into your own registered bank account with 0% extra gateway fees.
Absolutely! You can pass customer_name, customer_email, customer_mobile, or any arbitrary custom_data JSON object which will be returned back in your webhook.
NexusPay includes tri-layer verification: upstream webhooks, automated cron daemon checking, and live status polling APIs to guarantee zero dropped transactions.
There are no limits imposed by NexusPay. Your account volume limits are governed directly by your Razorpay merchant tier.