SBP Interoperable QR Code (By Dr. Safdar Zaman-FDE)

Generator & Tester — Per CL2-Annex Standard (v1.0, March 2022)

P2P QR
Merchant QR
P2P QR Fields
Fixed value "02" for P2P. All other values reserved for future use by SBP.
Static = same QR reused (no amount). Dynamic = one-time QR with amount embedded.
Identifies the payment scheme. 30 = Raast (SBP), 31 = 1-Link IBFT. 32-51 reserved for future PSO/PSPs.
Name of the Financial Institution holding the beneficiary's account. Max 25 chars.
International Bank Account Number of the beneficiary/QR holder. Exactly 24 chars (PK + 2 check digits + 4 bank code + 16 account).
Absent if user is prompted to input amount (static QR). Present for dynamic QR. Numbers only, one decimal allowed. Up to 10 chars.
Purpose of transaction. e.g. Family Support, Charity, Committee savings, Rent, Loan repayment, Fee Payment. Max 30 chars.
Core
Fixed "01" per EMVCo spec for Merchant Presented Mode.
Static = printed/fixed QR (no amount). Dynamic = generated per transaction with amount embedded.
Raast MAI (Tag 28)
Raast Application ID (AID) assigned by SBP. Fixed value for all Raast QR codes.
Merchant's IBAN where payment will be credited. 24 chars (PK + 2 check + 4 bank + 16 account).
Short name or alias for the merchant within the Raast scheme. Max 25 chars.
Optional International MAI (Visa, MC, UnionPay)
International Schemes
Tags 02-03 reserved for Visa. Contains scheme-specific merchant info. Max 40 chars each.
Tags 04-05 reserved for Mastercard. Contains scheme-specific merchant info.
Tags 15-16 reserved for UnionPay. Contains scheme-specific merchant info.
Transaction Info
Merchant Category Code per ISO 18245. 8211 = Schools/Education. 5411 = Grocery. 5999 = Misc Retail.
ISO 4217 numeric currency code. 586 = Pakistani Rupee (PKR).
Transaction amount. Built into QR for dynamic, or prompted from customer for static. Max 13 chars.
Indicates if a tip or convenience fee applies. If set, Tag 56 or 57 must also be present.
Merchant Identity
ISO 3166-1 alpha-2 country code. "PK" for Pakistan.
"Doing business as" name of the merchant per acquirer's records. Max 25 chars.
City of physical presence. For online portals, the scheme decides how to populate. Max 15 chars.
Additional Data (Tag 62)
Bill/Invoice/Voucher/Challan number. e.g. utility bills, school fee vouchers, challan numbers. Max 25 chars.
Mobile number of the merchant. Max 15 chars.
The branch name or location label of the merchant. Max 25 chars.
Consumer number issued by merchant to identify a customer. e.g. subscriber ID, student enrollment no, admission no. Max 25 chars.
Counter ID or Till ID where the QR code is placed. Max 25 chars.
Purpose of transaction. May be prompted from customer or defined in QR. Max 25 chars.
A reference label or number attached to the QR or transaction. Max 25 chars.
Tax identification number (NTN/STRN) assigned by federal or provincial tax authority. Max 25 chars.
Payment due date. Encoded as DDMMYYYY (8 digits). Used for bill/voucher payments. SBP custom field (IDs 50-99 unreserved under EMVCo).
Late payment amount (with surcharge). Required if Due Date is populated. Max 13 chars. SBP custom field.

Generated QR Code

TagNameLenValue

QR Payload Decoder

Paste a raw TLV string to decode and validate. Auto-detects P2P vs Merchant format.