Leservice client et l'emballage des commandes sur votre téléphone - découvrez l'application PrestaShop Pocket 📦

- Les taux de change actuels de la Banque nationale de Pologne (NBP) dans votre boutique PrestaShop
- Taux de change actuel de la NBP sur les commandes
- Taux de change manuel – prix affiché au client
- Toutes les opérations liées aux taux de change en un seul endroit
- Automatisation en arrière-plan — un seul jeton, deux options
- Sécurité
- À qui s'adresse PrestaShop NBP ?
- Facilités pour les développeurs
- Hooks PrestaShop
- Exigences techniques
Cours de change directement issus de la Banque nationale de Pologne (NBP) — flux officiel
Par défaut, PrestaShop récupère les taux de change à partir de sa propre source externe indexée sur l'euro — sans lien avec la Banque nationale de Pologne. Notre module les remplace par le tableau officiel et public des taux de change de la NBP.
Automatisation en arrière-plan — lien URL et CRON
Un seul jeton sécurisé gère la tâche CRON — il fonctionne aussi bien sur un hébergement mutualisé que sur un serveur avec accès SSH.
Taux de change manuel supplémentaire pour la conversion du prix des produits — solution prête à l’emploi pour la facturation
Indépendamment du taux de change de la NBP, vous pouvez définir un taux supplémentaire utilisé pour la conversion des prix des produits. Ce taux n’est pas visible par le client. Chaque commande en devise étrangère se voit attribuer le taux réel de la NBP en vigueur à la date d’achat.

Conformité avec la NBP
Les taux de change sont récupérés directement depuis l’API officielle et publique api.nbp.pl — tableau A (principales devises, quotidiennement) ou B (autres devises, une fois par semaine).
La devise par défaut de la boutique n’est jamais modifiée — son taux reste toujours égal à 1, conformément aux exigences de PrestaShop.
Contrôle du taux de change pour la conversion des prix
Définissez votre propre taux fixe pour n’importe quelle devise — par exemple, dans le cadre d’une promotion ou de tests — avec un aperçu de la conversion en temps réel dans le navigateur.
Le taux de référence de la Banque nationale de Pologne (NBP) continue d’être suivi en arrière-plan, quel que soit le taux défini manuellement.
Aucune intervention manuelle sur les factures
Chaque commande en devise étrangère se voit attribuer le taux de change de la NBP en vigueur à la date d’achat ou au jour ouvrable précédant la date d’achat.
Il s’agit de la seule fonctionnalité de ce type parmi les modules de taux de change pour PrestaShop.
- Lorsqu’une commande est passée en devise étrangère, le module utilise le taux de change actuel issu du taux de référence de la NBP précédemment enregistré – le processus de paiement ne se connecte pas à la NBP, de sorte qu’une panne de la NBP n’affecte pas le moment de la passation de la commande.
- Le taux de change actuel remplace le champ « conversion_rate » de la commande dans PrestaShop, utilisé par les rapports et les statistiques.
- Le montant payé par le client ne change jamais : les données sont conservées au moment de la création de la commande.
- L'ensemble complet des données est enregistré dans un tableau distinct : le taux de change issu de la page de paiement, le taux de change réel de la NBP, le tableau et la date de la NBP, ainsi que les montants bruts/nets convertis dans la devise par défaut de la boutique.
Il arrive parfois qu’une boutique souhaite afficher au client des prix différents de ceux résultant d’une conversion autre que celle du marché, à des fins de promotion, d’arrondi ou de test.
- Vous saisissez un taux identique à celui de la NBP ou tout autre taux de votre choix.
- Aperçu de la conversion en temps réel dans le navigateur, avant même d’enregistrer.
- Vider le champ rétablit la conversion automatique à partir de la NBP.
- Le taux de référence de la NBP reste visible et est mis à jour en continu à côté, quel que soit le taux saisi manuellement.
- Deux informations sont transmises à la commande : le taux de la NBP – à des fins comptables – et le taux saisi manuellement – pour le calcul des prix.
Le panneau du module affiche chaque devise de la boutique sur une seule ligne : le taux actuel de la NBP (référence), le taux défini manuellement — visible par le client — et un statut clair.
- Taux actuel: taux de la Banque nationale de Pologne (NBP) indépendant et actualisé en permanence, visible même pour les devises dont le taux est défini manuellement.
- Taux visible par le client – ce qui est effectivement transmis à la variable `conversion_rate` de PrestaShop et détermine les prix affichés sur le site.
- Statut: Par défaut, Mise à jour, Taux manuel, Exclue ou Inactive.
- Le bouton « Mettre à jour maintenant » fonctionne toujours, indépendamment de l’automatisation en arrière-plan.

- Option 1 — lien URL: pour les panneaux de type home.pl, OVH, nazwa.pl ou cron-job.org, qui lancent le cron uniquement en appelant l'adresse.
- Option 2 — crontab — ligne prête à l'emploi pour les serveurs disposant d'un accès SSH.
- Le jeton peut être annulé à tout moment et un nouveau jeton généré d’un simple clic.

Jeton aléatoire et renouvelable
Le lien vers la mise à jour automatique contient un jeton secret — sans lui, le serveur renvoie une erreur 403 Forbidden. Le jeton peut être invalidé à tout moment et un nouveau jeton peut être généré d'un simple clic dans le panneau de contrôle.
Jeton aléatoire et renouvelable
Le lien vers la mise à jour automatique contient un jeton secret — sans celui-ci, le serveur renvoie une erreur 403 Forbidden. Le jeton peut être révoqué à tout moment et un nouveau jeton peut être généré d'un simple clic dans le panneau de configuration.
Un seul point de terminaison, pas de doublons
Les deux options de cron (lien URL et crontab) mènent exactement au même emplacement sécurisé — il n’existe pas de script distinct susceptible de contourner la vérification du jeton.


Cabinets comptables et service comptable de la boutique
Des données prêtes à l'emploi et documentées pour la facturation en devise étrangère, conformes à l'obligation d'utiliser le taux de change de la NBP — sans avoir à rechercher manuellement le taux en vigueur à la date de la commande.

Boutiques de test et de développement
Contrôle total du taux de change affiché au client, indépendant du taux réel de la Banque nationale de Pologne (NBP) suivi en arrière-plan — pratique pour tester les prix et les conversions.
Facilités pour les développeurs
- Toute la logique relative aux taux de change se trouve dans des services indépendants (NbpClient, CurrencyRateUpdater, OrderRealRateApplier) — faciles à étendre et à réutiliser.
- Table dédiée ps_pshownbp_order_rate (une ligne par commande) — charge minimale sur la base de données, prête à être lue par votre propre générateur de factures.
- Couverture par des tests unitaires PHPUnit — vous pouvez apporter vos propres modifications en toute sécurité.
Hooks PrestaShop
- actionValidateOrder – enregistrement du taux de change actuel de la Banque nationale de Pologne (NBP) et des données de facturation lors de la passation de la commande.
Exigences techniques
Compatible avec les versions actuelles de PrestaShop et de PHP.
- PrestaShop : 1.7.x, 8.x et 9.x
- PHP : 7.1 ou version ultérieure
- Accès sortant HTTPS à api.nbp.pl — API publique et gratuite de la Banque nationale de Pologne (NBP), sans clé ni inscription
- Aucune dépendance externe — ne nécessite aucune bibliothèque supplémentaire

-----
* Fix: `OrderRealRateApplier::apply()` now checks the excluded-currencies list — an excluded
currency is left completely untouched, including a rate that was cached before it got excluded.
* Fix: excluding a currency (or leaving its manual-rate field blank on submit) no longer silently
discards a previously-saved manual rate for a *different*, still-excluded currency.
* Fix: `saveManualRates()` now validates the cached reference rate (numeric, > 0) before writing
it to `Currency::conversion_rate`, matching the same guard already used elsewhere.
* Fix: `Db::insert()`/`Db::update()` now pass `$null_values = true` — an empty
`nbp_effective_date` was being stored as `''` instead of `NULL`, which fails under strict SQL
mode against the `DATE NULL` column and silently dropped the whole audit write.
* A failed cron sync (NBP unreachable, or no default currency configured) is now logged via
`PrestaShopLogger` and answers with a non-200 HTTP status, instead of a silent HTTP 200 —
previously nothing told the seller the cron had stopped working while orders kept getting an
increasingly stale cached rate.
* Replaced `PSHOWNBP_LAST_SYNC_SUMMARY` (a pre-rendered, already-translated string) with
`PSHOWNBP_LAST_SYNC_STATS` (raw numbers) — the "last sync" summary is now built in the current
viewer's admin language every time the page renders, instead of being frozen in whichever
language was active when the sync ran (an issue for cron-triggered syncs).
* Source strings for `trans()`/`{l s=}` are now English (translated PL/EN via the usual
`translations/*.php` files), matching the convention used by the module's other language files.
* `composer.json`'s `test` script no longer depends on PHPUnit (not present in the CI's
`--no-dev` build) — added `tests/run.php`, a dependency-free integration test that
actually runs in CI, covering `CurrencyRateUpdater::run()` and `OrderRealRateApplier::apply()`.
The PHPUnit suite stays available for local development via `composer run test:unit`
(equivalent to the existing `composer run phpunit`).
* Fixed a PHP 7.4-only typed property in a test file that failed to parse on the declared PHP 7.1
minimum.
* Fix: `Currency::resetStaticCache()`, used to make the new multistore sync loop below work
correctly, doesn't exist before PrestaShop 1.7.4.0 — calling it directly would fatal on the
1.7.0.0–1.7.3.x range this module declares support for. Now guarded with `method_exists()`.
* Multistore: a single cron hit now syncs every active shop, not just whichever shop's domain
received the request — `conversion_rate` and the reference-rate cache are per-shop, so one
shop's sync could otherwise never refresh another's. Excluded currencies and manual rates are
also independent per shop. The cron secret, the "auto update" switch and the NBP table choice
remain a single, installation-wide setting. `Order`-side behaviour is unaffected —
`OrderRealRateApplier::apply()` already runs in the placing order's own shop context, so it
always reads that shop's own reference rate. The "Update now" button is unchanged — it still
only syncs the shop currently selected in the admin, matching the rates table shown right below
it on the same page.
## 1.2.1 - 2026-09-04
-----
* Fix: `pshownbp_order_rate.nbp_effective_date` now stores the actual NBP-published date of the
applied rate table, instead of the date the sync happened to run on — the two could differ
after a weekend/holiday or when cron fires before NBP's daily publication.
* Checkout is now resilient to any unexpected error while recording the real-rate audit data
(e.g. a database hiccup) — the order is always saved normally; the error is only logged.
* The suggested crontab example moved from 8:30 to 13:00 — NBP typically publishes Table A by
12:15, so an earlier cron run was silently fetching the previous business day's rate.
## 1.2.0 - 2026-09-02
-----
* New: when an order is placed in a currency other than the shop's default one, the module
overwrites `Order::conversion_rate` with the real NBP reference rate (never the seller's manual
display rate) and records a full audit trail in the new `pshownbp_order_rate` table — checkout
vs. real rate, NBP table/date, and gross/net totals converted to the default currency, ready for
invoicing. The amount the customer paid never changes.
* Checkout never makes a live call to NBP — the real rate is read from the already-cached
reference rate kept fresh by "Update now"/cron, so a slow or unavailable NBP cannot affect
checkout time.
* Both cron delivery options (URL link and real crontab) now hit the exact same token-protected
front controller — no separate standalone script to keep in sync.
* Extracted all remaining inline CSS/JS from admin templates into dedicated files.
* In-admin manual (PL/EN) and README updated to document the new feature.
## 1.1.0 - 2026-08-19
-----
* New "Rate visible to customers" column on the main "Currency rates" table: type your own rate
(e.g. "4.5" for EUR, meaning 1 EUR = 4.5 PLN) and it's converted live, in the browser, to the
PrestaShop `conversion_rate` that actually applies on the storefront.
* The "Current rate" column now also shows the reciprocal (1/rate) next to the raw PrestaShop
value, so it reads in both directions at a glance.
* The automatic NBP sync (button and cron) keeps tracking the real market rate as a reference
even for currencies with a manual rate set — it just stops overwriting the applied rate for
those, until the manual rate is cleared.
* Extracted the last remaining inline `` blocks (main page, in-admin manual) into
dedicated CSS files — no CSS/JS left inline in templates.
* Added a module sanity test suite (`ModuleTest`) matching the other PrestaShow modules.
## 1.0.0 - 2026-08-18
-----
* init module
* Fetch currency exchange rates directly from the official NBP (Narodowy Bank Polski) API,
replacing PrestaShop's default EUR-anchored external feed.
* Manual "Update now" button plus optional cron/HTTP automation with a secret-token link.
* Per-currency exclusion list; default shop currency is never touched (its rate always stays 1).
* Status table showing every shop currency's current rate and update state.
* PL/EN in-admin manual and translations.
Exigences techniques
Exigences techniques
- PHP 7.1 - 8.x
- Extension serveur ionCube Loader
- PrestaShop Importer uniquement : PHP libxml version > 2.9.3
- PrestaShop Facebook Integrator uniquement : PHP 7.2 ou supérieur
- PrestaShop VAT Validator uniquement : PHP SOAP
Plus d'informations sur les exigences techniques dans la base de connaissances
Support = Mises à jour + HelpDesk
Vous bénéficiez d'un accès de 90 jours (3 mois) au support complet de PrestaShow.
Mises à jour des modules
Les modules vous informeront des mises à jour disponibles. Lisez le journal des modifications et effectuez une mise à jour du module en 1 clic directement depuis votre boutique.
Panneau HelpDesk
C'est le panneau où nous vous fournissons de l'aide. Sur le HelpDesk, vous pouvez signaler des problèmes, commander l'installation et la mise à jour gratuites de modules, ainsi que des modifications et des travaux de développement individuels.
Prolonger l'assistanc e
Une fois l'assistance expirée, vous pouvez utiliser le module sans aucune restriction. Vous pouvez prolonger votre accès à l'assistance à tout moment lorsque vous en avez besoin.
Base de connaissances et FAQ
Gratuit pour toujours
La base de connaissances est accessible à tous. Vous y trouverez la documentation du module ainsi que des instructions, des vidéos et des réponses aux questions fréquemment posées.
Licence à vie pour le module
- Vous pouvez utiliser le module sans limitation pour 1 magasin = 1 domaine.
- Vous pouvez utiliser un domaine supplémentaire, par exemple pour une copie de développeur.
- Pour une somme modique, vous pouvez changer vous-même le domaine du module.
Domaines supplémentaires pour Multistore
- Tous nos modules supportent PrestaShop Multistore.
- La prise en charge d'un nombre illimité de domaines pour PrestaShop Multistore nécessite l'achat du support multistore pour le module.
Modifier le code
- Le code du module relatif à l'intégration avec la boutique et la conception (.tpl, .css, .js) est open source et vous êtes libre de le modifier.
- Le code source du module (.php) est crypté avec ionCube et sa modification annule la garantie.
Démo
Démo - tester le module
- Ce module n'a pas de boutique de démonstration
Aucune entrée pour le moment.










Pas d'avis de clients pour le moment.