WooCommerce
To accept payments through MONEI in your WooCommerce store you simply need to install and configure MONEI WooCommerce Plugin.
Live demo
Requirements
| Component | Minimum | Tested up to |
|---|---|---|
| WordPress | 5.0 | 7.0 |
| WooCommerce | 3.0 | 11.0 |
| PHP | 8.0 | 8.3 |
Plugin versions 7.0.1 and newer require PHP 8.0+. If you are still on PHP 7.4, upgrade PHP before updating the plugin — WordPress itself no longer supports PHP 7.4 either.
The plugin is compatible with:
- WooCommerce Blocks (Cart + Checkout) — see the migration section below
- High-Performance Order Storage (HPOS)
- WooCommerce Subscriptions and YITH WooCommerce Subscription for recurring billing with saved cards
Before you begin
To test your integration:
- Use your test mode API Key. You can find it in MONEI Dashboard → Settings → API Access.
- You can check the status of a test payment in your MONEI Dashboard → Payments (in test mode).
Install

The recommended path is wp-admin → Plugins → Add new → search for MONEI → Install → Activate. WordPress will automatically update the plugin going forward.
For a pre-release or a specific tag, download the ZIP from the GitHub releases page and upload it via Plugins → Add new → Upload Plugin.
Configure
Go to WooCommerce → Settings → MONEI Settings
Enter your Account ID and API Key. You can find your Account ID and API Key in MONEI Dashboard → Settings → API Access. Test and live credentials have separate fields — the Mode toggle decides which pair is active.

Go to WooCommerce → Settings → Payments
Configure payment methods that you want to accept in your store. Each MONEI method has its own settings panel where you can switch between component (inline form) and redirect (hosted page) mode, customize the title and description, and theme the embedded form via JSON.

Card field layout
Under MONEI Cards, Card Field Layout decides how the card form looks:
- Single line (default) — card number, expiry and CVC share one field.
- Separate fields — each one gets its own field, which suits a checkout that already stacks its inputs.
Card Input Style themes both layouts from the same JSON, so switching layout keeps your styling.
Supported payment methods
- Card (Visa, Mastercard, and more) — with for saved cards
- Apple Pay
- Google Pay
- Bizum (Spain — automatically hidden for non-Spanish customers)
- PayPal
- Multibanco (Portugal — hidden for non-Portuguese customers, redirect only)
- MB Way (Portugal — hidden for non-Portuguese customers, redirect only)
Express checkout
Express checkout puts an Apple Pay, Google Pay or PayPal button on your storefront. The customer pays from the wallet sheet, and the shipping and billing address comes from the wallet, so nobody fills in the checkout form. It works on both the classic checkout and the Cart and Checkout blocks.
Express checkout is available from plugin version 7.1.0.
To turn it on, go to WooCommerce → Settings → Payments, open MONEI Apple Pay / Google Pay or MONEI PayPal, and set:
| Setting | What it does |
|---|---|
| Express Checkout | Turns the button on. Off by default. |
| Express Checkout Button Locations | Where the button appears: Product page, Cart page, Checkout page. All three by default. |
| Express Checkout Button Style | Themes the button in JSON. |
Each method is independent — you can offer a wallet button on the product page only, and PayPal nowhere, if that is what suits your store.
The same conditions as the regular payment method apply. Apple Pay needs your domain registered, and the Apple Pay or Google Pay button only appears for a customer whose device and browser can pay with that wallet.
For the equivalent in a custom integration, see Express checkout.
Migration to WooCommerce Blocks
Starting from version 6.0, the plugin supports WooCommerce Blocks. To enable the modern checkout experience, replace the legacy shortcodes with the Cart and Checkout blocks.
Go to Pages and find the Checkout page. Remove the old shortcode and add the Checkout block to the page.

Go to Pages and find the Cart page. Remove the old shortcode and add the Cart block to the page.

Before you go live
- Make sure that you are using live (production) mode API Key.
- Make sure that you have at least one active payment method.
- Verify the IPN URL
https://<your-store>/wc-api/monei_ipn/is reachable from MONEI (no IP allowlist, no Cloudflare bot block, permalinks saved). - For Apple Pay, register your domain in MONEI Dashboard → Settings → Payment methods.
- If you use Blocks checkout, confirm the Cart and Checkout pages use blocks (not shortcodes).