Skip to main content

Enterprise UPI Integration: PSP Selection, Pre-Auth, and the Multi-Bank Pattern

April 26, 2026 | 9 min read

Vikram (Platform Lead), reviewed by Varun (India Market Strategist)

Vikram (Platform Lead), reviewed by Varun (India Market Strategist)

Content Writer at Dcrayons

Enterprise UPI Integration: PSP Selection, Pre-Auth, and the Multi-Bank Pattern

UPI processes more transactions than every other Indian payment rail combined. For a Shopify D2C, UPI is 60-75 percent of revenue. For a SaaS, it's 40-60 percent. For B2B + invoiced businesses, it's growing year-on-year as enterprise UPI adoption matures.

The integration architecture under that volume determines whether your checkout converts cleanly, your reconciliation is sane, and your dispute resolution doesn't consume the finance team. This is the reference architecture we apply on UPI engagements at meaningful scale.

What UPI actually is (and isn't) in 2026

UPI (Unified Payments Interface) is NPCI's instant payment rail. Not a payment processor, not a wallet, not a card network. It's a thin layer on top of bank accounts that lets value move in real-time between any two UPI-enabled accounts.

For merchants, three integration patterns dominate:

Pattern What it means When to use
UPI Collect Customer enters UPI ID; you push a collect request to their PSP app Lowest-friction; rare in 2026 (one-time-charge use cases)
UPI Intent Your checkout deep-links to the customer's UPI app; they approve Most common; mobile-only
UPI AutoPay Customer sets up a mandate; you can charge per the mandate terms Subscriptions, recurring payments, EMI

In 2026, UPI Intent + UPI AutoPay cover ~95 percent of D2C payment volume. The legacy UPI Collect flow is increasingly rare.


PSP selection: who you actually integrate with

You don't integrate with NPCI directly. You integrate with a Payment Service Provider that handles the UPI plumbing + the merchant-facing API. The choice matters more than most teams realise.

The 2026 PSP landscape for India

PSP Strengths Trade-offs Right for
Razorpay Largest market share, deepest documentation, strong Shopify integration, multiple payment methods Settlement T+1 standard; T+0 costs extra Most D2C + SaaS at any scale
PhonePe Payment Gateway Strong UPI conversion (PhonePe is the leading consumer UPI app), competitive pricing Smaller integration ecosystem than Razorpay UPI-heavy traffic; Shopify with PhonePe app
Cashfree Strong B2B + payouts, instant settlement options Smaller merchant base than Razorpay B2B + marketplace platforms
PayU Older, enterprise-credible, multi-method UX feels dated; ecosystem smaller in 2026 Enterprise + regulated industries
Juspay Best-in-class for routing + observability Higher implementation complexity Marketplaces + cross-border; high-volume
BillDesk Strong utility + recurring billing Less D2C focused Recurring billing + utility-style businesses

How to evaluate PSPs

Beyond pricing, the criteria that matter:

  • UPI success rate. what percentage of attempted UPI transactions succeed. Industry average is 75-85 percent; the best PSPs hit 88-92 percent. A 5 percent difference compounds.
  • Settlement velocity. when does money hit your bank. T+0 vs T+1 vs T+2 affects working-capital cost.
  • Refund processing. instant refund support + reliability of refund SLAs.
  • Dispute handling. chargeback + dispute workflow quality + first-line resolution rate.
  • API + SDK quality. error messages, idempotency support, sandbox parity.
  • Settlement reconciliation tools. daily settlement reports + bank reconciliation support.
  • Multi-bank settlement. can you split settlement across multiple bank accounts (useful for marketplaces + multi-entity businesses).

Most Indian D2C brands at Rs 10-100 crore ARR run with Razorpay as the primary PSP. Larger or specialised needs add a second PSP for redundancy + specific use cases.


UPI Intent: the dominant checkout flow

For mobile checkouts (where 80+ percent of Indian D2C traffic lives), UPI Intent is the default flow.

How the flow works

  1. Customer reaches checkout + selects UPI as the payment method
  2. Customer picks their preferred UPI app (PhonePe, Google Pay, Paytm, BHIM, BHIM SBI Pay, Amazon Pay)
  3. Your checkout generates a deep link to that app (UPI Intent URL with merchant code + amount + transaction reference)
  4. Customer's UPI app opens with pre-filled payment details
  5. Customer approves with UPI PIN
  6. UPI app pushes payment to NPCI
  7. NPCI confirms to your PSP
  8. PSP confirms to your checkout
  9. Checkout shows success + the order ships

Architecture decisions per step

Step 2 (app selection): Show the customer a smart pre-selection based on user-agent or last-used. Auto-detecting + presenting their preferred app reduces taps + lifts conversion.

Step 3 (intent URL generation): Use the PSP's SDK; don't build the URL yourself. The deep-link format has small per-bank-app variations that the SDK handles.

Step 4-8 (the payment flow): Out of your control; the customer's UPI app + NPCI + the PSP own these. Failure modes here are external; your job is to handle them gracefully.

Step 9 (success handling): This is where many integrations break. The payment may be successful on UPI but your callback hasn't arrived yet. Your checkout needs to handle the "pending" state correctly.

The pending-transaction problem

The customer approves the payment on their UPI app, sees "Success" in their app, but your checkout still shows "Processing" because the webhook hasn't arrived.

Three causes:

  1. Webhook delay. NPCI to PSP to your server can take 2-30 seconds. Most webhooks arrive in 3-8 seconds; tail latency can be longer.
  2. Webhook failure. your endpoint was unreachable; the PSP retries on its own schedule.
  3. State synchronisation gap. the customer's app reports success based on local state; the actual settlement may still be propagating.

Your checkout MUST handle the pending state explicitly:

  • Show a clear "Confirming payment" UI for up to 60 seconds
  • Poll your server (or your PSP) for status periodically during the wait
  • If still pending at 60s, show "We're still confirming your payment; you'll receive an email when complete"
  • Background process to reconcile webhook events that arrive late

UPI AutoPay: the subscription pattern

For subscription D2C + SaaS recurring billing, UPI AutoPay is the right primitive in 2026.

How AutoPay works

  1. Customer sets up a mandate via their UPI app (authorising you to debit up to N rupees per Y days for Z duration)
  2. The mandate is stored on UPI infrastructure
  3. On each charge cycle, you submit a debit request via your PSP
  4. NPCI executes the debit per the mandate terms
  5. Customer receives a notification (post-debit, no approval required for amounts within mandate limits)

Mandate parameters

The mandate locks:

  • Maximum amount per debit. set this above your typical charge but not excessively (it builds customer trust)
  • Debit frequency. weekly / monthly / quarterly / annually
  • Mandate validity. until-cancelled (one-time setup) or fixed-duration (3 / 6 / 12 months)
  • Verification step. set to "as-presented" for most subscription flows (no per-debit OTP)

Failure modes specific to AutoPay

  • Mandate revoked. customer cancels the mandate in their UPI app without telling you. Your debit attempt fails. Handle by detecting the mandate-revoked status code + initiating cancellation flow.
  • Insufficient funds. most common failure. UPI doesn't have a "retry tomorrow" built-in like card networks; you re-submit + count on the customer adding funds.
  • Mandate expiry. if you set a fixed duration, the mandate dies at expiry. Renew before expiry; don't surprise the customer with a failed charge.

Mandate management API

Every PSP exposes mandate-management endpoints: - Create mandate (called when customer subscribes) - Check mandate status (used to validate before each debit) - Cancel mandate (used when customer cancels subscription) - Update mandate (rare; most PSPs require cancel + create for material changes)


Reconciliation: where the finance team lives

Without clean reconciliation, you don't know your real revenue.

The three reconciliation pairs

Pair Frequency Owner
Shopify orders vs PSP transaction log Daily Operations
PSP settlement vs bank account credit Daily Finance
Refunds processed vs PSP refund settlement Weekly Finance

Discrepancies above a threshold (typically 1 percent on weekly volume) trigger investigation within 48 hours.

The hidden reconciliation challenge

UPI transactions often span multiple data sources:

  • Customer's bank statement (what they paid)
  • Customer's UPI app history (what their app shows)
  • Your PSP transaction log (what your PSP received)
  • Your PSP settlement file (what your PSP paid out)
  • Your bank statement (what your bank credited)
  • Your Shopify orders (what your storefront recorded)

Six data sources for one transaction. Mismatches anywhere create disputes.

Practical reconciliation tools

  • PSP-side settlement reports. pulled daily, ingested into your warehouse or accounting system
  • Shopify Reports. daily order export, joined with PSP data
  • Bank statement API. most banks now offer API access; pulled daily + reconciled with PSP settlement
  • Dispute tracking. every dispute logged with cause + resolution + days-to-resolve

The end goal: a finance team that knows by end-of-week whether last week's revenue ties out to the rupee.


Cost structure

UPI itself is free at the customer level. Merchant-side, the cost lines:

Component Typical cost
PSP commission on UPI 0 (zero MDR mandated for UPI in 2026) OR small platform fee for value-added services
Settlement fees T+1 standard free; T+0 typically Rs 50 per settlement
Refund processing fees Vary; some PSPs charge per refund
Mandate management (AutoPay) Small monthly per active mandate or per debit
Failed-transaction surcharges Some PSPs charge for excessive failure rates

UPI is by far the cheapest payment method in India. Optimising customers toward UPI vs cards saves 2-3 percent of revenue in payment processing costs.


Multi-bank settlement (advanced)

For brands with multiple business entities (Indian Pvt Ltd for India operations + GCC entity for UAE operations + UK Ltd for UK), the settlement-routing pattern matters.

Multi-bank PSPs (Razorpay, Cashfree, Juspay) let you:

  • Route Indian transactions to the Indian Pvt Ltd bank account
  • Route international card transactions (via separate flow) to entity-appropriate accounts
  • Split settlement across multiple bank accounts for risk diversification
  • Reconcile entity-wise without manual sorting

The architecture decision: one PSP for everything + use their routing OR one PSP per entity. The first is operationally simpler; the second gives more isolation.


Production checklist

For an enterprise UPI integration at Rs 25 crore+ India ARR:

  1. PSP selected against criteria above (default Razorpay + redundancy with Cashfree or PhonePe)
  2. UPI Intent flow live with proper app pre-selection
  3. UPI AutoPay live for subscription products
  4. Pending-transaction handling correct (60s grace + background reconciliation)
  5. Webhook signing validated + idempotent
  6. Mandate management API integrated for subscription workflows
  7. Reconciliation pairs running daily (Shopify x PSP, PSP x bank, refunds)
  8. Dispute tracking + resolution workflow
  9. Cost monitoring + monthly settlement review
  10. PCI scope minimisation (you should NOT touch raw card data; PSP handles it)
  11. DPDP-compliant data handling on customer + transaction metadata
  12. Quarterly governance review with CFO + finance lead

References + linked context

UPI is the payment rail under everything else in Indian D2C. If your integration has hit a success-rate plateau, an AutoPay implementation gap, or a reconciliation pain, reach out via the contact form for a 30-minute review.

Tagsupipaymentsindia-stackrazorpayphonepeenterpriseblog
Share

Related Articles

More insights from the Dcrayons desk.

Want to grow your digital presence?

Let's discuss how we can help your business.