{qrpay:account:amount:currency:reference_number:message:due_date:specific_symbol:recipient_name}

Description

Generates a Czech QR Platba (SPD-format) payment QR code as a base64-encoded PNG data URI. Drop the result into an img src attribute so a payer can scan it with a banking app and have the payment pre-filled. The account may be an IBAN or a Czech prefix-number/bankcode number, which is converted to IBAN automatically. Only account and amount are required; if either is empty the command returns an empty string and no image. Currency defaults to EUR and must be a supported three-letter code. Message and recipient name have diacritics stripped and are truncated (60 and 35 characters). Because the output is a rendered PNG, examples that produce a real code are illustrative, not asserted.

Parameters

account required default (empty - required)

Recipient bank account. Either an IBAN, or a Czech account in prefix-number/bankcode form (for example 12-3456789012/0100), which is converted to IBAN automatically. Required - if empty, qrpay returns nothing.

amount required default (empty - required)

Amount to pay. A decimal number; a comma or a dot is accepted as the decimal separator. Required - if empty, qrpay returns nothing.

currency optional default EUR

Three-letter ISO currency code, such as EUR, CZK, USD, GBP. Must be a supported code; an unsupported code makes the command fail.

reference_number optional default (empty)

Reference number, used as the Czech variable symbol (X-VS). 1 to 10 digits.

message optional default (empty)

Message for the recipient. Up to 60 characters; diacritics are stripped (for example a-acute becomes a).

due_date optional default (empty)

Due date in YYYY-MM-DD format.

specific_symbol optional default (empty)

Specific symbol (Czech X-SS). 1 to 10 digits.

recipient_name optional default (empty)

Recipient name. Up to 35 characters; diacritics are stripped.

Examples

test[{qrpay::100}]
Expected[]
Actual[]
Account is empty here, so qrpay short-circuits and returns nothing - no image is produced. Both account and amount are required.
test[{qrpay:12-3456789012/0100:}]
Expected[]
Actual[]
Amount is empty here. As with a missing account, qrpay returns nothing. Both account and amount must be present before any QR image is generated.
virtual{qrpay:12-3456789012/0100:1234.56:CZK:2023000123}
Expected(a data:image/png;base64,... PNG data URI encoding the QR Platba SPD string)
Actualdata:image/png;base64,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
Account, amount, currency and a variable symbol (reference number). The account 12-3456789012/0100 is auto-converted to IBAN. Output is a base64 PNG data URI - runtime-dependent bytes, so this example is illustrative, not asserted.
virtual{qrpay:12-3456789012/0100:1234.56:CZK:2023000123:Honza for Ecn Services 2023:2023-01-01:1234567890:Ecn Studio ltd.}
Expected(a data:image/png;base64,... PNG data URI encoding account, amount, currency, variable symbol, message, due date, specific symbol and recipient name)
Actualdata:image/png;base64,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
All eight fields in command order: account, amount, currency, reference (variable) number, message, due date YYYY-MM-DD, specific symbol, recipient name. Message and recipient name have their diacritics stripped and are truncated to 60 and 35 characters.
virtual<img src="{qrpay:12-3456789012/0100:1234.56:CZK:2023000123}" alt="QR payment" width=200 height=200>
Expected(an img element whose src is the base64 PNG data URI, rendered as a scannable QR code)
ActualQR payment
The canonical real-world pattern: qrpay returns the data URI, so put the whole call inside an img src attribute. A payer scans the rendered code with a banking app. In a slice template you would feed item fields, e.g. account and amount getters, instead of literals.