# A payment method disappears from the checkout after a PrestaShop update

> A payment module that worked perfectly can stop showing to customers after a PrestaShop update, with no error appearing anywhere in the back office. Three causes come up again and again: a hook the module no longer uses since PrestaShop 1.7, country, currency or customer group restrictions that have reset, or a module automatically disabled because it’s flagged incompatible with the newly installed version.

- Source canonique : [https://allaux.fr/en/prestashop/problemes/moyen-paiement-disparait-apres-maj](https://allaux.fr/en/prestashop/problemes/moyen-paiement-disparait-apres-maj)
- Langue : EN
- Dernière mise à jour : 2026-09-30

## Direct answer

> Open Modules > Module Manager, go into the payment module’s configuration and restore the country, currency and customer-group restrictions an upgrade has reset. If those are correct, the module is most likely still hooked on displayPayment instead of paymentOptions, which replaced it in PrestaShop 1.7.

## The hook changed with version 1.7

Before PrestaShop 1.7, payment modules displayed their buttons through the displayPayment hook. From 1.7 onwards, this was replaced by the paymentOptions hook, which works differently: the module has to return payment option objects rather than raw HTML displayed directly.

A module still built for the old hook can install without any error after an upgrade: PrestaShop doesn’t flag an unused hook, it simply ignores it. The module stays visible in Modules and services, active and configured, but nothing shows up in the checkout any more. This is the most common cause of a payment method vanishing after moving to 1.7 or later.

## Country, currency and customer group restrictions

Every payment module has its own settings screen, with restrictions by country, currency and customer group. These let you, for example, only offer a payment method to French customers paying in euros.

After the module itself is updated, these settings can reset or fall out of sync: a country that was ticked becomes unticked, or an allowed currency range goes empty. The module stays active, but no longer matches any live order, so it never appears to the customer. This is worth checking before looking any further.

## A module can also be disabled automatically

> PrestaShop can disable a module on its own if it considers it incompatible with the installed version. This shows up in the module list, marked ’incompatible’ or greyed out, rather than directly in the checkout.

## How I check, in order

1. **Is the module still active?** — I check in Modules and services that it hasn’t been automatically disabled after the update, and that it isn’t flagged as incompatible.
2. **Is the expected hook still registered?** — I check whether the module is still hooked to paymentOptions (or the older displayPayment for versions before 1.7), and whether it responds correctly to that call.
3. **Are the module’s restrictions correct?** — Allowed countries, currencies and customer groups: I check none of these lists has emptied out or wrongly excludes the order being tested.
4. **Is the module itself up to date?** — If it stays incompatible despite these checks, the update needs to come from its publisher, or the module needs adapting to the new payment mechanism.

## Related pages

- **Checkout and payment failures** — The full diagnosis when a customer can’t pay at all, worked through step by step in the checkout. ([/prestashop/probleme-paiement](/prestashop/probleme-paiement))
- **PrestaShop 1.6 to 1.7 or 8 migration** — Why a major version upgrade breaks certain modules, and how to check their compatibility before migrating. ([/prestashop/migration](/prestashop/migration))
- **Custom PrestaShop module development** — When a payment module needs rewriting or adapting to the new mechanism rather than simply reconfiguring. ([/prestashop/module-sur-mesure](/prestashop/module-sur-mesure))

## FAQ

### The module has stopped showing but I see no error: is that normal?

Yes, that’s the most common pattern. PrestaShop doesn’t raise an error when a module uses a hook the checkout no longer calls: the module stays active in appearance, but no customer ever sees it.

### Do I need to reinstall the module from scratch?

Rarely. In most cases, reconfiguring the restrictions or re-enabling the module is enough. A full reinstall is only needed if the existing configuration is corrupted.

### The module comes from a third-party publisher, do I have to wait for their update?

If it still uses the old displayPayment hook on a shop now running 1.7 or later, yes: only the publisher can release a compatible version, unless the module is rewritten as custom development.

### How do I know if it’s a hook problem or a restriction problem?

If the module doesn’t appear for any customer, regardless of their order, it’s almost always the hook. If it only fails for certain profiles or countries, check the restrictions first.

### Should I expect this to happen again with every new PrestaShop version?

Not necessarily, but every major version upgrade is worth rechecking payment modules against before going live, especially any that haven’t been updated in a while.
