Payments. Simplified.
Accept UPI on your own website, app or store counter. WhatsApp-verified customers, automatic payment verification and direct settlement to your bank account, all under your brand.
- ✓ No per-transaction fee from PayNex
- ✓ Settles directly to your bank
- ✓ 100% white-label
Everything you need to collect payments
One platform covering checkout, verification, operations and developer tooling.
PayNex Checkout
One script, one button. A centered modal on desktop and a slide-up sheet on mobile, with a dynamic vector QR and live status.
PayNex Dashboard
Live slot monitor, transactions ledger, cashier till, support tickets and a white-label customizer for your brand.
PayNex Observers
Detect credits from bank SMS and email through the Android observer app, Gmail and Google Messages observers.
API & SDKs
REST API with an OpenAPI spec, a browser SDK, a merchant SDK and server-to-server webhooks you can verify in any language.
Counter & POS mode
Built for physical stores: UPI QR, cash at till and card at terminal, with instant cashier approval.
Control Center
Start, stop and monitor every service from one supervisor with health checks and aggregated logs.
From click to confirmed in four steps
Customers pay with any UPI app. PayNex confirms the credit and tells your server.
Verify
The customer confirms their number with a WhatsApp OTP before any session starts.
Pay
They scan the dynamic QR or tap their UPI app. The session has a server-controlled pay window.
Verify the credit
Observers read the bank alert and the verification engine matches the exact amount and reference.
Confirm
The session turns SUCCESS and a signed webhook reaches your backend for fulfilment.
Integrate in minutes
Add one script and tag a button. Confirm payments on your server with a signed webhook.
<!-- Add once to your page --> <script src="https://pay.yourdomain.com/paynex.js" data-paynex-key="YOUR_MERCHANT_PUBLIC_KEY" data-currency="INR"></script> <!-- Tag any button --> <button data-paynex-pay data-order-id="ORDER-1001" data-amount="499.00"> Buy now with PayNex </button>
- ✓ Works with plain HTML, React, Vue, Next.js and Nuxt
- ✓ Browser events for instant UI feedback
- ✓ Full REST API described in an OpenAPI spec
import crypto from 'node:crypto'; app.post('/api/paynex-webhook', express.raw({ type: 'application/json' }), (req, res) => { const sig = req.headers['x-gateway-signature'] || ''; const expected = 'sha256=' + crypto .createHmac('sha256', process.env.PAYNEX_WEBHOOK_SECRET) .update(req.body).digest('hex'); if (sig.length !== expected.length || !crypto.timingSafeEqual(Buffer.from(sig), Buffer.from(expected))) { return res.status(401).end(); } // fulfil the order here res.json({ received: true }); });
See PayNex in action
Screens from the demo store, Kevira Store, running on PayNex. Click any image to enlarge.





Your payments, on your terms
A comparison with a typical hosted payment aggregator.
| Typical aggregator | PayNex | |
|---|---|---|
| Fees | Percentage per transaction plus GST | No per-transaction fee from PayNex |
| Settlement | Aggregator settlement cycle | Direct to your bank over UPI |
| Customer check | SMS OTP | WhatsApp OTP before checkout |
| Branding | Provider branding | Fully white-label |
| In-store billing | Extra hardware or add-ons | Built-in cash and card counter modes |
| Hosting | Provider's cloud | Self-hosted Node.js, no Docker required |
Designed to be predictable
Every delivery carries an HMAC-SHA256 signature you can verify.
Webhook secrets and OTPs are encrypted at rest with AES-256-GCM.
A session succeeds only when the observed credit equals the expected amount.
One active payer per receiving UPI ID, with a FIFO queue for the rest.
Pay and verify windows are enforced by the backend, not the browser.
All money is stored as integers. No floating-point rounding.
Injection patterns, device binding and ban pipeline protect the verification flow.
Observations, security events and admin actions are logged.
Good to know
How does PayNex know a payment arrived?
It reads the credit alert your bank sends by SMS or email through the Android observer, Gmail observer or Google Messages observer, then matches the exact amount and reference against the active session.
Does PayNex charge a transaction fee?
PayNex does not add a per-transaction fee. Payments move over UPI from your customer to your bank account. Your bank or UPI app may have its own rules.
Can I use my own brand and domain?
Yes. Set your app name, logo and colours in the dashboard and serve checkout from your own domain.
What do I need to run it?
Node.js 20 or newer on a Linux or Windows host. The database is created automatically on first start.
Is PayNex a licensed payment aggregator?
PayNex is software that runs on your infrastructure and settles directly to your account. You remain responsible for meeting the banking and regulatory requirements that apply to your business.
Ready to simplify your payments?
Open the dashboard, connect your UPI ID and start accepting payments today.