印度UPI支付之二维码生成规则

与泰国的标准EMVCo QR二维码结构不同,印度UPI支付二维码技术采用NPCI(National Payments Corporation of India) 制定的 UPI 规范。UPI QR 码的格式通常是一个简单的 upi://pay URI,而不是严格的 TLV(Tag-Length-Value)格式。


1. UPI 二维码格式

UPI 二维码的内容一般是一个 upi://pay 形式的 URL,例如:

upi://pay?pa=merchant@icici&pn=Merchant Name&mc=5311&tid=123456789012345&tr=987654321&tn=Payment for order 1234&am=100.00&cu=INR&url=https://merchant.com/order1234


2. 关键参数说明

参数 说明 示例
pa 收款方 VPA(Virtual Payment Address) merchant@icici
pn 收款人姓名 Merchant Name
mc 商户类别代码(MCC,可选) 5311
tid 终端 ID(可选) 123456789012345
tr 交易 ID(可选) 987654321
tn 交易备注 Payment for order 1234
am 交易金额(可选) 100.00
cu 货币代码 INR
url 订单 URL(可选) https://merchant.com/order1234

3. UPI 二维码示例



upi://pay?pa=user@upi&pn=John%20Doe&am=500.00&cu=INR&tn=Test%20Payment


4. 使用 .NET 生成 UPI 二维码


using QRCoder;

string upiUri = "upi://pay?pa=user@upi&pn=John%20Doe&am=500.00&cu=INR&tn=Test%20Payment";

QRCodeGenerator qrGenerator = new QRCodeGenerator();
QRCodeData qrCodeData = qrGenerator.CreateQrCode(upiUri, QRCodeGenerator.ECCLevel.Q);
QRCode qrCode = new QRCode(qrCodeData);
Bitmap qrCodeImage = qrCode.GetGraphic(20);

// 保存二维码
qrCodeImage.Save("upi_qr.png", ImageFormat.Png);

5. 备注

1:UPI 二维码本质上是一个 upi://pay URI,不需要像 EMVCo/Bharat QR 那样的 TLV 结构。
2:关键参数包括收款 VPA(pa)、收款人姓名(pn)、金额(am)、交易备注(tn)等。
3:可以使用 QRCoder 生成 UPI 二维码,也可以使用 ZXing.NET 解析。

评论

此博客中的热门博文

两种情况对印度UPI账户进行转账汇款(附详细流程)

印度 UPI 支付系统的技术解析与创新发展

印度主流UPI应用及其特点