xpay✦ Commerce
Directory
WooCommerce plugins
UPI QR Code Payment Gateway
UPI QR Code Payment Gateway
Accept UPI payments in WooCommerce with a QR code. Customers pay with Google Pay, PhonePe, Paytm, BHIM or any UPI app. No gateway fees.
5.0
(6 ratings)Will this break my store?
What the WordPress.org registry says about keeping UPI QR Code Payment Gateway running.
Tested to 7.1.4
Tested against the WordPress branch in use today.today
At least 2.3 releases a year since launch. WordPress.org only lists versions still available for download, so the real number may be higher.7.4
Your host must be running at least this version.4.6
woocommerce
These must be installed and active first.2
Maintenance & trust
Scored on how UPI QR Code Payment Gateway is looked after — not on how many stores run it.
96
out of 100Maintenance
35 / 35WordPress compatibility
20 / 20Support responsiveness
Not enough dataMerchant satisfaction
12 / 15Listing transparency
10 / 10Ratings
5.0
6 ratingsAccept UPI payments on your WooCommerce store with a UPI QR code. Customers scan it with Google Pay, PhonePe, Paytm, BHIM, WhatsApp Pay or any banking UPI app, and the money goes straight into your bank account, with no payment gateway fees.
UPI (Unified Payments Interface) is India’s instant payment system, run by the National Payments Corporation of India (NPCI). It works 24×7.
Features
- UPI QR code with the exact order amount and order number, on desktop and mobile, with an optional “Download QR Code” button on mobile.
- Optional Google Pay, PhonePe, Paytm and “Others” buttons on mobile that open the UPI app with the amount filled in (Merchant UPI ID required), shown with or instead of the QR code.
- Customers enter the 12-digit UPI Transaction ID (UTR) and can upload a payment screenshot.
- Works with the classic checkout and the WooCommerce Checkout block.
- Orders wait On Hold until you confirm the payment in your bank or UPI app.
- The same UTR can’t be used for two orders, and the UTR and payer UPI ID appear in the Orders list.
- Payment screenshots are stored privately, not in the Media Library, and only shop managers can open them.
- Unpaid UPI orders get extra time before WooCommerce cancels them (24 hours by default), so customers who pay and come back later aren’t lost.
- Optional email with a payment link for customers who haven’t paid yet.
- Light and dark popup themes, and customizable checkout and popup texts.
- Compatible with HPOS, translation-ready, and included in WordPress’s personal data export and erase tools.
Why choose this plugin?
- Built for safety: submitted payments are clearly marked “Submitted, verify payment”, and you are warned if a setting would complete orders before anyone checks the payment.
- Private: payment screenshots show customers’ bank details, so they are never public files.
- No lost orders: a customer who paid but took a while to enter the Transaction ID can still finish, and is told what to do if their order was cancelled.
How it works
- At checkout, the customer chooses UPI and sees a QR code for the order amount.
- They scan it with any UPI app and pay.
- They enter the 12-digit Transaction ID (UTR) shown in their UPI app and, if you ask for it, upload a screenshot.
- The order goes On Hold, and you get the payment notification in your UPI app.
- You check the payment in your bank or UPI app and mark the order Processing or Completed.
UPI payments made by scanning a QR code can’t be verified automatically, so always check each payment before completing the order.
Benefits
- No payment gateway fees or commission.
- Money goes directly into your bank account.
- Simple setup: you only need your merchant UPI ID.
- Send customers a payment link by email.
- Works 24×7.
Support
Community support in the support forum at WordPress.org.
Like the plugin? Please consider leaving a review.
Is there any admin interface for this plugin?
Yes. You can access this from ‘WooCommerce > Settings > Payments > UPI QR Code’.
How to use this plugin?
Go to ‘WooCommerce > Settings > Payments > UPI QR Code’, enable/disable options as per your need and save your changes.
Is this plugin compatible with any themes?
Yes, this plugin is compatible with any theme. Also, compatible with Divi, Astra themes.
Does it work with the WooCommerce Checkout block?
Yes. UPI appears as a payment method in both the classic checkout and the Checkout block, and the QR code opens after the order is placed.
I want auto verification after payment is done. Is is possible?
Unfortunately no, automatic payment verification is not possible as NPCI does not allow to use their API and verify the transaction of any website. Keep “Payment Complete Status” on “On Hold” and confirm each payment in your bank or UPI app before completing the order.
What Merchant Category Code should I use?
Use the 4-digit code from your bank or payment provider if your UPI ID is a merchant account. If you don’t have one, use 0000. Since 1.5.0 an empty code is sent as 0000; earlier versions saved 8931 as the default, so check this setting after updating.
Where are payment screenshots stored?
Since version 1.5.0, screenshots are stored privately in wp-content/uploads/dwu-payment-screenshots/ under random file names, not in the Media Library, because they show the customer’s bank details. Only users who can edit orders can open them, from the order notes or the “UPI Payment” column. On Nginx, also deny web access to that folder in your server configuration. Screenshots uploaded before 1.5.0 stay in the Media Library.
Why are unpaid UPI orders not cancelled after the WooCommerce “Hold stock” time?
Customers often pay in their UPI app and come back later to enter the Transaction ID, so UPI orders are kept for 24 hours by default before WooCommerce may cancel them (setting: “Unpaid Order Timeout”). Orders whose payment details were submitted are never cancelled automatically.
The plugin isn’t working or have a bug?
Post detailed information about the issue in the support forum and we will work to fix it.
Categories
Plugin details
Tags on WordPress.org
