# Mollie

Pro Feature

Mollie Terminal needs [WCPOS Pro](/de/getting-started/pro-license.md) 2.0.0 or newer.

Mollie Terminal sends the sale from the till to a [Mollie](https://www.mollie.com/products/point-of-sale) card terminal. The customer pays on the terminal, and the sale finishes on the till by itself. It takes **euro** only, and works in the POS only: it is never offered on your web store's checkout.

## Take a payment[​](#take-payment "Direkter Link zu Take a payment")

A manager [sets it up](#setup) once, with the terminal on your store's live Mollie account. [Open the register](/de/sell/open-register.md#open) before you start.

Warnung

With **Open and close the register** switched on, a closed register can't record the payment, and a card you've already charged would have to be refunded.

1. Press **Checkout**, then tap the **Mollie Terminal** tile on the tender pane.
2. Check the terminal on the tender pane: **Terminal:** and its name. To use another one, tap **Change** and pick it. **Change** isn't there when the store has only one terminal enabled, or locks the choice.
3. Press **Send … to Mollie Terminal**. The amount goes to the terminal.
4. The customer taps, inserts or swipes their card on the terminal. The till shows **On the terminal** with the steps **Sent**, **On terminal**, **Approved** and **Captured**.
5. When Mollie confirms the payment, the sale is paid and the receipt is ready, as for any [checkout](/de/getting-started/make-sale.md#paid).

Each till remembers which terminal it last used. See [On a Card Reader](/de/sell/take-payment.md#card-reader).

A tip the customer adds on the terminal is recorded on the order as a **Tip** line. See [Tips](/de/sell/take-payment/tips.md).

### Cancel a payment on the terminal[​](#cancel "Direkter Link zu Cancel a payment on the terminal")

While the till waits, press **Cancel on terminal**. The till shows **Cancelling — waiting for the terminal to confirm**.

#### Payment cancelled or declined[​](#cancelled "Direkter Link zu Payment cancelled or declined")

After **Payment cancelled**, a decline or **Timed out — payment cancelled**, the payment didn't go through: press **Try again** to send the payment again, or **Choose another way** to pay with another method.

#### The terminal hasn't confirmed[​](#not-confirmed "Direkter Link zu The terminal hasn't confirmed")

Once the customer has started paying, Mollie may no longer let the till cancel. Cancel on the terminal itself.

If the till still can't get an answer, it offers **Release this payment**.

Before you take the money again

Look at the terminal. If it shows the payment approved, **don't charge again**: the store is still checking with Mollie. If you can't tell, ask a manager to check the payment in the Mollie dashboard before you take another payment.

**Release this payment** frees the order to be paid another way, and the till shows **Payment released**. That doesn't mean the payment was cancelled: the store keeps checking the terminal.

### On the Legacy tab[​](#legacy-tab "Direkter Link zu On the Legacy tab")

You can also take the payment on the checkout's [Legacy tab](/de/sell/take-payment/legacy-tab.md), the order's payment page. Open the **Legacy** tab and choose **Mollie Terminal**. The panel you see depends on whether a manager has turned on **QR code payments**.

**If the panel shows Terminal and QR code**, stay on **Terminal** and press **Start Terminal Payment**. Press **Cancel Terminal Payment** to stop. To show a code instead, see [Pay by QR code](#qr-code).

**Otherwise:**

1. Pick the terminal if the panel asks.
2. Press **Send … to** followed by the terminal's name. The panel shows the same steps as the tile.
3. To stop, press **Cancel on terminal**, as in [Cancel a payment](#cancel). After it stops, **Try again** sends it again. The POS records this payment as it does on the tile.

## Pay by QR code[​](#qr-code "Direkter Link zu Pay by QR code")

In the Netherlands and Belgium, the customer can pay by scanning an iDEAL or Bancontact QR code with their banking app instead of using the terminal. A manager turns the methods on first, under **QR code payments** in [the settings](#settings).

1. At checkout, open the [Legacy tab](/de/sell/take-payment/legacy-tab.md) and choose **Mollie Terminal**.
2. Switch the payment panel from **Terminal** to **QR code**.
3. Pick **iDEAL** or **Bancontact** if both are on, and press **Show QR code**.
4. The customer scans it and pays on their phone. The sale finishes as with the terminal.

Bancontact takes at most €1,500.00 per QR payment; use the terminal for more.

## Refunds[​](#refunds "Direkter Link zu Refunds")

Refund a Mollie Terminal sale from the POS and choose **Refund to Mollie Terminal**, or refund it from the WooCommerce order screen. The money goes back through Mollie, in full or in part. See [Refunds](/de/sell/refunds.md#destination).

A Mollie refund starts as pending. WCPOS Pro checks it with Mollie every ten minutes, then marks it refunded or failed and adds a note to the order.

## If something goes wrong[​](#goes-wrong "Direkter Link zu If something goes wrong")

### The customer already paid: don't charge again[​](#already-paid "Direkter Link zu The customer already paid: don't charge again")

**The customer paid but the till is still waiting.** **Don't charge again.** Stay on the screen: the sale finishes when Mollie confirms the payment. If it doesn't, ask a manager to check the payment in the Mollie dashboard.

**"An earlier Mollie payment for this sale was paid".** A payment for this sale already went through at Mollie but isn't on the order yet. **Don't charge again.** Wait a few minutes and reload. If the message says the payment doesn't match the order, a manager checks it in the Mollie dashboard first.

### Other problems[​](#other-problems "Direkter Link zu Other problems")

**"No terminals set up for Mollie Terminal".** The store has no active terminal to offer. A manager checks that **Mode** is **Live** with a live key, and that the terminal is active on that Mollie account.

**"In use by order #…".** That terminal is busy with another sale. Pick another terminal, or finish or cancel the other sale first.

**"Needs a connection".** The till is offline. Mollie Terminal works only online: take the payment another way, or wait for the connection.

**"Timed out — payment cancelled".** Nobody paid in time, so the payment was cancelled. Check the terminal is switched on and online, then press **Try again**, or **Choose another way**.

**A sale in another currency is refused.** Mollie Terminal takes euro only.

**Still stuck?** Report a problem with the extension on [GitHub](https://github.com/wcpos/mollie-terminal-for-woocommerce/issues). For your Mollie account or the terminal itself, contact Mollie support, or see Mollie's [terminal setup guide](https://docs.mollie.com/docs/setting-up-terminal).

How the till and the store keep up with Mollie

* While a payment waits, the payment page checks with Mollie every two seconds, and Mollie's own message to your store usually confirms it sooner. There is nothing to set up for that message.
* Every update is checked with Mollie before the order changes, so the order follows what Mollie says.
* If a refund request gets no answer, the extension looks for the refund Mollie already made before it makes another.
* On the Legacy tab with **QR code payments** on, the extension's own panel runs the payment. It cancels a payment left open at Mollie when nobody pays within five minutes, when the order is paid another way or cancelled in WooCommerce, or when the payment page is closed mid-payment. A check every ten minutes cancels anything still open after ten minutes on an unpaid order.
* A payment that has already reached the terminal can't be cancelled from the store: cancel it on the terminal.
* For troubleshooting, every payment is logged under `WooCommerce > Status > Logs`. A manager looks there for Mollie messages when a sale doesn't finish.

## Set it up[​](#setup "Direkter Link zu Set it up")

A manager does this once, in WP Admin. You need WCPOS Pro 2.0.0 or newer, a live Mollie account with its **Point of Sale** method turned on, and euro as your store currency.

Manager setup: install, key, terminals, switch on

The extension needs WCPOS Pro 2.0.0 or newer: without it, it does nothing and shows a notice in WP Admin.

Before you start

In the Mollie Web App, turn on the **Point of Sale** payment method for your profile, and buy your terminals there. Mollie sells terminals in the Netherlands, Belgium, Germany, France and the UK, and may ask to verify your account first. Terminals exist only on a **live** account, so you need your live API key.

1. **Install the extension.** Open `POS Settings > Extensions` and install **Mollie Terminal**, or upload the release zip from [GitHub](https://github.com/wcpos/mollie-terminal-for-woocommerce/releases) under `Plugins > Add Plugin`, then **Upload Plugin**. Use the zip attached to the release, not the source code archive. See [Extensions](/de/manage-store/add-ons.md#installing-an-extension).
2. **Add your key.** Go to `WooCommerce > Settings > Payments > Mollie Terminal`. Set **Mode** to **Live**, then either paste your live key into **Mollie API Key**, or set **API key source** to reuse the key from the Mollie Payments for WooCommerce plugin. Save.
3. **Choose your terminals.** Once the key is saved, the terminals on your Mollie account are listed. Pick a **Default terminal**. If some terminals shouldn't be used at the till, list the ones that should under **Enabled terminals**. Save.
4. **Switch it on for the POS.** Go to `POS > Settings > Checkout` and enable **Mollie Terminal**. This is the only on/off switch. See [Enabling a Gateway](/de/settings/checkout.md#enabling-a-gateway).

There is no webhook to set up in the Mollie dashboard and no Profile ID to paste: the extension sends its webhook address with every payment, and lists terminals across your whole account.

If the **Default terminal** list stays empty, check **Mode** is **Live** with your live key (terminals don't exist on a test account), that the terminal is active in Mollie, and that your site can reach Mollie.

### The settings[​](#settings "Direkter Link zu The settings")

Every setting on the Mollie Terminal screen

All of these are on `WooCommerce > Settings > Payments > Mollie Terminal`.

| Setting                     | What it does                                                                                                                                                                                                                                                           |
| --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Title**                   | The name on the tile at the till. Starts as "Mollie Terminal".                                                                                                                                                                                                         |
| **Description**             | Text shown with the method on the order-pay page.                                                                                                                                                                                                                      |
| **Mode**                    | **Test** or **Live**. Starts on **Test**, which shows a warning: the test key can't drive a terminal. Use **Live** to take payments.                                                                                                                                   |
| **API key source**          | **Use the key entered below**, or **Reuse the official Mollie plugin's key** (the test or live key matching **Mode**). If the Mollie plugin has no key set, the key below is used.                                                                                     |
| **Mollie API Key**          | Your key for the selected mode. Ignored while the key source reuses the Mollie plugin's key.                                                                                                                                                                           |
| **Default terminal**        | The terminal a till starts on. Listed live from your Mollie account; inactive terminals are hidden, because Mollie can't reactivate them.                                                                                                                              |
| **Enabled terminals**       | Only these can be chosen at the till. Empty means every active terminal. The default terminal is always offered, so change it too when you retire a terminal. Not shown while the terminal list can't be loaded; your saved choice stays.                              |
| **QR code payments**        | **iDEAL** and **Bancontact**: lets the cashier show a QR code on screen instead. Each must be active on your Mollie profile. iDEAL QR also works in **Test** mode, so you can try it without a terminal; Bancontact QR needs **Live**. See [Pay by QR code](#qr-code). |
| **Lock terminal selection** | The till always uses the default terminal, and the cashier can't change it. Needs a **Default terminal**.                                                                                                                                                              |
| **Checkout debug logs**     | Shows **Show logs**, **Copy** and **Clear** on the payment panel. Leave it off unless support asks: payments are always logged under `WooCommerce > Status > Logs`.                                                                                                    |

## Related Documentation[​](#related-documentation "Direkter Link zu Related Documentation")

[Taking a PaymentCash, cards and readers on the tender pane.](/de/sell/take-payment.md)

[RefundsGive money back to the card or in cash.](/de/manage-store/orders/refund-rules.md)

[Payment GatewaysEvery gateway that works with the POS.](/de/settings/checkout/payment-gateways.md)
