CatCode IBAN Smart Invoice
Instead of typing IBAN by hand, the buyer scans a QR code in their banking app — the IBAN, amount and payment reference are filled automatically. The store owner sees the transfer in their bank app and confirms the order in WooCommerce → Orders.
Key features
- NBU v002 QR code recognised by Monobank, Privat24 and other Ukrainian banking apps
- «Open in Monobank» and «Open in Privat24» deep-link buttons
- Copy buttons for IBAN, amount and payment reference
- On-hold / invoice emails include the same requisites so customers can finish paying without coming back to Thank You
- HPOS-compatible (custom order tables)
- WooCommerce Blocks Checkout support
- Full Ukrainian translation included
How it works
- The buyer picks the «Pay to IBAN / card» method on checkout.
- On the Thank You page they see a QR code, deep-link buttons and the payment requisites.
- They scan the QR in their banking app — the transfer is pre-filled automatically.
- They confirm the transfer in the bank.
- When you see the credit in your bank app, you mark the order as Processing in WooCommerce → Orders.
Step 5 can be automated with the separate «IBAN Smart Invoice — Pro» add-on (Monobank Personal API webhook + automatic matching by reference and amount). The Pro add-on is hosted by the author and is not part of this plugin.
Requirements
- WooCommerce 10.0+
- PHP 8.0+
- A valid IBAN (UA format)
External services
This plugin does not contact any external service from the server side. No HTTP requests are sent to third-party APIs from the plugin code: the buyer’s QR scan, deep-link tap and bank transfer all happen on the customer’s device, not on the merchant’s site.
What the plugin embeds (does not call):
- NBU Universal QR Link — the QR code rendered on the Thank You page encodes a URL of the form
https://bank.gov.ua/qr/<base64-payload>(NBU v002 standard, Resolution 97 from 2025-08-19). This URL is only painted into the QR image; the plugin never opens it. The customer’s banking app decodes the QR offline and acts on the payload locally.- Service operator: National Bank of Ukraine (bank.gov.ua), the QR is the official Ukrainian payment standard.
- Terms of use: https://bank.gov.ua/ua/legislation
- No data is sent to bank.gov.ua by the plugin.
- Monobank «send to jar» deep-link (optional, only if the merchant fills the jar URL in settings) — the «Open in Monobank» button on the Thank You page is a plain
<a href="https://send.monobank.ua/jar/...">link. When the customer taps it, their browser/Monobank app handles the navigation; the plugin does not fetch or post to send.monobank.ua.- Service operator: JSC «Universal Bank» (Monobank).
- Terms of service: https://www.monobank.ua/terms
- Privacy policy: https://www.monobank.ua/privacy
- No data is sent to send.monobank.ua by the plugin.
- Privat24 deep-link (optional, only if the merchant fills the card number in settings) — the «Open in Privat24» button uses the
next://.../https://link.privat24.ua/...scheme; same offline-redirect model as the Monobank button.- Service operator: JSC CB «PrivatBank» (Privat24).
- Terms of service: https://privatbank.ua/terms
- Privacy policy: https://privatbank.ua/personal-information
- No data is sent to link.privat24.ua by the plugin.
Server-side payment auto-detection via the Monobank Personal API (the only external HTTP call related to this feature) lives in the separate paid add-on «IBAN Smart Invoice — Pro» hosted off WordPress.org. The Pro add-on documents that integration in its own readme.
