Generate a Dynamic QR Ph code for Consumer Scans Business transactions
Token field must contain a JWE-encrypted JSON payload with the following fields:
| Field | Type | Required | Description |
|---|---|---|---|
activationCode | string | Yes | Activation Code from Modulus Labs. Format: XXXX-XXXX-XXXX-XXXX |
currency | string | Yes | ISO 4217 currency code (3 chars). Currently only PHP supported |
amount | string | Yes | Payment amount with 2 decimals. Range: 1.00 to 99999.99 |
merchantReferenceNumber | string | Yes | Your unique reference (1-36 chars, alphanumeric and hyphens) |
activationCode
XXXX-XXXX-XXXX-XXXX (19 characters including hyphens)A9X4-B7P2-Q6Z8-M3L5currency
PHP (production), USD, SGD (sandbox only)PHPamount
1.00 (₱1.00)99999.99 (₱99,999.99)"500.00", "1234.56"merchantReferenceNumber
"ORDER-12345", "5e91bc6c-f7e2-4a39-ae0e-5e93985c94a4"Token, you’ll get:
| Field | Type | Description |
|---|---|---|
id | string | Unique transaction identifier generated by Modulus Labs |
qrBody | string | Base64-encoded PNG image of the QR code |
qrBody, you need to convert it to an image that customers can scan:
merchantReferenceNumber to ensure uniquenessid for reconciliation and supportJWE Token Decryption Fails
Amount Validation Error
"500.00" not 500"5.00" not "5"QR Code Won't Display
HTTP Basic Authentication using your Secret Key as the username and an empty password
JWE-encrypted token containing the payment payload. Algorithm: A256KW | Encryption: A256CBC-HS512. See the Encryption Guide for how to create this token.
QR code generated successfully. Response contains an encrypted JWE token.
JWE-encrypted response token. When decrypted, contains the transaction ID and QR code image.