Add UPI to WooCommerce
Add UPI to WooCommerce with a direct QR plugin or a registered gateway. A QR plugin shows your UPI ID at checkout and leaves the order on hold until you match the UTR. A gateway plugin opens UPI and marks the order paid when its webhook says the payment is captured.
For Indian WooCommerce store owners choosing between a direct UPI QR and a gateway plugin.
knowledge
- Read time
- 5 min
- Sections
- 6
- Updated
- 14 Nov 2026
- Written by
- WebJi® team
Last editorial update: 15 November 2026.
Which UPI path fits this WooCommerce store?
Most buyers on an Indian WooCommerce store already pay from PhonePe, Google Pay, Paytm, BHIM or their bank app — and WooCommerce does not ship that button, so you add a plugin that is either a direct pay-to-your-UPI-ID tool or a registered payment gateway.
| Path | What the buyer does | How the order updates | What you pay |
|---|---|---|---|
| Direct UPI ID or QR | Scans a QR on a computer, or opens the UPI app on a phone, and pays your UPI ID | Stays On hold until you match the amount and the reference, then you set Processing | No gateway percentage; you spend the time to check each payment |
| Registered gateway | Pays on that gateway's UPI screen | A webhook moves the order when the payment is captured | The fee on that gateway account, including any tax they add |
Use the direct path when you can check every payment before you pack the order. Use a gateway when you also need cards, when more than one person packs orders, or when you cannot match references through the day. Some plugins are UPI-only gateways with their own account and keys — the fee sits on that account. WebJi® hosts the store; we are not the payment company and we do not set their rate.
How do you show the UPI QR at checkout?
The direct path sends the money to the UPI ID you already own: no gateway KYC, no percentage off the payment, and no order marked paid until you confirm the credit yourself.
- In WordPress open Plugins, then Add New. Search for a WooCommerce UPI QR plugin and activate one that adds a payment method at checkout — skip a plugin that only prints a donation shortcode.
- Open WooCommerce, then Settings, then Payments, and enable the UPI method. If it is not in the list, the plugin is not active.
- Enter the store name buyers should see and the UPI ID from your own bank or UPI app, then save.
- Open checkout on a computer — a QR for the order amount should appear. Open the same checkout on a phone — a pay button or link should open the UPI app.
- If the phone shows only a QR the buyer cannot scan, try another plugin before going live; some direct plugins hide UPI on an iPhone, so check one if your buyers use it.
- Place one order for a product you control and pay it from your own UPI app. Copy the reference the app shows. WooCommerce should leave the order On hold.
- In your UPI or bank app, find the same amount and the same reference. Only then set the order to Processing. If the reference is missing, leave it on hold and do not ship.
How do you add UPI through a gateway plugin?
Use the gateway path when the payment should confirm itself: Razorpay, Cashfree, PayU and PhonePe each ship an official WooCommerce plugin, and the checks are the same for each. The Razorpay setup guide is the worked example for one of them; the button names differ, the steps do not.
- Create the gateway account and finish the KYC it asks for; live keys stay locked until that review is done, so use test keys while you learn the screen.
- Install that gateway's official WooCommerce plugin from Plugins, then Add New — a payment-link plugin with a similar name is a different product.
- Open WooCommerce, then Settings, then Payments. Enable the gateway, paste the test key and secret, and save.
- In the gateway dashboard, keep UPI switched on; cards and netbanking can stay beside it, and UPI should be easy to see on the pay screen.
- Copy the webhook address the plugin shows and add it in the gateway dashboard, including the event for a captured payment.
- Place one test order. It worked when WooCommerce says Processing and the test dashboard shows that payment as captured. Then replace test keys with live keys and pay one order you can refund the same day.
How do you know the UPI payment worked?
On the direct path, all four checks must be true before you ship; on the gateway path, the bar is the same idea with different proof.
- Direct — your UPI app shows the credit, with the amount matching the order and the reference matching what the buyer entered
- Direct — you set Processing yourself; the plugin did not
- Gateway — the WooCommerce order is Processing and the payment id on the order shows as captured in the gateway dashboard
- Both — stock falls once, and a refresh does not create a second order
A screenshot from the buyer is not one of these checks. Match the UPI reference, or the gateway payment id, before you pack the parcel.
What about a failed or pending UPI payment?
A failed UPI attempt usually shows in the app at once — the buyer cancelled, the app timed out, or the bank declined — and the order stays unpaid, so let them try checkout again. Do not raise a second manual order until you know the first attempt was not captured.
A pending payment is different: the bank may debit the buyer before the store hears about it. On a gateway, wait for the webhook or look the payment up in that dashboard, and resend the captured-payment event if the money is captured while WooCommerce is still pending. A direct QR plugin has no webhook, so the order stays On hold until the reference shows in your UPI app. If checkout never reaches the pay button, the payment plugin is not the only cause — the WooCommerce checkout fixes cover a cart that stops before payment.
Where should this WooCommerce store be hosted?
Checkout needs HTTPS, and a gateway plugin has to reach that gateway from the server, so the hosting account matters even though the plugin does not host the shop. E-commerce hosting at WebJi® is the account for a WooCommerce store that takes UPI, and WooCommerce hosting lists the managed-WooCommerce option. Email support@webji.services for a quote in INR before 18% GST before you pay.
Email that same address if the plugin will not activate or checkout cannot reach the gateway: support replies in Hindi or English with a published average first reply under 60 minutes, and the office phone is not a support line. Moving a store that already sells is not instant — free migration is subject to terms and approval, WebJi® does not hold your UPI settlements, and we do not log in to your gateway dashboard for you.
Frequently asked questions
Can I take UPI without a gateway fee?
Yes. A direct plugin shows your own UPI ID or QR, and no gateway takes a percentage of that payment. You still match each reference yourself. Any gateway fee sits on that gateway account; this page does not print one.
Where do I enter the UPI ID?
Open WooCommerce, then Settings, then Payments. Enable the UPI method, paste the UPI ID from your bank or UPI app, and add the store name buyers should see. Save, then confirm a computer checkout shows a QR.
Will a QR plugin mark the order paid for me?
Not on the basic direct path. The order stays On hold until you match the amount and the UPI reference in your own app, then you set Processing. Some plugins sell a separate checker; confirm one real credit before you trust it.
The customer says they paid, but the order is still On hold. What now?
On a direct QR checkout, find the amount and the reference in your UPI app before changing the status. On a gateway, open that dashboard and see if the payment is captured or still pending. Do not set Processing from a screenshot; if it is captured and the order is pending, resend the webhook.
Does WebJi® host the store that takes UPI?
WebJi® can host the WooCommerce store. Your UPI ID, gateway account and KYC stay yours. Email support@webji.services for a hosting quote in INR before 18% GST. Do not call the office number for plugin help.
Last editorial update: 15 November 2026.
Ready to get started with WebJi®?
Join 12,000+ businesses across India and overseas. INR pricing, 18% GST shown before payment and 24/7 email support in Hindi and English — average first reply under 60 minutes.