EMVCo QR Payment Data Flow

Encode a TLV payload, decode and initiate, settle, and reconcile by QR id

EMVCo QR Payment Data Flow Encode a TLV payload, decode and initiate, settle, and reconcile by QR id 01 / Encode 02 / Scan 03 / Initiate 04 / Settle 05 / Reconcile Merchant · builds TLV + CRC · 01 / Encode · encode Merchant builds TLV + CRC encode Payer App · scan + decode · 02 / Scan · verify CRC Payer App scan + decode verify CRC Acquirer / PSP · authorize · 03 / Initiate · init Acquirer / PSP authorize init Settlement · clearing batch · 04 / Settle · async Settlement clearing batch async Reconciler · match by ref · 05 / Reconcile · join Reconciler match by ref join Intent Store · ref + expiry · 03 / Initiate · QR id Intent Store ref + expiry QR id QR payload TLV string initiation amount + ref authorized debit payer settlement clearing record store ref dynamic code lookup ref keyed by QR id Legend primary data policy / PII async batch data store

Primary Path

  • • Merchant encodes a TLV payload; payer decodes and verifies the CRC
  • • Initiation carries the amount and reference into the acquirer
  • • Settlement arrives asynchronously as a clearing record

Reconcile by QR id

  • • A dynamic code persists a unique reference at encode time
  • • The reconciler joins the settled record back to the stored intent
  • • Amount or reference mismatches route to an exception, not settlement