WP Manifestindependent plugin directory
manifest / ecommerce / wordpress_upi_smartpay_for_woocommerce

UPI SmartPay for WooCommerce

Manual UPI QR payment workflow for WooCommerce with UTR and screenshot verification.

by IAMPMPKSAMY · github.com/iampmpksamy/wordpress_upi_smartpay_for_woocommerce · website

0stars
0forks

Install

The author publishes release zips, so WP-CLI can install straight from GitHub:

wp plugin install https://github.com/iampmpksamy/wordpress_upi_smartpay_for_woocommerce/releases/download/v1.0.1/upi-smartpay-1.0.0.zip

Readme

UPI SmartPay for WooCommerce

Smart UPI QR payment gateway for WooCommerce — accept UPI payments without third-party fees or API keys.


Developed by IAMPMPKSAMY 🌐 Plugin page: Plugins Hub


Overview

UPI SmartPay eliminates the need for a payment aggregator for UPI collections. Customers pay via QR code or UPI ID, confirm with a UTR number, and optionally upload a screenshot. Store admins verify and approve with one click — no third-party fees, no API keys.


Features

Feature Detail
QR Code Per-order QR with pre-filled amount and order ref
Multiple UPI IDs Random or priority selection
Mobile Deep-link Opens UPI app directly on Android/iOS
Copy UPI ID Clipboard copy with visual feedback
Payment Instructions Fully customisable step list
UTR Capture Customer enters transaction reference
Screenshot Upload Drag & drop, JPEG/PNG/WebP, 5 MB max
Status Polling Auto-refreshes every 15 s
QR Lightbox Tap-to-zoom on mobile
Admin Approve/Reject One-click with optional reason
Orders List Column UPI Status per order
Admin Email Alert Notified on customer confirmation
HPOS Compatible WooCommerce High-Performance Order Storage
Debug Logging WooCommerce native logger
i18n Ready .pot file included

Requirements

  • WordPress 5.8+
  • WooCommerce 6.0+
  • PHP 7.4+

Installation

Via WordPress Admin

Plugins → Add New → Search "UPI SmartPay" → Install → Activate
WooCommerce → Settings → Payments → UPI SmartPay → Manage

Manual

cd wp-content/plugins/
git clone https://github.com/iampmpksamy/WordPress_UPI_SmartPay_For_WooCommerce.git upi-smartpay

Activate from Plugins → Installed Plugins, then configure.

See the complete installation guide or the project wiki before enabling the gateway on a production store.


Configuration

Setting Description
Enable Toggle gateway on/off
Title Shown at checkout
Description Sub-title at checkout
Merchant Name Shown inside UPI apps
UPI IDs One VPA per line (e.g. shop@upi)
Selection Mode Random or Priority
Payment Instructions Step list on thank-you page
Screenshot Upload Enable/disable customer screenshot
Debug Logging Logs to WC Status → upi-smartpay

File Structure

upi-smartpay/
├── pmpk-upi-smartpay.php            # Bootstrap singleton (Plugin Name header here)
├── includes/
│   ├── class-pmpk-gateway.php       # PMPKSAMY_UPI_Gateway (WC_Payment_Gateway)
│   ├── class-pmpk-ajax.php          # PMPKSAMY_UPI_Ajax — all AJAX endpoints
│   ├── class-pmpk-qr-generator.php  # PMPKSAMY_QR_Generator
│   └── class-pmpk-helper.php        # PMPKSAMY_Helper — static utilities
├── admin/
│   └── class-pmpk-admin.php         # PMPKSAMY_UPI_Admin — order UI
├── public/
│   ├── class-pmpk-public.php        # PMPKSAMY_UPI_Public — asset loader
│   ├── templates/
│   │   └── thankyou.php             # Payment panel template
│   ├── branding-page.html           # Plugin landing page
│   └── portfolio.html               # Developer portfolio page
├── assets/
│   ├── js/
│   │   ├── pmpk-frontend.js         # Copy, upload, confirm, polling
│   │   └── pmpk-admin.js            # Approve/Reject AJAX
│   ├── css/
│   │   ├── pmpk-frontend.css        # Mobile-first payment panel
│   │   └── pmpk-admin.css           # Admin badges, meta box, branding
│   └── images/
│       └── upi-logo.svg             # Checkout icon
├── languages/
│   └── upi-smartpay.pot             # Translation template
├── .github/workflows/
│   └── release.yml                  # CI: lint → PHPCS → ZIP → GitHub Release
├── readme.txt                       # WordPress.org readme
└── README.md                        # This file

Order Flow

Customer checkout
       │
       ▼
Order: On Hold  ·  _pmpksamy_payment_status = pending
       │
       ▼  Customer pays + clicks "I Have Paid"
       │
       ▼
Order: On Hold  ·  _pmpksamy_payment_status = confirmed
       │             Admin email sent
       │
       ├── Admin Approves → payment_complete()  → Processing
       │                     status = approved
       │
       └── Admin Rejects  → Status: Cancelled
                             status = rejected

Developer Filters

Filter Description Parameters
pmpksamy_upi_intent_string Modify the upi://pay?... string $string, $params
pmpksamy_qr_image_url Replace QR image URL $url, $data, $size
pmpksamy_upi_icon Replace checkout gateway icon $url

Example: self-hosted QR service

add_filter( 'pmpksamy_qr_image_url', function( $url, $data, $size ) {
    return 'https://your-qr-server.com/qr?data=' . rawurlencode( $data ) . '&size=' . $size;
}, 10, 3 );

Screenshots

# Description
1 Checkout page — UPI payment option
2 Thank-you page — QR code + instructions + UTR input
3 Admin order detail — UPI metadata + Approve/Reject
4 Orders list — UPI Status column
5 Settings page — branded admin panel

Contributing

  1. Fork the repository.
  2. Create a feature branch: git checkout -b feature/your-feature.
  3. Follow WordPress Coding Standards.
  4. Open a pull request against main.

Security

Found a vulnerability? Email security@pmpksamy.com before public disclosure. Response within 48 hours.

For normal support, use GitHub Issues and follow the support guide. Do not post UPI IDs, payment screenshots, customer details, credentials, or production logs containing personal information.


Changelog

1.0.3

  • Initial public release.

License

GPL-2.0-or-later


Developed by IAMPMPKSAMY  ·  Plugins Hub

Read the full README on GitHub →

Releases

TagPublishedAssetDownloads
v1.0.3 Apr 21, 2026
v0.3.3 Apr 21, 2026
v1.0.2 Apr 21, 2026
v1.0.1 Apr 21, 2026 upi-smartpay-1.0.0.zip 0