This document outlines the standardized format for generating Static UPI QR Codes for merchants onboarded with AeronPay. It defines the structure, usage guidelines, and integration best practices to enable seamless offline payment acceptance.
📘 Merchant Integration Guide
📌 What is a Static UPI QR?
A Static QR Code contains a fixed UPI payment URI that is linked to the merchant’s permanent Virtual Payment Address (VPA). It enables customers to scan the QR and enter the payment amount manually in their UPI app.
This format is ideal for:
- Offline retail stores
- Billing counters
- Receipt/invoice printing
- Events, exhibitions, or kiosks
✅ Static QR Code Format (Used by AeronPay)
upi://pay?mc={mcc}&pa={vpa}&pn={merchant_name}
🔒 Example (Using Sample Merchant Details):
upi://pay?mc=5411&pa=merchant.rakeshmittal@samplebank&pn=RAKESH MITTAL
🔍 Parameter Reference
Parameter | Required | Description |
---|---|---|
mc | ✅ Yes | Merchant Category Code – 4-digit numeric code indicating business type (e.g., 5411 for Grocery) |
pa | ✅ Yes | Payee VPA – Merchant’s permanent UPI ID issued by Aeronpay |
pn | ✅ Yes | Payee Name – Display name of the merchant (as per onboarding records) |
Do not includeam
(amount) ortn
(transaction note) in Static QR. These are applicable only in dynamic QR codes.
🧾 Example Breakdown
For merchant Rakesh Mittal, onboarded with MCC for Grocery:
upi://pay?mc=5411&pa=merchant.rakeshmittal@samplebank&pn=RAKESH MITTAL
Field | Value |
---|---|
mc | 5411 (Grocery Store) |
pa | merchant.rakeshmittal@samplebank |
pn | RAKESH MITTAL |
📄 Usage Guidelines
- This QR should be displayed at the merchant's business location or printed on receipts.
- Customer scans the QR with any UPI-enabled app (e.g., PhonePe, Google Pay, BHIM).
- The payment amount is entered manually by the customer.
- Each merchant is issued a unique, KYC-verified VPA by Aeronpay during onboarding.
✅ Benefits of Static QR
- Simple to generate and deploy
- No runtime API calls required
- Easy offline support
- Standardized across UPI ecosystem
🔐 Compliance Notes
- Always use the VPA issued through AeronPay’s verified onboarding process.
- Do not modify or repurpose QR strings across merchants.
- Ensure VPA and merchant name match official onboarding records to avoid transaction mismatches or fraud.
🖼️ Rendering the QR Code
To display or print the QR code, use any standard QR code library.
📌 PHP Example (Endroid QR Code)
$qrContent = 'upi://pay?mc=5411&pa=merchant.rakeshmittal@samplebank&pn=RAKESH MITTAL';
$qrCode = new \Endroid\QrCode\QrCode($qrContent);
$qrCode->writeFile(__DIR__ . '/rakesh_qr.png');
📌 JavaScript Example (Using qrcode
Library)
qrcode
Library)const QRCode = require('qrcode');
const qrText = 'upi://pay?mc=5411&pa=merchant.rakeshmittal@samplebank&pn=RAKESH MITTAL';
QRCode.toCanvas(document.getElementById('canvas'), qrText, function (error) {
if (error) console.error(error);
});
🧠 MCC Code Reference
Business Type | MCC |
---|---|
Grocery | 5411 |
Clothing & Apparel | 5651 |
Salon & Beauty | 7230 |
Restaurants | 5812 |
Travel Agencies | 4722 |
Select the MCC that matches the merchant’s business category as per their KYC submission.
📬 Support & Escalation
For onboarding queries, QR integration, or VPA validation support, contact:
AeronPay Integration Support
📧 Email: Integration Support 🌐 Website: https://aeronpay.in
🔄 Version History
Version | Date | Change Summary |
---|---|---|
1.0 | 2025-06-17 | Initial release (Static QR Format) |