MMG Checkout for WooCommerce in Guyana: The Revamped GY Plugin That Works With Block Checkout

The Most Advanced MMG Payments Plugin.

This plugin adds MMG as a payment option at checkout and it works with both WooCommerce Classic Checkout and WooCommerce Block Checkout. Customers are redirected to MMG’s secure hosted payment page, they complete payment, then they return to your store. Once they return, the order updates automatically in WooCommerce so your order history, invoices and customer account pages stay accurate.

Latest Version: 2.14.20

2.14.20

  • Made the MMG checkout session always fresh by default. Every customer attempt now generates a new MMG session URL and a new merchantTransactionId, so there is no chance of MMG rejecting a reused id after an abandoned first attempt. The only cached case is two concurrent calls landing inside the same wall-clock second (which would otherwise generate an identical id) — that narrow window is resolved by returning the in-progress URL once. Stores that need a longer reuse window for a specific integration can raise it with the mmgwc_checkout_session_reuse_seconds filter.

2.14.19

Hotfix for two issues reported against 2.14.18.

  • Restored the branded MMG logo on the checkout payment method and the Revamped GY logo in the WP Admin header. Both are now shipped as bundled .webp files under assets/images/ so no external request is needed. The URLs remain filterable via mmgwc_gateway_icon_url and mmgwc_brandbar_logo_url.
  • Fixed an issue where a customer who abandoned the MMG page without returning (for example by closing the tab or losing signal before the OTP step) could see “We are unable to process your request right now” on their next attempt, or the MMG QR would fail to render. The plugin used to reuse the same MMG checkout session URL (and the same merchantTransactionId) for 20 minutes; MMG rejects that id on the next attempt because it has already seen it. The reuse window is now 60 seconds, tight enough to guarantee a fresh MMG session whenever the customer actually retries but still wide enough to absorb theme double-init. Added a new mmgwc_checkout_session_reuse_seconds filter so the default can be tuned per site.
  • Reduced log context on the “MMG redirect reused” message so the full URL (including token) is no longer written to the log file.

2.14.18

Major security and reliability release covering the full plugin. No changes to the MMG token shape or callback URL, so existing credentials continue to work.

Security

  • Encrypts private keys, secret keys and API credentials at rest using AES-256-GCM keyed on the site’s AUTH_KEY. Existing plaintext values continue to work transparently.
  • Large settings values are now stored with autoload disabled so PEM blobs no longer load on every request.
  • QR code images are generated locally as inline SVG. Payment-link tokens are never sent to third-party services (previously api.qrserver.com).
  • Removed the unauthenticated QR template AJAX endpoint. Only logged-in users with manage_woocommerce can create QR templates. Tokens are now 32 random bytes.
  • Role Manager refuses to grant Importer, Logs, Features Manager or Role Manager capabilities to non-administrator roles.
  • Feature Manager save now drops unknown slugs so the database only stores registered flags.
  • Admin order-screen notices are delivered via short-lived per-user transients, blocking crafted URLs from showing fake admin notices.
  • Verify Payment AJAX verifies the nonce before reading any request data.
  • Payment-link and payment-request emails strip CR / LF characters from headers and body fields and refuse to send if the URL contains newlines.
  • Credential Importer enforces size, ZIP entry count, uncompressed size and PEM validation, rejects traversal paths, and returns a short generic error message to the admin while logging full detail internally.
  • Support Bundle temp file is written to the system temp directory with a random suffix (not the publicly-served uploads folder). Settings redaction now uses an allow-list so any future secret key is redacted by default.
  • Self-hosted updater rejects non-HTTPS URLs, requires the download host to match the JSON host (filterable), refuses version downgrades, caches correctly, and optionally verifies a package SHA-256 declared in the update JSON.
  • RSA-OAEP decryption now returns a single generic error to avoid oracle leakage.
  • Logger scrubs nested arrays, bearer tokens, PEM blocks, and more key names.
  • Callback handler returns accurate HTTP status codes (400 / 404 / 503) instead of HTTP 200 on error.
  • Rewrite regexes tightened: QR tokens must be alphanumeric and at least 10 characters.
  • My Account subscription actions are POST-only, so nonces do not leak through referer or history.
  • Admin Subscriptions pause / resume / cancel / lock actions are POST-only with inline form buttons.

Reliability

  • Fixed MMGWC_Settings::get_config returning constant names instead of actual values for status mapping and currency settings.
  • Removed a duplicate MMGWC_Checkout_Compat::init() call that double-registered frontend hooks.
  • Analytics page now paginates in 500-row chunks and caps at 5000 orders to prevent out-of-memory on large shops.
  • Exports query by payment_method at the database level, add a UTF-8 BOM, and escape CSV cells that could trigger formula injection in Excel or LibreOffice.
  • Subscriptions cron is now guarded by a short lock so overlapping WP-Cron and system cron runs cannot double-send emails.
  • Renewal-order creation now uses a per-subscription lock to prevent duplicate renewal orders under concurrent admin or cron activity.
  • FX rates are validated against a plausibility window so a bad feed cannot silently bill a near-zero or absurdly large amount.
  • FX refresh accepts only ISO-4217 currency codes.
  • QR handler call sites now explicitly return after rendering a public message, protecting against future refactor regressions.
  • Payment Requests and QR Payments now only accept published products.
  • Subscription update_status enforces a status enum so callers cannot persist arbitrary strings.
  • Gateway settings save merges into the existing option rather than replacing it, preserving unrelated keys like qr_checkout_fallback.
  • External dependencies for the admin logo and gateway icon are now bundled locally.
  • Uninstall handler added: drops plugin options, transients, capabilities and the subscriptions table on plugin delete. Deactivation no longer strips custom role caps.
  • Internal log rotation is now symlink-safe; the logs view has a hard memory cap.
  • WooCommerce 9.4 compatibility retained. Classic Checkout and Blocks Checkout flows unchanged at the merchant-facing level.

2.14.17

  • Improved retry behaviour after failed MMG attempts by clearing the cached checkout session and merchant transaction id on failed, cancelled, and timed out responses so customers can return to the same checkout page and try again immediately.
  • Preserved protection against duplicate theme initiations by still reusing the active MMG checkout URL while the customer is in progress, which helps custom checkout flows such as Elessi.
  • Reduced cases where the MMG page reopens an expired or invalid session, which can also affect QR display and repeated login attempts.

2.14.16

  • Improved stability for custom checkout themes such as Elessi by reusing the last generated MMG checkout URL for 20 minutes, preventing OTP interruptions caused by duplicate initiation events.
  • Improved callback compatibility by supporting token return formats like ?wc-api=mmg-checkout/<TOKEN> and preventing canonical redirects from rewriting callback requests.
  • Improved order resolution by extracting the WooCommerce order id from merchantTransactionId format <order_id>-<timestamp>.

2.14.15

  • Improved MMG checkout initiation so retry attempts generate a fresh merchant transaction id after a short double click window.
  • Adjusted requestInitiationTime formatting to be sent as a string for stricter gateway validation.

2.14.14

  • Fixed a checkout “-1” blank page failure caused by themes or checkout customisations omitting the WooCommerce process checkout nonce field.
  • Added a lightweight checkout compatibility script that injects the missing nonce into the checkout form when needed, improving compatibility with custom checkout UIs.

2.14.13

  • Fixed Live (Production) checkout URL to use the correct MMG payment host (mmgpg.mymmg.gy).
  • Added an automatic migration that replaces the old mmgpg.mmg.gy URL in saved settings to prevent “This site can’t be reached” errors after switching to Live.

2.14.12

  • Added the MMG logo icon next to the MMG Checkout payment method label, aligned neatly like other gateways.
  • Works on both Classic checkout and WooCommerce Blocks checkout.

2.14.11

  • Fixed QR checkout link mode so QR links open a real WooCommerce order pay page that shows payment options and the Pay button.
  • In checkout link mode, QR orders created by admins are stored as guest orders so customers can pay without being forced to log in.
  • In checkout link mode, the plugin no longer forces MMG as the order payment method so the pay screen can load gateways normally.

2.14.10

  • Changed QR checkout link mode so newly generated QR links become standard WooCommerce /checkout/order-pay/… links (no custom mmgwc_qr query token).
  • In checkout link mode, the plugin creates the order at QR generation time, similar to Payment Requests, then customers land on checkout first and choose a payment method.

2.14.9

  • Added a QR Payments alternative redirect mode that sends customers to the WooCommerce pay screen first. This is useful if the direct MMG redirect method is blocked by a security plugin, caching, or hosting security rules.
  • Added a checkbox setting under MMG Checkout → QR Payments to enable the alternative checkout flow.

2.14.8

  • Fixed QR public token handling so tokens are safely normalised even on hardened setups where query parameters may arrive in unexpected formats.
  • Improved fail fast behaviour for invalid links and added no cache headers for QR token requests.

2.14.6

  • Fixed an admin UI glitch where a stray “QR Payments” link could appear in the top-left during page loads, especially noticeable on mobile view.
  • Cleaned up admin menu rendering to prevent unintended output during menu registration.

2.14.5

  • Fixed QR payments redirect behaviour so QR links now send customers straight to the MMG payment page reliably.
  • Adjusted redirect handling to avoid WordPress safe redirect restrictions that could push users back to the site homepage.

2.14.4

  • Improved QR link compatibility by defaulting to a query-string QR link format for better reliability across security plugins and hosting rules.
  • Reduced edge cases where pretty links could trigger forced login redirects.

2.14.3

  • Fixed a fatal TypeError in the QR payment handler caused by passing the wrong variable type into the order creation function.
  • Hardened token parsing to prevent invalid data from reaching the QR order builder.

2.14.2

  • Added QR routing improvements to reduce unwanted homepage redirects caused by canonical redirects or query stripping.
  • Improved public handler detection to accept multiple QR URL formats cleanly.
  • Improved rewrite and handler checks to make QR links more resilient.

2.14.1

  • Fixed a critical error after release by ensuring QR module classes are loaded before initialising the feature.
  • Updated internal module bootstrapping for safer feature loading.

2.14.0

  • Added QR MMG Payments module with admin generator and frontend shortcode support.
  • Added expiry handling and duplicate payment protection for QR payment links.
  • Added QR content and navigation updates in Overview and Help pages.

2.13.1

  • Added self hosted update support using a JSON metadata endpoint and hosted ZIP downloads so users can update from wp-admin.
  • Updated readme changelog and release notes for the new updater flow.

2.13.0

  • Refreshed the plugin admin UI to match Revamped GY branding with cleaner layout, improved spacing, and nicer controls.
  • Improved consistency of admin components across all MMG Checkout pages.

2.12.4

  • Updated documentation flow across the plugin to reflect the correct callback process: copy callback URL from Diagnostics and send it to MMG when requesting credentials.
  • Updated wording across Overview, Help, and relevant settings hints.

2.12.3

  • Fixed a fatal admin error caused by an invalid footer hook that could break the entire WordPress admin menu.
  • Removed the global footer injection and kept support branding only where intended.

2.12.2

  • Corrected the setup flow in Overview and Help: request UAT package, import, test, send test video to MMG, receive Live package, import, then switch to Live.
  • Updated plugin row links (View Details and Visit Plugin Site) to the new plugin landing page.

2.12.1

  • Fixed My Account endpoint handling that could cause critical errors when loading customer account pages.
  • Updated Help and Overview to match the latest feature set and navigation.
  • Expanded readme and changelog structure.

2.12.0

  • Added Features Manager to enable or disable major plugin modules and hide their menus when disabled.
  • Added Role Manager so site admins can grant access to specific MMG features per user role.
  • Locked core management pages (Feature Manager, Role Manager) so they cannot be accidentally disabled.

2.11.1

  • Fixed Analytics menu registration so the Analytics page reliably appears under MMG Checkout.

2.11.0

  • Added improved subscription controls: grace period logic with overdue tagging, pause and resume, and stop reminders after missed cycles.
  • Added per-subscriber renewal price locking, not just per-product locking.
  • Added lightweight Analytics dashboard: weekly and monthly totals, success, failed, cancelled, pending counts, and top products.

2.10.0

  • Added My Account portal sections: My Invoices and My Subscriptions.
  • Improved exports with more filters: by status, product, customer, and a monthly summary export option.

2.9.1

  • Added Support Bundle tool to generate a redacted zip of diagnostics, logs, and optional order details for faster troubleshooting.

2.9.0

  • Added full Subscription reminders module with subscriber tracking table, reminder scheduling, and email templates.
  • Added product-level “MMG Subscription” settings so subscription rules can be set per product.
  • Added renewal link generation using real WooCommerce renewal orders for clean audit history.

2.8.0

  • Added Payment Requests module using WooCommerce “pay for order” flow.
  • Created Payment Requests list and Create Request page, supporting both products and custom invoice-only items.
  • Added request expiry support and safeguards to prevent paying expired invoices.

2.7.0

  • Added currency conversion support for stores selling in non-GYD currencies, converting totals to GYD for MMG.
  • Added Diagnostics support for currency details, rate source visibility, caching, and a manual refresh button.
  • Added order metadata so conversion rates and rounding differences are visible in WooCommerce.

2.6.0

  • Added resend payment link tool and improved exports and admin reporting.
  • Added advanced order status mapping options for different fulfilment workflows.
  • Added log rotation to prevent huge debug files.

2.5.1

  • Fixed WooCommerce Blocks Checkout compatibility issues and improved checkout reliability.

2.5.0

  • Moved all settings and tools into a dedicated WP Admin menu: MMG Checkout.
  • Added credential Importer supporting MMG zip package uploads plus manual cfg and key uploads.
  • Improved user guidance on where to get files and how to go live.

2.0.0

  • Major rewrite focusing on stability, logging, diagnostics, and better WooCommerce status handling.
  • Added Verify Payment button in the order screen and stronger duplicate callback protections.
  • Improved plugin metadata, settings descriptions, and plugin row links.

1.0.3

  • Fixed return handling so orders update correctly after MMG payment, removing the “-1” return issue.
  • Improved callback handling to prevent pending orders after successful payment.

1.0.2

  • Improved MMG request flow and fixed “Unable to Process” errors caused by request formatting issues.
  • Strengthened redirect and response validation.

1.0.1

  • Improved gateway stability and added better error handling for redirects and order creation.

1.0.0

  • Initial release: MMG Checkout payment gateway for WooCommerce with core redirect flow and order creation.
Mmg new logo
Woocommerce mmg plugin setttings
Checkout

MMG Checkout on WooCommerce

Adds MMG as a payment method at checkout for local customers in Guyana. Orders update automatically after successful payment.

Woocommerce mmg plugin
Checkout 1

WooCommerce Blocks Checkout Ready

Works properly with the modern Checkout block and Classic Checkout flows. No need to downgrade your store to older checkout pages.

Woocommerce mmg plugin importer
Import

Fast Credential Importer Tool

Upload the MMG UAT or Live zip package and auto-configure your keys and settings. You can also upload setup.cfg and pem files separately.

Woocommerce mmg plugin modes
Sandbox

Live and Sandbox Mode Switching

Test safely in Sandbox first, then switch to Live when approved by MMG. Swap modes anytime without rebuilding the checkout setup.

Woocommerce mmg plugin order status
Order now

Order Status Auto Updates

Marks orders based on MMG results like success, failed, cancelled, or timed out. Keeps order history, emails, and invoices accurate.

Mmg woocomerce plugin payment resend
Recovery

Verify Payment Recovery Tool

Confirms payments from the order screen if a redirect was interrupted. Helps fix stuck orders without guessing or manual updates.

Woocommerce mmg plugin payment requests
Cards

Resend Payment Link Button

Regenerates a payment link for pending orders and sends it to the customer. Also shows a quick copy link for faster support.

Woocommerce mmg plugin invoices
Invoice

Payment Requests and Invoices

Create invoice-style orders and send customers a pay link to complete payment. Works using WooCommerce’s secure order-pay flow.

Woocommerce mmg plugin portal
Web portal

My Account Customer Portal

Customers can view invoices and subscriptions inside their My Account area. They can pay, renew, and check status without contacting support.

Woocommerce mmg plugin subscriptions
Subscription

Subscription Reminder System

Send renewal reminders with a pay link for subscription products you define. Tracks last paid, next due, and overdue status automatically.

Woocommerce mmg plugin subscription settings
Subscription model

Subscriber Controls and Overdue Tags

Add grace periods, overdue tagging, pause or resume reminders, and stop after missed cycles. Gives you real control over renewals and follow ups.

Woocommerce mmg plugin subscription lock
Subscription 2

Per-Subscriber Price Locking

Lock the renewal amount for a specific subscriber when needed. Keeps pricing consistent for agreements or special customers.

Woocommerce mmg plugin. Currency conversionjpg
Exchange

Currency Conversion to GYD

Converts non-GYD totals into GYD using cached exchange rates, then rounds neatly. Saves conversion details on the order for clean reporting.

Woocommerce mmg plugin diagnostics
Diagnostic

Diagnostics and Callback Display

Shows your callback URL and system checks on a dedicated Diagnostics page. Copy the URL and send it to MMG when requesting credentials.

Woocommerce mmg plugin
Export file

Exports with Filters and Summary

Export CSV reports by date, status, product, or customer for reconciliation. Includes a monthly summary with totals and success rate.

Woocommerce mmg plugin analytics
Trend

Analytics Dashboard Overview

View MMG totals this week and month, plus success and failure rates. Also shows pending orders and top paid products.

Woocommerce mmg plugin logs
Debug

Logs and Debug Tools Built In

Safe logs help identify callback and payment issues without exposing secrets. Includes rotation options to keep log files manageable.

Woocommerce mmg plugin support bundle
Quantity

Support Bundle Generator

Creates a redacted zip with diagnostics and logs for faster troubleshooting. Makes support simple without sharing sensitive files.

Woocommerce mmg plugin advanced
Diagram

Advanced Status Mapping Options

Choose how paid orders are marked, like Processing or Completed, based on your store. Keeps fulfilment and digital delivery aligned.

Image 2026 01 08 141251264 e1767896118738
Planning

Duplicate Callback Protection

Prevents double-processing if MMG hits the callback more than once. Keeps orders stable and avoids repeated status changes.

Woocommerce mmg plugin features manager
Setup

Features Manager Toggles

Turn plugin modules on or off to match each store’s needs. Disabled features stop running and disappear from the admin menu.

Woocommerce mmg plugin role managmement
Permission management

Role-Based Access Manager

Choose which user roles can access each feature and page. Admin controls everything and can grant access safely.

Woocommerce mmg plugin support
Technical support

1 on 1 Support and Integration

Get personal support from the Revamped GY team! We can help you acquire your merchant account and even build your site from scratch. 

Woocommerce mmg plugin qr payments
Qr code

QR Payments Generator

Automatically create QR codes that point directly to the MMG Checkout Page, and finishes the order in your store!

Reavmped gy logo
Coming soon

New Features Coming Soon

As new features launch, you will be updated by email. You can even request new features and we will add them.

How it helps your store.

This plugin is not only about “taking a payment”. It helps you run your business.

Add to cart pana
  • Fewer abandoned checkouts

    MMG is familiar to local customers. A trusted local option often increases the chance that customers finish payment.

  • Cleaner order management

    When payments update properly, your fulfilment becomes easier. Staff can see whether an order is paid, pending, failed, cancelled or timed out.

  • Faster customer support

    Instead of long back and forth messages, you can use a simple workflow and close issues quickly.

Who is this plugin for?

This plugin is ideal for WooCommerce stores in Guyana that want a reliable MMG checkout flow, especially stores using the WooCommerce Checkout block and stores that need strong admin tools like exports, verify payment and resend link.

 

If you are a developer, the plugin also gives you a clean, repeatable setup process for client sites since credentials can be imported quickly and the diagnostics tools speed up troubleshooting.

Upgrade your business now.

You can download and try for yourself, or hire us to do it for you. We even provide ongoing support and so many other services!

Online shopping amico

Contact Us

Secret Link