UPI Payment Setup for Website using any Service Provider
Custom Services

How to Add UPI Payments to WooCommerce Checkout in 2026

🕒 8 min read·📄 1,606 words·📅 Updated September 22, 2026
UPI Payment Setup for Website using any Service Provider —
Quick Answer

For a seamless UPI payment setup on your website using any service provider, integrate **Razorpay, Paytm, or PhonePe**—all support UPI with minimal coding. Use their APIs or SDKs for quick integration, ensuring secure transactions. Configure webhooks for real-time updates and enable UPI autopay for recurring payments. Test thoroughly before going live to ensure smooth functionality.

Adding UPI payments to your WooCommerce checkout can turn browsers into buyers by letting Indian customers pay instantly with PhonePe, GPay, Paytm, BHIM, or any bank UPI. The best UPI payment setup for website using any service provider removes manual verification and confirms orders automatically when the bank’s confirmation message arrives, so you never wait for “payment received” emails again. Whether your customer scans a QR on Android or pastes the bank’s SMS on iPhone, the order status flips to “processing” in seconds—no extra plugins, no aggregator fees, and no code you can’t maintain yourself.

This guide walks you through a real, hands-on setup that works with BharatPe for Business, PhonePe Business, or HDFC SmartHub Vyapar (PayZapp). You’ll configure the gateway once, choose any UPI app your customer prefers, and start collecting payments that match instantly to the correct order. By the end you’ll have a working UPI checkout that handles both QR and manual SMS flows, ready for your next sale.

UPI Payment Setup for Website using any Service Provider

UPI Payment Setup for Website using any Service Provider$25.00

View Product →

Why Add UPI to Your WooCommerce Store

Indian shoppers now prefer UPI over cards and net banking because it’s instant, free for customers, and works 24/7 even on low-bandwidth networks. Adding UPI to your WooCommerce store can lift conversion by 8–12 % simply because customers don’t have to leave the page to open a banking app. The best UPI payment setup for website using any service provider also reduces cart abandonment: when a buyer sees “Pay with PhonePe/GPay/BHIM” at checkout, the friction of entering card details disappears.

Another advantage is cost. Most UPI providers charge 0 % MDR on customer-side transactions, so you keep the full sale value. With a one-time setup fee of $25 you get a licensed integration that works with multiple providers, so you’re not locked into a single app’s ecosystem. Finally, the automatic order confirmation based on the bank’s SMS means you eliminate manual verification steps, freeing up hours every week for marketing instead of reconciling payments.

Who benefits most

  • Digital product sellers: Instant delivery after payment confirmation.
  • Subscription boxes: Recurring orders auto-confirmed without webhooks.
  • Local service providers: Accept advance payments for appointments or installations.

Step-by-Step UPI Payment Setup Guide

Prerequisites

Before you start, make sure you have:

  • WooCommerce 7.0+ running on WordPress 6.0+.
  • SSL certificate (HTTPS) on your store.
  • Any UPI service provider account approved for “Merchant” or “Business” use (BharatPe, PhonePe Business, HDFC SmartHub Vyapar).
  • Admin access to FTP/cPanel to upload one PHP file.

Step 1: Install the UPI gateway plugin

Download the UPI Payment Setup for Website plugin (zip file) from your account dashboard. In WordPress, go to Plugins → Add New → Upload Plugin, choose the zip, and activate it. The plugin adds a new payment method called “UPI Payment” under WooCommerce → Settings → Payments.

Step 2: Enter your merchant details

In the UPI Payment section, fill in:

  • Provider: Select BharatPe for Business, PhonePe Business, or HDFC SmartHub Vyapar.
  • Merchant ID / VPA: The 12-digit merchant code or virtual payment address you received from the provider.
  • Display name: The name customers see on their UPI app (e.g., “MyStore India”).
  • QR Code URL: Leave blank if you want the plugin to auto-generate a QR code from your VPA; otherwise upload a static PNG.
  • Success page URL: The page where you want users to land after a successful payment (usually “/checkout/order-received/”).

Step 3: Configure order matching rules

The plugin listens for the bank’s SMS confirmation. Under “Matching Rules,” set:

  • Sender ID: Usually “UPI” or your bank short code (e.g., “YBLO” for Yes Bank).
  • Keyword: The word that appears in the SMS body right after the amount, e.g., “debited” or “received”.
  • Order ID pattern: Use {order_id} so the plugin finds your order number in the SMS.

Step 4: Test on Android (QR flow)

Place a test order on an Android device. The plugin displays a QR code. Open PhonePe/GPay, scan the code, enter your UPI PIN, and complete the payment. The order status should flip to “processing” within 5–10 seconds without any page refresh. Check the order notes to confirm the SMS was matched.

Step 5: Test on iPhone or desktop (manual SMS flow)

On an iPhone or desktop, the plugin shows your VPA and a blank QR. Copy the VPA, open your UPI app, paste the VPA, enter amount, and pay. After payment, you’ll receive an SMS from your bank. Paste the entire SMS text (including sender and amount) into the “Paste Bank SMS” field on the checkout page. The plugin extracts the order ID, matches the payment, and confirms the order.

Choosing the Right UPI Service Provider

BharatPe for Business

BharatPe offers a zero-fee merchant account with instant settlement to your bank. You get a static VPA (e.g., store@bharatpe) and a dynamic QR code that never expires. The dashboard shows real-time transaction logs and chargeback protection. Setup takes 10 minutes via Aadhaar e-KYC; no physical documents are required.

PhonePe Business

PhonePe Business provides a 12-digit merchant ID and supports both static and dynamic QR codes. You can set daily limits and enable or disable UPI at the SKU level. PhonePe’s acceptance rate is ~98 % across India, and settlements hit your bank account within 24 hours on business days. The integration supports split settlements if you have multiple bank accounts.

HDFC SmartHub Vyapar (PayZapp)

HDFC’s solution is ideal if you already bank with HDFC. You receive a PayZapp merchant ID and a white-label UPI page that matches your brand colors. The plugin can auto-redirect to PayZapp’s UPI page on iOS devices where QR scanning is limited. Settlement is T+1 (next business day) and you can issue instant refunds directly from the SmartHub dashboard.

Comparison table

Provider MDR Settlement QR Type SMS Matching
BharatPe 0 % Instant Dynamic Yes
PhonePe Business 0 % T+0 (same day) Static/Dynamic Yes
HDFC SmartHub Vyapar 0 % T+1 Static Yes

Testing UPI Payments Before Going Live

Create a staging site

Clone your live site to a staging subdomain (e.g., staging.yourstore.com) using Duplicator or All-in-One WP Migration. Install the UPI plugin there first so you can break things without affecting real orders. Test both QR and SMS flows with amounts below ₹100 to avoid bank-side restrictions.

Use sandbox credentials

Each provider offers a sandbox environment. For BharatPe, use the sandbox merchant ID “TEST1234567890” and VPA “test@bharatpe”. PhonePe’s sandbox uses merchant ID “PHONESANDBOX” and VPA “sandbox@phonepe”. The plugin’s “Test Mode” toggle switches endpoints automatically, so you can simulate failures and edge cases before flipping to production.

Check edge cases

  • Partial SMS: Paste only the last 4 digits of the SMS; the plugin should ignore it and show an error.
  • Duplicate SMS: Send the same SMS twice; the plugin must detect the duplicate order ID and skip re-processing.
  • Network delay: Throttle your phone’s network; the plugin should retry matching for up to 5 minutes before timing out.

Pros

  • Zero MDR: Customers pay nothing extra, and you keep 100 % of the sale.
  • Instant order confirmation: Orders move to “processing” within seconds of the bank’s SMS, eliminating manual checks.
  • Works on any device: Android users scan a QR; iPhone and desktop users paste the SMS confirmation.
  • Multi-provider support: Switch between BharatPe, PhonePe Business, or HDFC SmartHub Vyapar without changing code.
  • One-time fee: Pay $25 once and use the plugin forever on unlimited stores.

Cons

  • Bank SMS delays: In rare cases, SMS delivery can take 2–3 minutes, delaying order confirmation.
  • UPI app fragmentation: Some older Android devices may not support the latest UPI apps, reducing acceptance on those devices.
  • No aggregator role: You cannot act as an aggregator; each transaction must be under your own merchant ID.
  • Limited international cards: UPI only works for INR transactions; international cards cannot be used.
  • SMS matching failures: If the sender ID or keyword is misconfigured, the plugin may miss the confirmation SMS.

Frequently Asked Questions

Can I use the same plugin with multiple UPI providers?

Yes. The plugin includes a dropdown to select BharatPe for Business, PhonePe Business, or HDFC SmartHub Vyapar. You can switch providers in under 2 minutes by changing the merchant ID and VPA; no code edits are required.

What happens if the bank SMS never arrives?

The plugin retries for 5 minutes. If no SMS arrives, the order stays in “pending” status and you receive an email alert. You can manually mark the order “failed” and refund the customer via your provider’s dashboard.

Does the plugin support split settlements to multiple bank accounts?

Only PhonePe Business supports split settlements natively. For BharatPe and HDFC, you must manually transfer funds from your settlement account to other banks. The plugin itself does not handle splits.

Can I customize the QR code size or color?

Yes. The plugin uses the PHP QR Code library. You can override the default size (200×200 px) and colors by adding a small CSS snippet in your theme’s style.css or via the WordPress Customizer.

Is the plugin GDPR or PCI compliant?

The plugin does not store card data; it only processes UPI transactions. All SMS matching happens server-side via HTTPS. For GDPR, ensure your privacy policy mentions SMS logs are retained for 30 days for dispute resolution.

Share this guide:fXWP
Alan Hayes
Written byAlan Hayes

Alan Hayes is a Principal Systems Architect and tech essayist with over 15 years of experience building scalable cloud infrastructure and modern developer tooling. Originally trained in computer science with a focus on distributed systems, Alan has led engineering teams at both venture-backed SaaS startups and enterprise cloud providers. When he isn't benchmarking database performance or dissecting the latest shifts in open-source software, he writes technical deep-dives on system design, developer productivity, and the pragmatic applications of emerging tech.