←Back to Blog
Domain-Specific2025-09-285 min read

Building a QR-Based Payments Product in India: Tech Stack and UX Lessons

UPI flows, PSP integration, reconciliation, and the UX patterns that reduce failed scans in Bharat.

Warm golden light refracting through layered glass panels on a matte black surface

QR payments in India look simple on the surface — scan, pay, done. Production products need PSP integration, idempotent webhooks, reconciliation dashboards, and UX tuned for low-end devices and patchy networks. UPI success rates below ninety-eight percent kill merchant trust faster than any marketing campaign can rebuild it — reliability is the product. Merchant onboarding should include a live test transaction checklist — skip it and support tickets multiply on day one.

Stack and integrations

Mobile: React Native or Flutter for camera QR and deep links into UPI apps. Backend: FastAPI or Node with signed webhooks from Razorpay, Paytm, or bank PSPs. Never store full card data — tokenize through compliant gateways. Register webhook URLs with PSP dashboards and verify signatures on every payload — never trust client-side payment confirmation alone. Store payment intent ID separately from order ID for reconciliation when users pay twice. Support multiple PSPs for redundancy — single PSP outages should not stop all merchant collections.

Use idempotency keys on every payment intent. Queue webhook processing — duplicate events are normal, not edge cases. Deep links must handle users without UPI apps installed — fallback to intent URLs and clear install prompts. PCI scope stays minimal when card data never touches your servers. Log UPI transaction IDs from PSP webhooks in searchable admin UI — support teams need sub-second lookup.

UX for Bharat

Large QR display, high contrast, offline-tolerant pending states. Hindi and regional language error messages beat English-only failures. Show explicit success and failure — ambiguous spinners cause double payments. Test QR scanning in low light and on cracked screens — merchant-facing QR posters need minimum size specs in your onboarding docs. Pending states should show UPI reference number users can screenshot for support. Merchant training materials in video plus regional text reduce wrong-amount QR generation errors.

Test on ₹8,000 Android phones on 4G and 3G. Latency perception matters more than animation polish. Regional language error messages should name the likely cause — insufficient balance, wrong PIN, network timeout — not generic payment failed. Retry UX must prevent duplicate charges with idempotent client requests. Brightness and contrast guidelines for printed QR codes belong in merchant app — camera scan failures often trace to print quality.

Ops and reconciliation

Daily settlement reports matched to order IDs. Alert on webhook lag and unmatched transactions. Reconciliation dashboards highlight unmatched settlements older than twenty-four hours — ops teams need filters by merchant and PSP. Alert on webhook processing lag exceeding five minutes during peak sale hours. Automated daily reconciliation emails to merchants build trust — silent mismatches erode platform credibility.

Fintech AI for fraud scoring comes later — nail payment reliability first. See fintech industry guide for risk patterns when you scale. Fraud scoring and ML come after settlement accuracy — merchants leave platforms that lose money on reconciliation gaps. ONDC and broader commerce integrations layer on once payment core is boringly reliable. Settlement delay SLAs should surface in merchant dashboard — uncertainty causes unnecessary support load.

What to do next

Start with one measurable outcome — latency, accuracy, adoption, or revenue — and design your stack around that constraint. GenOrbit ships production AI systems across healthcare, astrology, fintech, and SaaS; if you want a second pair of eyes on architecture or delivery, we are happy to talk.

Related: /services/custom-software-development · /industries/fintech-ai · /blog/ondc-integration-indian-ecommerce

Next Steps

Ready to build your intelligent product?