# WooCommerce

To accept payments through MONEI in your WooCommerce store you simply need to install and configure MONEI WooCommerce Plugin.

[Live demo](https://woocommerce-demo.monei.com)

## Requirements[​](#requirements "Direct link to Requirements")

| Component   | Minimum | Tested up to |
| ----------- | ------- | ------------ |
| WordPress   | 5.0     | 6.8          |
| WooCommerce | 3.0     | 9.8          |
| PHP         | 8.0     | 8.3          |

PHP 8.0 required since plugin v7.0.1

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[​](#before-you-begin "Direct link to Before you begin")

To test your integration:

* Use your [test mode](https://docs.monei.com/testing/.md) API Key. You can find it in [MONEI Dashboard → Settings → API Access](https://dashboard.monei.com/settings/api).
* You can check the status of a test payment in your [MONEI Dashboard → Payments](https://dashboard.monei.com/payments) (in test mode).

## Install[​](#install "Direct link to Install")

![Install MONEI WooCommerce](/assets/images/configure-woo-0-2225e48f0e2ae37695063d05f930a8ee.png)

[Download from wordpress.org](https://wordpress.org/plugins/monei/)

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](https://github.com/MONEI/MONEI-WooCommerce/releases) and upload it via **Plugins → Add new → Upload Plugin**.

## Configure[​](#configure "Direct link to 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](https://dashboard.monei.com/settings/api). Test and live credentials have separate fields — the **Mode** toggle decides which pair is active.

![Configure MONEI WooCommerce](/assets/images/configure-woo-1-7cbac5ff60b4c3092ee478d388e2b0c2.png)

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.

![Configure Card Payments](/assets/images/configure-woo-2-025f30aade6a206acd63266e44598795.png)

## Supported payment methods[​](#supported-payment-methods "Direct link to Supported payment methods")

* Card (Visa, Mastercard, and more) — with tokenization 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)

## Migration to WooCommerce Blocks[​](#migration-to-woocommerce-blocks "Direct link to Migration to WooCommerce Blocks")

Starting from **version 6.0**, the plugin supports [WooCommerce Blocks](https://woocommerce.com/document/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.

![Configure Checkout Page](/assets/images/configure-woo-3-8a636d28f76456cb8833c97d276006df.png)

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

![Configure Cart Page](/assets/images/configure-woo-4-9a987623e70fc009f8060c63fc792e1e.png)

## Before you go live[​](#before-you-go-live "Direct link to Before you go live")

* Make sure that you are using [live (production) mode](https://docs.monei.com/testing/.md) API Key.
* Make sure that you have at least one active [payment method](https://dashboard.monei.com/settings/payment-methods).
* 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](https://dashboard.monei.com/settings/payment-methods).
* If you use Blocks checkout, confirm the Cart and Checkout pages use blocks (not shortcodes).
