UPI Merchant QR

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

ParameterRequiredDescription
mc✅ YesMerchant Category Code – 4-digit numeric code indicating business type (e.g., 5411 for Grocery)
pa✅ YesPayee VPA – Merchant’s permanent UPI ID issued by Aeronpay
pn✅ YesPayee Name – Display name of the merchant (as per onboarding records)

Do not include am (amount) or tn (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
FieldValue
mc5411 (Grocery Store)
pamerchant.rakeshmittal@samplebank
pnRAKESH 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)

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 TypeMCC
Grocery5411
Clothing & Apparel5651
Salon & Beauty7230
Restaurants5812
Travel Agencies4722

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

VersionDateChange Summary
1.02025-06-17Initial release (Static QR Format)