WordPress.org

Plugin Directory

Payment Multibanco, MB WAY and Credit card for FluentCart via ifthenpay

Payment Multibanco, MB WAY and Credit card for FluentCart via ifthenpay

Description

“Pagamento de Serviços” (payment of services) on Multibanco (Portuguese ATM network), and MB WAY (using the customer’s mobile phone number), are the most popular ways to pay for services and (online) purchases in Portugal.
Portuguese consumers trust the “Multibanco” and “MB WAY” payment methods more than any other.

This plugin generates a “Multibanco” Payment Reference that customers can use to pay for their FluentCart orders at an ATM or via home banking, or an “MB WAY” payment request which will send a push notification to the customer’s mobile phone for payment approval.

Customers can also pay by credit or debit card, on ifthenpay’s secure payment page.

Soon, this plugin will also have support for Apple Pay, Google Pay, Payshop, Cofidis, and PIX.

This is the official ifthenpay plugin, and a contract with this company is required. Technical support is provided by Naked Cat Plugins (by Webdados) on the WordPress.org support forums.

Features

  • Generates a Multibanco Reference for simple payment on the Portuguese ATM network or home banking service;
  • Allows the customer to pay using MB WAY using their mobile phone;
  • Allows the customer to pay by credit or debit card, on ifthenpay’s secure payment page;
  • Possibility of setting an expiration date for Multibanco references;
  • Shop owner can issue a new Multibanco reference, or request an MB WAY payment again, from the order screen once the original one has expired;
  • The MB WAY order receipt shows the payment as received as soon as it is approved in the app, with a countdown of the time left (both can be turned off);
  • FluentCart’s “Sync” button on a pending order checks with ifthenpay whether it was paid, for the rare payment whose “Webhook/Callback” did not arrive;
  • Warning on the WordPress admin while an active payment method does not have the “Webhook/Callback” activated;
  • Find orders by Multibanco reference in the FluentCart orders search;
  • Logged-in customers can save their MB WAY number to their account, and find it filled in on their next purchase;
  • Logged-in returning customers find the ifthenpay payment method they used on their last order already selected at checkout;
  • The FluentCart order screen shows the ifthenpay fee and the payout, what reaches your bank account;
  • Automatically changes the order status to “Processing” (or “Completed” if the order only contains digital products) and notifies both the customer and the store owner if the automatic “Webhook/Callback” upon payment is activated;
  • Automatic “Webhook/Callback” can be activated via the plugin settings screen for each payment method;
  • MB WAY and credit or debit card payments can be refunded, in full or in part, from the FluentCart order screen (optional);

External services

This plugin uses the ifthenpay API to request payments and to activate the payment notification “Webhook/Callback”. For MB WAY payments, this includes the mobile phone number the customer types at checkout, which receives the payment request.

This service is provided by ifthenpay: end-user license agreement, privacy policy.

Installation

  • Make sure you already have a contract with ifthenpay;
  • Requires FluentCart 1.6.5 or newer;
  • Use the included automatic install feature on your WordPress admin panel and search for “ifthenpay fluentcart”;
  • Multibanco: Go to FluentCart > Settings > Payment Settings > Multibanco and fill in the MB Key provided by ifthenpay;
  • MB WAY: Go to FluentCart > Settings > Payment Settings > MB WAY and fill in the MB WAY Key provided by ifthenpay;
  • Credit or debit card: Go to FluentCart > Settings > Payment Settings > Credit or debit card and fill in the Credit card Key provided by ifthenpay;
  • Save the ifthenpay Backoffice Key, provided when signing the contract, in the settings of any of the payment methods. It is shared by all of them;
  • On all payment methods, after saving the settings: Activate the “Webhook/Callback” to enable automatic payment notification from ifthenpay to your website;
  • Start receiving payments 🙂

FAQ

Can I start receiving payments right away? Show me the money!

You have to sign a contract with ifthenpay to activate this service. Go to ifthenpay.com for more information and to sign up.

I’m an individual and not a registered business. Can I use this plugin?

ifthenpay only provides this service to registered businesses and equivalents (such as tax-registered freelancers).
You should contact ifthenpay if you need additional details on this matter.

Can I use this plugin and the ifthenpay service on more than one website?

Yes, but not with the same payment method keys.
Ask ifthenpay for different credentials for each website, and payment method, you need the service to be available.
There are no extra costs, and you can even route payments to separate bank accounts.

Why is the payment method not showing at checkout?

Our payment methods hide themselves when they cannot be used, so a customer is never offered a payment that would fail. Check, in this order:

  • The payment method is enabled on its own settings screen;
  • Your store currency is set to EUR, which is the only currency ifthenpay supports;
  • The MB Key, MB WAY Key, or Credit card Key is filled in and is in the AAA-000000 format (three letters, a hyphen, six digits);
  • If you enabled “Only for Portuguese customers”, the customer’s billing or shipping country has to be Portugal;
  • If you set “Only for orders from” or “Only for orders up to”, the order total has to be inside that range;
  • The order does not include a subscription product. Multibanco, MB WAY, and card payments through ifthenpay need the customer to act on every single payment, so they cannot renew a subscription and are not offered for one.

Does the customer get an email with the payment details?

Multibanco orders send FluentCart’s “Order confirmation to customer (Offline Payment)” email, and its admin counterpart, as soon as the reference is created. MB WAY orders do not: the payment has to be approved in the app within 4 minutes, and FluentCart’s “Order paid” email goes out once it is. Credit or debit card orders do not either: the customer pays right away, on ifthenpay’s payment page, and FluentCart’s “Order paid” email goes out once the payment is confirmed.

FluentCart does not yet let payment methods add content to its default emails, so the reference is not included automatically. With FluentCart Pro, which lets you edit the content of each email, you can edit it in FluentCart > Settings > Email Configuration > Notifications: add a “Custom HTML” block where you want the payment details to appear, containing only the {{ifthenpay.payment_instructions}} smartcode. Use a “Custom HTML” block rather than a paragraph, because the payment details are a table, which email clients do not always display correctly inside a paragraph. The smartcode shows the Multibanco entity, reference, value and expiration (or the MB WAY details) while the order is waiting for payment, and nothing in any other situation, including card orders, so it is safe to add to any email.

A customer paid, but the order is still pending. What can I do?

The “Webhook/Callback” is what tells your store a payment was made, so first check it is activated in the payment method’s settings. A warning shows on the WordPress admin while it is not.
For the rare payment whose callback did not arrive, open the order and use FluentCart’s “Sync” button on the pending transaction. It asks ifthenpay whether the payment was made and, if it was, sets the order as paid and notes on the order that the callback did not arrive. It needs the Backoffice Key, and only works once the “Webhook/Callback” is activated, as it does not replace it.

What is the ifthenpay Backoffice Key used for?

The Backoffice Key is provided by ifthenpay when you sign the contract. It is saved once, in the settings of any ifthenpay payment method, and shared by all of them.
It is used to activate the “Webhook/Callback”, to refund MB WAY and card payments, to check a payment with FluentCart’s “Sync” button, and to read the fee ifthenpay charged on each payment. You can change or remove it at any time, in the same place.
The fee on a card payment depends on the card used, and ifthenpay can still change it in the first 24 hours, so the order screen shows it as provisional until then and reads the final fee from ifthenpay after that.

Can I refund MB WAY and card payments?

Yes. Save the Backoffice Key, and turn on “Process refunds through ifthenpay” in the MB WAY and card settings. It is off by default. Then refund the order in FluentCart as usual, in full or in part, and the money is sent back to the customer through ifthenpay.
While the option is off, or the Backoffice Key is not saved, FluentCart only records the refund, and you refund the customer yourself.
ifthenpay sends the full amount back to the customer and keeps its fee, so the payout on the order screen is the amount paid, less the refunds and the fee.
If ifthenpay cannot do the refund, FluentCart still records it on the order and shows why it failed, so you can sort it out in the ifthenpay backoffice. The most common reason is not having enough funds in your ifthenpay account: the available balance is the sum of the payments received since 20:00 of the previous day that were not yet transferred to your bank account.
Multibanco payments cannot be refunded through ifthenpay. Refund the customer by bank transfer, and record the refund in FluentCart.

How is a credit or debit card payment confirmed?

The customer is sent to ifthenpay’s payment page to type their card details. When the payment succeeds, they come back to your store’s order receipt, and the order is set as paid straight away, after checking that the confirmation was really signed by ifthenpay.
The “Webhook/Callback” confirms the payment too, in case the customer closes the browser before coming back to your store, so it should be activated for card payments as well.

What happens if the card payment fails, or the customer cancels it?

The customer goes back to the checkout, with their cart as it was and a message saying the payment failed or was cancelled, and nothing was charged. They can try again, with another card or another payment method, and the same order is used.
A failed payment sets the order’s payment status to “Failed”, and both cases are recorded on the order’s activity.

Can I test card payments without a real card?

Yes. ifthenpay has a sandbox, and you can ask them for a test Credit card Key. Add this code to your theme’s functions.php file, or a code snippets plugin, to send card payments to the sandbox:

add_filter( 'ifthenpay_fluentcart_ccard_sandbox', '__return_true' );

While it is active, the payment method shows “SANDBOX (TEST MODE)” in its title. Remove it before taking real payments.

Is this plugin compliant with the European Union General Data Protection Regulation (GDPR)?

This plugin does not send any private data of the website where it’s installed, its customers, or the orders, to Naked Cat Plugins / Webdados (the plugin author).
In the MB WAY payment method, the customer’s mobile phone number is collected and sent to ifthenpay (the payment processor) to request the payment authorization, and it can be legitimately processed based on Article 6 (1) (b) of the GDPR.
Logged-in customers can choose, at checkout, to save their MB WAY number to their account on your website. Unticking the box on a later purchase removes it. The shop owner can turn this off in the MB WAY settings.
In the Credit or debit card payment method, the customer types their card details on ifthenpay’s payment page, so they are never collected or stored by your website.
ifthenpay’s privacy policy can be found at https://ifthenpay.com/privacy-policy/?lang=en

Where do I report security vulnerabilities found in this plugin?

Please report security bugs found in the source code of this plugin through the Patchstack Vulnerability Disclosure Program. The Patchstack team will assist you with verification, CVE assignment, and notify the developers of this plugin.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Payment Multibanco, MB WAY and Credit card for FluentCart via ifthenpay” is open source software. The following people have contributed to this plugin.

Contributors

“Payment Multibanco, MB WAY and Credit card for FluentCart via ifthenpay” has been translated into 2 locales. Thank you to the translators for their contributions.

Translate “Payment Multibanco, MB WAY and Credit card for FluentCart via ifthenpay” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

2.0 – 2026-10-13

  • [NEW] Credit or debit card payments: customers pay on the ifthenpay payment page and the order is set as paid as soon as they come back to the store
  • [NEW] MB WAY and credit or debit card payments can be refunded, in full or in part, from the FluentCart order screen, once turned on in their settings
  • [NEW] The MB WAY order receipt shows the payment as received as soon as the customer approves it in the app, with a countdown of the time left
  • [NEW] FluentCart’s “Sync” button on a pending order checks with ifthenpay whether it was paid, for the rare payment whose “Webhook/Callback” did not arrive
  • [NEW] Warning on the WordPress admin while an active payment method does not have the “Webhook/Callback” activated
  • [NEW] Issue a new Multibanco reference, or request an MB WAY payment again, from the order screen once the original one has expired
  • [NEW] Find orders by Multibanco reference in the FluentCart orders search
  • [NEW] Logged-in customers can save their MB WAY number to their account, and find it filled in on their next purchase
  • [NEW] Logged-in returning customers find the ifthenpay payment method they used on their last order already selected at checkout
  • [NEW] The order screen shows the payout, what reaches your bank account, next to the ifthenpay fee
  • [NEW] The ifthenpay Backoffice Key is saved once, for all payment methods, and activating the “Webhook/Callback” no longer asks for it every time
  • [NEW] The fee ifthenpay charged is shown on paid orders even when the “Webhook/Callback” did not send it, read from ifthenpay with the Backoffice Key
  • [TWEAK] The plugin is now called “Payment Multibanco, MB WAY and Credit card for FluentCart via ifthenpay”
  • [FIX] The “Place order” button is no longer disabled when the checkout opens with Multibanco or MB WAY already selected
  • [DEV] New ifthenpay_fluentcart_ccard_sandbox filter sends card payments to the ifthenpay sandbox, for testing
  • [DEV] Requires PHP 7.4, WordPress 6.7, and FluentCart 1.6.5
  • [DEV] Tested up to WordPress 7.2-alpha-64319 and FluentCart 1.8.0

1.2 – 2026-10-09

  • [NEW] Multibanco orders send FluentCart’s offline payment confirmation emails when the reference is created
  • [NEW] Multibanco and MB WAY payment details panel on the FluentCart order screen
  • [NEW] {{ifthenpay.payment_instructions}} smartcode adds the payment details to any FluentCart Pro custom email
  • [TWEAK] The Multibanco reference is shown in groups of three digits, easier to type at the ATM
  • [TWEAK] Expiration dates follow the store’s date and time format
  • [TWEAK] Debug “Enabled” now only logs, and error alert emails are sent only with “Enabled (and send important events to email)”
  • [TWEAK] Debug logs mask the MB WAY mobile number (91*****89) and the antiphishing key, when correct
  • [FIX] Some paid orders stayed pending because the amount ifthenpay reported was matched one cent short, for values such as 19,99 €
  • [FIX] FluentCart actions that run when an order is paid, such as recording order bumps, now also run for Multibanco and MB WAY
  • [DEV] The ifthenpay_fluentcart_payment_completed action now actually fires, before the response to ifthenpay ends the request
  • [DEV] The Callback/Webhook activation button uses the same permission FluentCart requires to manage payment methods
  • [DEV] Multibanco and MB WAY now share a common base class and settings class, so new payment methods only add what is specific to them
  • [DEV] Tested up to WordPress 7.2-alpha-64042 and FluentCart 1.7.1

1.1 – 2026-09-05

  • [TWEAK] Update the “External services” information, and add a GDPR entry to the FAQ, detailing that MB WAY payment requests include the mobile phone number the customer types at checkout, because that is the number that receives the payment request
  • [TWEAK] Refuse to activate a payment method when the store currency is not EUR, or when the ifthenpay key is not in the AAA-000000 format, and explain why, instead of saving settings that would silently never work
  • [TWEAK] Record the date and time ifthenpay reports for the payment, in Lisbon time, instead of the moment the payment notification reached your website
  • [TWEAK] Add an “MB WAY settings” shortcut to the plugin’s entry on the plugins list
  • [FIX] Multibanco and MB WAY are no longer offered for subscription products, which they have no way of renewing
  • [DEV] Load the MB WAY checkout styles only when MB WAY is being shown, and stop loading an unused script on the checkout and receipt pages
  • [DEV] Tested up to WordPress 7.2-alpha-63482 and FluentCart 1.6.3

1.0.1 – 2025-11-20

  • [NEW] New payment method: MB WAY
  • [TWEAK] Add Patchstack VDP information to readme.txt
  • [DEV] Stronger validation of Webhook parameters
  • [DEV] Requires FluentCart 1.3.0
  • [DEV] Fix version on readme.txt
  • [DEV] Tested up to WordPress 6.9-RC2-61266 and FluentCart 1.3.0

1.0.0 – 2025-11-20

  • [DEV] Wrong version on readme.txt 🤷‍♂️

0.1.0 – 2025-10-31

  • [NEW] First release
  • [DEV] Tested up to WordPress 6.9-beta2-61099 and FluentCart 1.2.5