CheckMo Availability

v2.1.1 Annual Subscription Updated Jun 11, 2026

CheckMo Availability

Contrôlez précisément quand le mode de paiement « chèque / virement » est disponible à vos clients, selon le pays, le groupe client, le montant ou la devise.
Magento 2.4.4 Magento 2.4.5 Magento 2.4.6 Magento 2.4.7 Mage-OS 2.0 Mage-OS 2.1
€49.00
Try the live demo
  • Updates and support included for 12 months
  • License key delivered immediately by email
  • 30-day money-back guarantee
  • Full documentation included
  • Composer-ready installation

Checkmo Availability

Restrict Magento's built-in Check / Money Order and Cash on Delivery payment methods to a chosen set of customer groups — and, for COD, to specific pickup shipping methods only. A small, surgical module for merchants who want these "trust-required" offline payment methods exposed to known wholesale or pro accounts, never to anonymous guests.

Magento natively offers no granular control over who can pay by COD or check: enabling the method exposes it to everyone. This module fills that gap with a customer-group whitelist and a checkout-side filter that removes the method from the available list at quote time.

Who it's for

  • B2B merchants who accept offline payments (check, money order, COD) for wholesale or pro accounts but want guests and standard B2C customers to be limited to electronic methods
  • Stores running a click-and-collect / pickup workflow where Cash on Delivery is only valid when the customer actually picks up at the warehouse
  • Merchants who have been turning Check/MO and COD on and off globally to control fraud — this module replaces that workaround

Key benefits

  • Customer-group whitelist — multiselect of allowed customer groups in the admin; everyone else simply doesn't see the methods at checkout.
  • Pickup-aware COD — Cash on Delivery is filtered out at quote time unless both the customer's group is whitelisted AND the chosen shipping method is one of the configured pickup methods. No more COD on home delivery orders.
  • No code changes, no template hacks — the filtering runs as a plugin on Magento\Payment\Model\MethodList::getAvailableMethods, so it works with any frontend (Hyvä, Luma, Wimakeit Checkout) and any checkout UI that consumes the standard payment-methods list.
  • Disabled by default — installing the module changes nothing until you flip the Enable toggle and pick at least one customer group, so it's safe to deploy ahead of configuring it.
  • Lightweight — one plugin, one config model, no schema patches, no cron, no FPC impact.

Compatibility

  • Magento 2.4.x / Mage-OS equivalent
  • PHP 8.1, 8.2, 8.3
  • Requires wimakeit/module-core ^3.0
  • Works with the native Magento checkout, with Hyvä checkouts, and with Wimakeit Checkout
  • Compatible with Varnish Full Page Cache (no impact — the filter runs in the customer session, not in cached pages)

Install this module via Composer. Make sure your auth.json is configured with your Wimakeit credentials.

Terminal
$ composer require wimakeit/module-checkmo-availability:^2.1.1
$ bin/magento setup:upgrade
$ bin/magento setup:di:compile

Installation notes

The standard composer require + setup:upgrade + setup:di:compile flow applies. The points below cover what's specific to this module.

Required dependency

This module requires wimakeit/module-core ^3.0 (provides the shared Wimakeit admin tab and config helpers). Composer pulls it automatically from the Wimakeit registry as long as the registry is declared in your project's composer.json.

How it works

The module adds a plugin on Magento\Payment\Model\MethodList::getAvailableMethods. When the quote is loaded at checkout:

  • checkmo (Check / Money Order) is removed unless the customer's group is in the configured whitelist.
  • cashondelivery is removed unless the customer's group is whitelisted and the chosen shipping method matches one of the configured pickup methods.

The list of pickup methods is currently a constant (Config::PICKUP_AT_KITCROSS) — adjust in code if you need a different set. There is no admin field for it yet.

Configuration

Go to Stores > Configuration > Wimakeit > Checkmo Availability. The module is disabled by default — nothing changes until you turn it on and pick at least one group.

SettingDefault
EnableNo
Customer Groups(none — multiselect)

Hold Ctrl (Cmd on Mac) to select several customer groups.

ACL

The module declares a Wimakeit_CheckmoAvailability::config ACL resource, granted to the Administrator role only. Assign it to back-office roles that should be allowed to edit the whitelist.

No cron, no patches, no env keys

The module has no cron jobs, no schema/data patches, and no app/etc/env.php keys to set.

Version
v2.1.1
License
Annual Subscription
Support
12 months
Last updated
Jun 11, 2026
Magento
Magento 2.4.4 Magento 2.4.5 Magento 2.4.6 Magento 2.4.7 Mage-OS 2.0 Mage-OS 2.1
PHP
PHP 8.1 PHP 8.2 PHP 8.3
Hyvä
Not compatible
Package
wimakeit/module-checkmo-availability

Compatibility checker

Pick your stack to see if this module fits.

Compatibility 4

Yes. CheckMo Availability is tested against Magento Open Source 2.4.4 → 2.4.7, Adobe Commerce on the same line, and Mage-OS 2.0+ — on PHP 8.1, 8.2 and 8.3. The Specifications tab lists the exact tested combinations. If your stack is in the list, we guarantee a clean install. Wimakeit is an Adobe-certified Magento agency based in Presles (Charleroi / Namur region), Wallonia, Belgium and runs every module against the same matrix we ship to enterprise clients across Belgium, France and the Netherlands.
CheckMo Availability targets the classic Magento / Luma stack today. A dedicated Hyvä companion may exist as a separate package — check the Wimakeit modules catalogue or contact our Wallonian office (Presles) for a custom Hyvä port.
Hyvä Storefront (Tailwind + Alpine.js, server-rendered) and Hyvä Checkout (React-based, headless on top of Magento) are two distinct packages. CheckMo Availability ships native Hyvä Storefront compatibility — its frontend is rendered through Hyvä templates with no Luma fallback. Hyvä Checkout integration is delivered when the module has a checkout-step touchpoint (custom payment input, terms checkbox, etc.); otherwise the module runs server-side without any Hyvä Checkout customisation needed. See the Specifications tab for the exact Hyvä integration scope of this module.
Yes. CheckMo Availability respects the standard Magento scope (default / website / store / store_view). Every configuration is overridable per store view. Frontend labels use Magento's standard translation files — shipped in French, English and Dutch out of the box. Currencies follow your Magento currency setup with no extra wiring. A typical Wimakeit Magento store runs an fr_BE / nl_BE / en_GB triplet from a single backend — CheckMo Availability is ready for this B2B / international setup.

Pricing & licensing 4

€49 — one-time payment, perpetual licence, no recurring fees. Includes 1 year of minor updates + email support in French, English and Dutch, 1 production domain + 1 staging/dev domain. Renewing the support window after year 1 is optional. Volume licences are negotiated directly — write to contact@wimakeit.com for agency or multi-store pricing.
Yes. CheckMo Availability has a live demo on demo.wimakeit.be/module-checkmo-availability where you can poke around the admin and frontend with a real install pre-populated with sample data. For longer evaluations, request an evaluation licence via our contact form — evaluations cover the same scope as the paid licence and convert to a permanent key on purchase.
We review refund requests case by case. If the module doesn't deliver what was advertised, email contact@wimakeit.com from the address tied to your licence. The refund policy is published on the terms page and applies to every module sold through this marketplace.
CheckMo Availability is distributed under a commercial proprietary licence — not MIT, GPL or any other open-source licence. The PHP source ships in vendor/wimakeit/ once you composer require the package, so you can read it, audit it, and patch it locally for your own Magento install. You may NOT redistribute it, sublicense it, publish it on a public package registry, or sell it on. One licence = one production domain + one staging/dev domain (see terms for the full EULA). Wimakeit modules are NOT part of Magento's open-source repository on packagist.org — they are distributed exclusively via the private Composer registry packages.wimakeit.be.

Installation & updates 6

Run composer require wimakeit/module-checkmo-availability:^2.0.8, then bin/magento setup:upgrade, bin/magento setup:di:compile, and finally bin/magento cache:flush. The Installation tab on this page lists every configuration step (ACLs, cron jobs, default values) so a deploy takes minutes, not hours. If you need a hand, Wimakeit offers Magento installation services from our Wallonian office (Presles, between Charleroi and Namur).
Step 1: get a token on packages.wimakeit.be → My account → Tokens. Step 2: at the root of your project add to auth.json: {"http-basic": {"packages.wimakeit.be": {"username": "YOUR-EMAIL", "password": "YOUR-TOKEN"}}}. Step 3: register the repo: composer config repositories.wimakeit composer https://packages.wimakeit.be. Step 4: composer require wimakeit/module-checkmo-availability:^2.0.8. In CI/CD pipelines, inject COMPOSER_AUTH as a JSON env var instead of committing auth.json.
Most merchants are live within 30 minutes: composer install (1-2 min) → setup:upgrade + di:compile (5-10 min depending on stack size) → admin configuration (5-15 min following the Installation tab) → smoke test on a product or order. Allow extra time if you have a custom theme overriding similar templates. The Wimakeit team has shipped this exact module to B2B and DTC stores across Belgium.
CheckMo Availability is built for Magento 2.4.x / Mage-OS 2.0+ and has no Magento 1 equivalent. When migrating from Magento 1, the Wimakeit team handles the audit, the data migration and the integration of CheckMo Availability into the new backend as part of a Magento migration project. Migrating from Adobe Commerce to Mage-OS is transparent for CheckMo Availability: same composer require, same module code, same database schema — no fork to maintain, no licence change.
Updates ship through your composer dependency (this exact package), hosted on Wimakeit's private Composer repository at packages.wimakeit.be. Each release is announced on the Changelog tab + the Wimakeit news and follows semantic versioning — composer update is safe within a major.
All .phtml templates are overridable from your theme: copy the file into app/design/frontend/{YourVendor}/{theme}/Wimakeit_{Module}/templates/ keeping the same relative path. Blocks, ViewModels and Helpers are overridable via DI preference in your own custom module — declare <preference for="Wimakeit\…\OriginalClass" type="YourVendor\Override\Class" /> in etc/di.xml. Layout XML is extended (preferred) or overridden the standard Magento way. Wimakeit modules never use the final keyword on classes you might reasonably want to override — overriding is a first-class scenario, not a hack.

Support & security 3

Open a ticket through the contact form on wimakeit.be or email contact@wimakeit.com with the module name, version, Magento/Mage-OS version and the steps to reproduce. Fixes ship in the next patch release. Wimakeit support is staffed in French, English and Dutch on business days (CET working hours).
Send security reports privately to contact@wimakeit.com with a clear [SECURITY] subject prefix — please include the module name, version and the steps to reproduce. We acknowledge promptly on business days and credit reporters in the Changelog if they wish. Wimakeit is a Belgian SRL (société à responsabilité limitée) bound by Belgian and EU privacy and disclosure law.
Yes. CheckMo Availability stores only the data its feature scope requires, never tracks shoppers across sites, and ships zero third-party calls by default. Combine it with the Wimakeit GDPR module to publish cookie banners and data-subject request forms compliant with Belgian, French and Dutch DPA guidance. Wimakeit's EU-based hosting partners (OVH Roubaix / Gravelines, Cblue Gembloux) keep every customer's data inside the EU.

About Wimakeit 1

Wimakeit is an Adobe-certified Magento partner agency based in Presles, Wallonia (between Charleroi and Namur), Belgium, building Magento and Mage-OS stores since 2020 across BE / FR / NL. Every module on this marketplace runs in production on at least one Wimakeit client (we eat our own dog food). Direct line to the developers who built the code, multilingual support (FR / EN / NL), CET business hours, no offshore handoff. See our portfolio for the kind of Magento builds we ship.

Found something not covered by the FAQ?

Report a bug or ask a question — the form is prefilled with this module.

Report a bug

Changelog

Categories: Security, Feature, Fix, Perf, Admin, Deps.

[2.1.1] - 2026-06-10

Security

  • Closed a bypass where the Check/Money Order and Cash on Delivery restrictions were only enforced on storefront-rendered pages: customers using the AJAX/REST checkout could see and select payment methods that should be locked to allowed customer groups. The plugins are now declared globally so the webapi_rest and graphql areas honour the same group restriction.

[2.0.9] - 2026-05-26

Deps

  • Certified PHP 8.4 support. Composer php constraint widened to >=8.1 <8.5.

[2.0.8] - 2026-05-08

Admin

  • Admin menu group standardized — module appears under a top-level Wimakeit_CheckmoAvailability entry with a Settings child that opens directly on the configuration section. Module reordered into the Sales group.

[2.0.7] - 2026-04-29

Deps

  • Certified PHP 8.1 → 8.3 support. Composer php constraint tightened to >=8.1 <8.4.

[2.0.6] - 2026-04-14

Admin

  • Composer/Satis distribution archives now exclude internal files (.gitlab-ci.yml, .claude/, docs/, .gitattributes).
  • Internal release pipeline standardized (validate, tag, deploy, release stages).

[2.0.5] - 2026-04-10

Security

  • Config path mismatch fixed — admin section now writes to wimakeit_checkmo_availability and the runtime reader uses the same path. Previously the storefront kept reading the legacy checkmo_availability path, so changes saved in the admin had no effect.
  • Forced payment/checkmo/active=1 removed from config.xml — the module is a restriction layer, not an activator. Stores can now disable checkmo entirely.
  • ACL resource declared properly (Wimakeit_CheckmoAvailability::config).

Perf

  • The three payment plugins moved from global di.xml to frontend/di.xml — no more CLI / cron / admin instantiation overhead.
  • Unused CheckoutSession dependency removed from both Available plugins; session proxies configured for all remaining plugins.

Admin

  • strict_types=1 added to Group.php; deprecated setup_version removed from module.xml; empty event.xml deleted.

[1.2.10] - 2026-04-10

Admin

  • Duplicate admin tab definition removed — module now uses the shared Wimakeit tab from wimakeit/module-core.

[1.2.9] - 2026-04-07

Deps

  • Depends on wimakeit/module-core for shared admin-tab and config abstractions.

[1.2.8] - 2026-03-19

Admin

  • Configuration access refactored from Helper\Data to Model\Config for alignment with current Magento architecture and consistency with the other Wimakeit modules.

[1.2.7] - 2026-03-19

Fix

  • Stray src/ folder accidentally shipped in the 1.2.6 archive removed — module loads cleanly again.

[1.2.5] - 2026-03-17

Admin

  • Type safety tightened (typed properties, return types). Admin menu wiring cleaned up.

[1.2.4] - 2026-01-28

Admin

  • Module version bumped in composer.json for marketplace alignment. No functional change.

[1.2.3] - 2025-12-17

Admin

  • Logging clarified when the customer-group restriction kicks in (eases debugging on stores with many customer groups).

[1.2.2] - 2025-12-16

Fix

  • module.xml sequence syntax corrected — fixes a setup:upgrade error on stores that load modules in dependency order.

[1.2.1] - 2025-12-15

Deps

  • Depends on wimakeit/module-core.

[1.2.0] - 2025-12-15

Feature

  • Initial public release of Wimakeit Checkmo Availability for Magento 2 / Mage-OS.
  • Restricts the Check / Money Order payment method to a configurable allowlist of customer groups.
  • Admin configuration under Stores → Configuration → Sales → Payment Methods → Check / Money Order with a multi-select of allowed customer groups.
  • Plugins on the payment method's isAvailable() and on the cart's payment-method list ensure the restriction is enforced in both the storefront checkout and REST API calls.

Found a bug? Tell us about it.

A short form opens in a new tab — the module name and your language are already filled in. Share what you tried, what went wrong, and we will get back to you within one business day.

Report a bug for CheckMo Availability
Module SKU: wimakeit-module-checkmo-availability · Language: en_US

Need help?

Our team is available to assist with integration.

Contact us
Planifier un appel