UPI payment gateway · by AgriDoot

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
PayNex desktop checkout showing a UPI QR code
PayNex mobile checkout
UPI QR & app deep linksGPay · PhonePe · Paytm · CRED
WhatsApp OTPVerified customers pre-checkout
Bank-alert verificationSMS · Gmail · Android observer
Signed webhooksHMAC-SHA256
Online & counter modesUPI · Cash · Card · COD
Products

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.

How it works

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.

Developers

Integrate in minutes

Add one script and tag a button. Confirm payments on your server with a signed webhook.

1 · Frontend
<!-- 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
2 · Backend (Node.js)
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 });
  });
Why PayNex

Your payments, on your terms

A comparison with a typical hosted payment aggregator.

Typical aggregatorPayNex
FeesPercentage per transaction plus GSTNo per-transaction fee from PayNex
SettlementAggregator settlement cycleDirect to your bank over UPI
Customer checkSMS OTPWhatsApp OTP before checkout
BrandingProvider brandingFully white-label
In-store billingExtra hardware or add-onsBuilt-in cash and card counter modes
HostingProvider's cloudSelf-hosted Node.js, no Docker required
Security & reliability

Designed to be predictable

Signed webhooks

Every delivery carries an HMAC-SHA256 signature you can verify.

Encrypted secrets

Webhook secrets and OTPs are encrypted at rest with AES-256-GCM.

Exact-amount matching

A session succeeds only when the observed credit equals the expected amount.

Single active slot

One active payer per receiving UPI ID, with a FIFO queue for the rest.

Server-side timers

Pay and verify windows are enforced by the backend, not the browser.

Integer paise

All money is stored as integers. No floating-point rounding.

Fraud guard

Injection patterns, device binding and ban pipeline protect the verification flow.

Audit trail

Observations, security events and admin actions are logged.

FAQ

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.