Title: MakeMeHappy QR Code
Author: MakeMeHappy
Published: <strong>September 25, 2026</strong>
Last modified: September 25, 2026

---

Search plugins

![](https://ps.w.org/makemehappy-qr-code/assets/banner-772x250.png?rev=3712401)

![](https://ps.w.org/makemehappy-qr-code/assets/icon-256x256.png?rev=3712401)

# MakeMeHappy QR Code

 By [MakeMeHappy](https://profiles.wordpress.org/makemehappysk/)

[Download](https://downloads.wordpress.org/plugin/makemehappy-qr-code.1.1.0.zip)

 * [Details](https://wordpress.org/plugins/makemehappy-qr-code/#description)
 * [Reviews](https://wordpress.org/plugins/makemehappy-qr-code/#reviews)
 *  [Installation](https://wordpress.org/plugins/makemehappy-qr-code/#installation)
 * [Development](https://wordpress.org/plugins/makemehappy-qr-code/#developers)

 [Support](https://wordpress.org/support/plugin/makemehappy-qr-code/)

## Description

MakeMeHappy QR Code adds a payment QR image to the order received page for unpaid
WooCommerce Direct bank transfer (BACS) orders. You can also include it in customer
HTML emails for pending or on-hold orders.

All plugin features are free. No registration number, activation key or plugin license
purchase is required. There is no custom update server or telemetry. QR image generation
uses the external services documented below. QR payment is enabled by default and
automatically uses the selected service once bank details are configured. A dismissible
information box explains this in the settings.

 * PAY by square for Slovak IBAN accounts and EUR orders, generated by Profit365.
 * SPAYD and SEPA EPC modes retained from the earlier plugin; images generated by
   QR Server. SEPA EPC requires EUR. Bank application support varies by format.
 * Select a bank account from the existing WooCommerce BACS accounts.
 * Optional variable symbol from the order number (up to 10 digits, PAY by square/
   SPAYD).
 * Payment message with {order_number} and {site} placeholders.
 * Image sizes: 64, 128, 256 or 512 pixels.
 * Translation-ready English interface; directory translations are delivered by 
   WordPress language packs.
 * WooCommerce High-Performance Order Storage (HPOS) support.

The plugin does not execute payments or confirm receipt of funds. Customers should
check the recipient and amount in their banking application. The store must reconcile
payments as usual. External image availability and email image loading depend on
the provider and email client. A QR in an already sent email is static and cannot
reflect later order changes or payments.

### External services

This plugin connects to external image services as its core QR-generation functionality.
Activating it with QR payment enabled and valid bank details allows QR images to
load automatically on eligible order pages and, if enabled separately, in customer
emails. There is no separate external-services checkbox. An information box at the
top of WooCommerce > Settings > QR payment explains the service and data transfer;
dismissing it only saves a display preference for the current administrator and 
site. Turn off Enable QR payment to stop new QR output. Existing saved values of
that main switch are respected. The obsolete mmh_qr_external_consent option from
the earlier unpublished 1.1.0 test build no longer controls output. The selected
format determines the service. There is no automatic switch to a different service
or format on failure. No account credentials are required by this plugin for either
image endpoint.

When an order page or customer email loads the QR image, the browser or email proxy
contacts the provider directly over HTTPS. The plugin does not download remote PHP,
JavaScript or CSS. Disabling QR payment stops new QR output; it cannot recall images
in previously sent emails.

#### Profit365 (PAY by square)

Endpoint: https://services.profit365.eu/API/QR/PayBySquare.png

Purpose: generate a PAY by square payment image for a Slovak IBAN and EUR amount.

Sent data: recipient IBAN and BIC, amount, currency, current date as due date, optional
variable symbol derived from the order number, payment message and requested image
size. The default message contains the order number and site hostname. The requesting
browser/proxy also exposes its IP address and usual HTTP metadata to the service.
The image uses a no-referrer policy where the client supports it.

Service documentation: https://www2.profit365.eu/services/qr-generator/
 Provider
terms: https://www.profit365.eu/sk/sk/obchodne-podmienky Provider data security 
information: https://www.profit365.eu/sk/sk/bezpecnost Provider service agreement:
https://www.profit365.eu/sk/sk/zmluva-o-poskytovani-sluzieb

#### QR Server / goQR.me (SPAYD and SEPA EPC)

Endpoint: https://api.qrserver.com/v1/create-qr-code/

Purpose: turn the selected SPAYD or SEPA EPC payment payload into a QR image.
 Sent
data: payment payload (recipient IBAN/BIC, amount, currency, payment message, optional
variable symbol for SPAYD, recipient name for SEPA EPC) and requested image size.
The browser/proxy also exposes its IP address and HTTP metadata. The plugin does
not add the customer’s name, postal address or email to either service request. 
Administrators should not include private customer details in the payment message
or custom order numbering.

Documentation: https://goqr.me/api/
 Terms: https://goqr.me/legal/tos-api.html Privacy:
https://goqr.me/de/rechtliches/datenschutz-api.html

## Screenshots

[⌊PAY by square on an unpaid bank transfer order in a demonstration store.⌉⌊PAY 
by square on an unpaid bank transfer order in a demonstration store.⌉[

PAY by square on an unpaid bank transfer order in a demonstration store.

[⌊Payment QR code in a customer HTML order email.⌉⌊Payment QR code in a customer
HTML order email.⌉[

Payment QR code in a customer HTML order email.

[⌊Slovak QR payment settings with the dismissible external-service information box.⌉⌊
Slovak QR payment settings with the dismissible external-service information box
.⌉[

Slovak QR payment settings with the dismissible external-service information box.

## Installation

 1. Install and activate WooCommerce, then MakeMeHappy QR Code.
 2. Configure Direct bank transfer and its bank account details under WooCommerce >
    Settings > Payments.
 3. Open WooCommerce > Settings > QR payment. Select the matching account and format.
 4. Read the external-service information box. QR payment is enabled by default; use
    Enable QR payment to switch it on or off. Closing the box does not change payment
    settings.
 5. Configure the payment message, size and optional customer email output, then save.
 6. Place a test bank transfer order. Scan the QR code and verify the recipient, currency,
    amount and reference before making the plugin available to customers.

## FAQ

### Does it require a license key?

No. There is no license activation or registration screen. Donations are optional.

### Can I upgrade from 1.0.2?

Yes. Back up your site, then replace the existing plugin using this ZIP. The folder
and main file remain makemehappy-qr-code/makemehappy-qr-code.php. Existing mmh_qr_*
options and legacy values inside woocommerce_bacs_settings are read as fallbacks;
bank accounts and orders are not deleted. Saving QR settings writes new makeqrco_*
options, which take precedence over the old standalone options and then the legacy
BACS values. The QR payment tab is the single place to edit QR settings; the BACS
screen links to it.

After upgrading, QR uses the main Enable QR payment setting without another activation
step. Version 1.1.0 does not contact the former update endpoint and does not read
or modify WordPress update transients or alter the built-in update process. Directory
updates depend on publication under this same slug; the ZIP does not itself publish
the plugin or push updates to existing stores.

Plugin functions, options, hooks, script handles and AJAX actions now use the distinctive
makeqrco prefix. Custom integrations using the former mmh_qr_* filters must switch
to their makeqrco_* equivalents. Old settings remain readable as described above.

### How are translations installed?

WordPress automatically loads available language packs for the makemehappy-qr-code
text domain. Translation files are not bundled in the plugin ZIP. Slovak and Czech
source translations are prepared for contribution to translate.wordpress.org after
approval; until a language pack is published or installed separately, the interface
uses English.

### Why is no QR displayed?

Check the Enable QR payment setting, selected account, IBAN checksum, BIC, order
status, positive total and currency. PAY by square requires SK/EUR; SEPA EPC requires
EUR. The plugin does not silently choose another account or format. QR output is
omitted for paid, completed, cancelled, failed and refunded orders, other payment
methods, administrator emails and plain-text emails. Clients may block external 
images. Standard WooCommerce bank transfer instructions remain available.

### Does it run without WooCommerce?

WooCommerce is required for settings and order output. Without WooCommerce the plugin
does not register its payment hooks.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“MakeMeHappy QR Code” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ MakeMeHappy ](https://profiles.wordpress.org/makemehappysk/)

[Translate “MakeMeHappy QR Code” into your language.](https://translate.wordpress.org/projects/wp-plugins/makemehappy-qr-code)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/makemehappy-qr-code/),
check out the [SVN repository](https://plugins.svn.wordpress.org/makemehappy-qr-code/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/makemehappy-qr-code/)
by [RSS](https://plugins.trac.wordpress.org/log/makemehappy-qr-code/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.1.0

 * Removed the custom updater and all license-validation code; all functions remain
   free.
 * Added a dismissible external-service information box and service documentation;
   QR generation works automatically when QR payment is enabled.
 * Preserved plugin identity, bank accounts and settings from 1.0.2.
 * Consolidated QR settings to avoid conflicting values across settings screens.
 * Restricted QR output to authorized order views and unpaid customer orders.
 * Added IBAN checksum and BIC validation; no silent account or format fallback.
 * Corrected SEPA EPC field order and SPAYD BIC formatting.
 * Added translation-ready English source strings, GPL license and HPOS declaration.
 * Standardized plugin identifiers on makeqrco, with read-only compatibility for
   old settings.
 * Removed all update-cache handling and manual translation loading; language packs
   are managed by WordPress.

#### 1.0.2

 * Earlier standalone release with external QR image generation and a custom updater.

## Meta

 *  Version **1.1.0**
 *  Last updated **18 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [bank transfer](https://wordpress.org/plugins/tags/bank-transfer/)[pay by square](https://wordpress.org/plugins/tags/pay-by-square/)
   [payments](https://wordpress.org/plugins/tags/payments/)[qr code](https://wordpress.org/plugins/tags/qr-code/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/makemehappy-qr-code/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/makemehappy-qr-code/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/makemehappy-qr-code/reviews/)

## Contributors

 *   [ MakeMeHappy ](https://profiles.wordpress.org/makemehappysk/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/makemehappy-qr-code/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://makemehappy.sk/donate/)