Fiuu's Offline Payment API (OPA) – Best Practices for Dynamic QR Codes
Best Practices for Handling Merchant-Presented Dynamic QR Codes
Fiuu’s Offline Payment API (OPA) allows merchants to generate dynamic QR codes for the customer to scan using mobile device installed app (e-wallet and mobile banking app) to perform payment. To ensure a smooth payment experience and minimize failures, follow these guidelines when using time-sensitive dynamic QR codes (typically valid for 10 minutes):
QR Code Displayed Promptly
-
Generate and display the QR code immediately after the customer confirms the payment amount.
-
Avoid unnecessary delays (e.g., waiting for additional user input) before showing the QR code.
Countdown Time is Clearly Shown
-
Display a visible countdown timer (e.g., “QR code expires in 09:59”) near the QR code.
-
This creates urgency and informs customers that the code is temporary.
Provide Clear Instructions
-
Add a short message like: “Scan this QR code using your e-wallet or mobile banking app within 10 minutes.”
-
If possible, include logos of supported wallets for quick recognition.
Handle Expiry Gracefully
-
When the QR code expires:
o Hide or gray out the expired QR code.
o Show a message: “This QR code has expired. Please request a new one.”
o Provide a ‘Regenerate QR Code’ button for easy retry.
Optimize For Different Channels
-
Website: Ensure the QR code is large and centered for easy scanning.
-
Mobile App: Use full-screen or modal display for better visibility.
-
Self-Service Kiosk / Terminal: Position the QR code at eye level and ensure good screen brightness.
-
Vending Machine: Use a high-contrast display and avoid glare.
Avoid Printing Dynamic QR Codes
-
Do not print dynamic QR codes on receipts or paper, as they will expire quickly.
-
For printed materials, use static QR codes linked to your payment page instead.
Monitor & Retry
-
Track QR code generation and payment status.
-
If a payment is not completed within the validity period, automatically prompt the user to regenerate a new QR code.
-
If first attempt failed, advise user to try with other e-wallet / online banking app.
Example of UI Flow
flowchart LR A[Customer selects items → Confirms payment amount] --> B[System calls Fiuu OPA → Receives QR code content or image link] B --> C[Display QR code + countdown timer + instructions] C --> D[On expiry → Show “Expired” message + Regenerate option]
Do's & Don'ts for Handling Merchant-Presented Dynamic QR Codes


Updated about 2 months ago