How to Accept UPI Payments on Your Website in India (2026 Complete Guide)

VT

VyaparGateway Team

Payments Editorial

10 min read
Updated
How to Accept UPI Payments on Your Website in India (2026 Complete Guide)
#accept upi on website #upi integration india #website upi payments #upi checkout

Adding UPI to your website used to be a multi-week engineering project that required a bank relationship, a payment gateway approval, and a PCI-style compliance review. In 2026, it's an afternoon's work — if you choose the right tools. This guide walks through every step of accepting UPI on an Indian website, from the legal and business prerequisites through the technical integration to the operational checks before you take real money.

Prerequisites: what you need before you start

Before any technical work, make sure you have:

  • A registered business entity — sole proprietorship (Udyam registration), partnership, LLP, or private limited company.
  • A current account in your business name at any Indian bank. UPI cannot be received into personal savings accounts for business income.
  • GST registration (mandatory if turnover crosses ₹40L; recommended for most ecommerce setups regardless of size).
  • PAN of the business or its proprietor.
  • A website with a live HTTPS URL — UPI gateways require HTTPS for both your site and your webhook endpoint.

Most banks will open a current account in 3–5 working days against your Udyam registration plus PAN. You don't need a fancy account — basic current accounts work fine for UPI.

Step 1: Choose your gateway

Your gateway is the software layer that issues dynamic QRs, watches for incoming payments, and fires webhooks to your site. The right choice depends on your pricing tolerance and your tech stack. Key dimensions:

  • Pricing model — flat SaaS subscription (predictable, like VyaparGateway) vs percentage of volume (variable, like legacy gateways).
  • Settlement pattern — direct-to-bank (instant credit) vs pooled nodal account (T+1 or T+2).
  • Webhook quality — signed payloads with retries (good) vs unsigned best-effort POSTs (bad).
  • Integration effort — modern REST API + SDKs (good) vs SOAP / legacy XML (avoid in 2026).
  • Support for your stack — Node/Python/PHP/Java SDKs, WooCommerce plugins, Shopify apps, etc.
Person evaluating options on a laptop
The right gateway is the one that matches your pricing tolerance, settlement needs, and tech stack — not the one with the loudest marketing.

Step 2: Sign up and complete KYB

Once you pick a gateway, sign up and complete Know Your Business (KYB) verification. You'll typically upload:

  • Business registration document (Udyam, COI, partnership deed).
  • PAN card.
  • Bank account proof (cancelled cheque or statement).
  • Director / proprietor ID and address proof.
  • A short description of your business and expected monthly volume.

KYB approval typically takes 1–2 business days. While you wait, you can start integration in test mode against sandbox credentials so the technical work and the approval happen in parallel.

Step 3: Integrate the API

The minimal integration has three components:

  1. A backend endpoint that creates a payment intent when the customer hits checkout (calling the gateway's POST /intents).
  2. A frontend that renders the returned QR (or intent URL for mobile) and polls for status until paid.
  3. A backend webhook handler that verifies the signature and marks the order paid in your DB.

For a custom site, this is usually 100–200 lines of backend code. For WooCommerce, install the VyaparGateway plugin and configure your API keys — the plugin handles everything. For Shopify, use the partner app available in the Shopify App Store.

Step 4: Test against sandbox

Before going live, test against the sandbox environment with small amounts (₹1, ₹10, ₹100). Verify each of these flows works end-to-end:

  • Customer reaches checkout, QR renders correctly.
  • Customer pays in their UPI app (sandbox supports test VPAs).
  • Webhook fires to your endpoint with the correct order ID.
  • Your DB transitions the order to paid and triggers fulfilment.
  • Customer sees the success page within a few seconds.
  • Webhook signature verification rejects tampered payloads (test by manually modifying the body).
  • Intent expiry works correctly (let one timeout without paying).
"If you launch without testing webhook signature verification against tampered payloads, you'll find out about the bug from a security researcher — not from your test plan. Add this test before you ship."

Step 5: Go live and monitor

Switch from sandbox keys to production keys, do one small real transaction yourself to verify the end-to-end flow, and then open the doors. For the first week:

  • Watch your gateway dashboard for any webhook delivery failures.
  • Monitor your application logs for any errors in the intent-creation or webhook-handler paths.
  • Reconcile your bank statement against your gateway dashboard daily.
  • Tag a few orders to be hand-verified, just to build confidence in the flow.
Team monitoring dashboard during launch
First-week monitoring catches edge cases before they become customer support tickets.

Why VyaparGateway makes this fast

VyaparGateway is built to compress this entire workflow into a single afternoon for most teams. Sign up takes 5 minutes, KYB is automated for standard business registrations, and our SDKs and plugins handle the boilerplate so you focus on your own fulfilment logic. Flat SaaS pricing means you keep 100% of every UPI payment — no per-transaction platform fee eating into your margin. VyaparGateway helps you issue dynamic UPI QR codes, verify payments, and notify your stack via webhooks—without charging a per-transaction platform fee on top of your plan.

Share this guide

Frequently asked questions

Do I need a current account to accept UPI on my website?
Yes. UPI for business activity must be received into a current account in your registered business name. Personal savings accounts cannot legally receive business income via UPI — this creates tax and KYC issues with your bank. Open a current account against your Udyam registration or GST certificate before integrating.
How long does it take to integrate UPI on a website?
For modern stacks with REST APIs: a single afternoon for a custom site, under an hour for WordPress/WooCommerce with a plugin. KYB approval at your gateway takes 1–2 business days, but you can do the integration work in sandbox mode in parallel so the two finish around the same time.
Can I accept UPI without a gateway, just using my bank's QR?
Technically yes — your bank can give you a static QR you can paste on your site. But you lose all the things that make UPI work for online businesses: per-order dynamic amounts, automatic reconciliation, webhook-driven fulfilment. For anything beyond a hobby project, a gateway is effectively required.
What if my website doesn't have HTTPS?
You need HTTPS before you can accept UPI. UPI gateways require HTTPS for both your checkout page (to protect customer data) and your webhook endpoint (to prevent tampering). Free TLS certificates from Let's Encrypt take 5 minutes to set up via any modern hosting provider — fix this before integrating.

Free tools for Indian merchants

No sign-up, no ads, no data selling

Use our free, browser-only tools whenever you need them. We don't store the values you enter or track you across the web.

See all free tools →
VT

About the Author

VyaparGateway Team

Payments Editorial

The VyaparGateway editorial team writes practical, India-first guides on UPI payments, merchant onboarding, and fintech compliance — informed by what we ship, debug, and operate every day at vyapargateway.com.

Related reading

Start with VyaparGateway

Create an account to connect your merchant profile, get API keys, and ship dynamic UPI checkout in minutes.