Engineering library

Build reliable UPI payment flows

Focused implementation guides for order creation, payment verification, webhook security, delivery operations, reconciliation, and recovery. Every guide maps to the current VyaparGateway API and dashboard workflow.

Batch A · 10 focused intents

Choose the problem you need to solve

These pages are deliberately narrow. Start with the flow closest to your current blocker, then follow the related guides to complete the payment lifecycle.

Order creation01

Create a dynamic UPI QR for every website order

Use VyaparGateway's Dynamic UPI QR API to create order-specific payment sessions, preserve your order reference, and verify payment server-side.

Read implementation guide →
Payment verification02

Verify UPI payment status from your backend

Check a UPI order using order_id or client_txn_id, reconcile uncertain results, and update fulfilment only after server-side validation.

Read implementation guide →
Webhook security03

Verify every payment webhook before changing an order

Implement VyaparGateway signed payment webhooks using the exact raw body, timestamp replay checks, HMAC-SHA256, and idempotent event processing.

Read implementation guide →
Developer operations04

Monitor payment webhook delivery without guessing

Inspect webhook response codes, latency, timestamps, attempt numbers, event IDs, and retry history in the VyaparGateway Webhook Workbench.

Read implementation guide →
Finance operations05

Reconcile payment records with website orders

Build a UPI payment reconciliation workflow using stable references, status verification, event records, amount checks, and an exception queue.

Read implementation guide →
Idempotency06

Process webhook retries once, without double fulfilment

Prevent duplicate payment effects with event_id uniqueness, database transactions, one-way order states, and after-commit fulfilment workers.

Read implementation guide →
Troubleshooting07

Fix a payment webhook returning 401

Diagnose webhook 401 errors caused by raw-body mutation, wrong secrets, timestamp drift, proxy headers, or signature formatting.

Read implementation guide →
Payment recovery08

Handle a UPI payment received after order expiry

Resolve a late UPI payment safely with status verification, amount/reference matching, an exception state, and a documented honour-or-refund policy.

Read implementation guide →
Payment investigation09

Match a UTR with the correct website order

Use client_txn_id, gateway order ID, amount, time, and UTR as layered evidence instead of unsafe amount-only payment matching.

Read implementation guide →
Framework guide10

Integrate UPI payments with a Next.js backend

Build a Next.js UPI checkout with server-only order creation, Route Handler raw-body webhook verification, idempotency, and pending-state UX.

Read implementation guide →

Server-owned truth

API keys, pricing, status transitions, and fulfilment stay in your backend.

Authenticated events

Raw-body HMAC verification, replay checks, and event-level idempotency.

Recoverable operations

Status verification, delivery history, reconciliation, and exception queues.