Servizio clienti e confezionamento degli ordini sul tuo telefono: scopri l'app PrestaShop Pocket 📦

- Tassi di cambio aggiornati della Banca Nazionale Polacca (NBP) nel tuo negozio PrestaShop
- Tasso di cambio NBP aggiornato sugli ordini
- Tasso di cambio manuale – prezzo visibile al cliente
- Tutte le operazioni relative ai tassi di cambio in un unico posto
- Automazione in background — un token, due opzioni
- Sicurezza
- A chi è rivolto PrestaShop NBP?
- Facilitazioni per gli sviluppatori
- Hook di PrestaShop
- Requisiti tecnici
Tassi di cambio direttamente dalla Banca Nazionale Polacca (NBP) — feed ufficiale
Per impostazione predefinita, PrestaShop recupera i tassi di cambio da una propria fonte esterna ancorata all’euro, non collegata alla Banca Nazionale Polacca. Il nostro modulo sostituisce tali tassi con la tabella ufficiale e pubblica dei tassi di cambio della Banca Nazionale Polacca.
Automazione in background — link URL e CRON
Un unico token protetto gestisce il CRON — è compatibile sia con l’hosting condiviso che con un server con accesso SSH.
Tasso di cambio aggiuntivo, impostabile manualmente, per il ricalcolo del prezzo del prodotto — soluzione pronta per la fattura
Indipendentemente dal tasso di cambio della Banca Nazionale Polacca, è possibile impostare un tasso aggiuntivo da utilizzare per la conversione dei prezzi dei prodotti. Si tratta di un tasso non visibile al cliente. Ad ogni ordine in valuta estera viene assegnato il tasso reale della Banca Nazionale Polacca in vigore alla data dell’acquisto.

Conformità con la NBP
I tassi di cambio vengono scaricati direttamente dall’API ufficiale e pubblica api.nbp.pl — tabella A (valute principali, quotidianamente) o B (altre valute, una volta alla settimana).
La valuta predefinita del negozio non viene mai modificata: il suo tasso di cambio rimane sempre pari a 1, in conformità con i requisiti di PrestaShop.
Controllo sul tasso di cambio per la conversione dei prezzi
Imposta un tasso di cambio fisso personalizzato per qualsiasi valuta — ad esempio per promozioni o test — con anteprima della conversione in tempo reale nel browser.
Il tasso di cambio di riferimento della Banca Nazionale Polacca (NBP) continua a essere monitorato in background, indipendentemente dal tasso impostato manualmente.
Nessun intervento manuale sulle fatture
A ogni ordine in valuta estera viene associato il tasso di cambio della Banca Nazionale Polacca (NBP) del giorno dell’acquisto o del giorno lavorativo precedente.
Si tratta dell’unica funzionalità di questo tipo tra i moduli di cambio per PrestaShop.
- Quando viene effettuato un ordine in valuta estera, il modulo preleva il tasso di cambio attuale dal tasso di riferimento della Banca Nazionale Polacca (NBP) scaricato in precedenza: il checkout non si collega alla Banca Nazionale Polacca, quindi eventuali malfunzionamenti della stessa non influiscono sul momento dell’invio dell’ordine.
- Il tasso di cambio attuale sovrascrive il campo conversion_rate dell’ordine in PrestaShop, utilizzato dai report e dalle statistiche.
- L’importo pagato dal cliente non cambia mai: i dati vengono salvati al momento della creazione dell’ordine.
- L’insieme completo dei dati viene inserito in una tabella separata: tasso di cambio dal checkout, tasso di cambio effettivo della NBP, tabella e data della NBP, importi lordi/netti convertiti nella valuta predefinita del negozio.
A volte il negozio vuole mostrare al cliente prezzi diversi da quelli risultanti da una conversione diversa da quella di mercato – per esigenze promozionali, arrotondamenti o test.
- Inserisci un tasso di cambio uguale a quello della Banca Nazionale Polacca (NBP) o qualsiasi altro.
- Anteprima della conversione in tempo reale nel browser, prima ancora di salvare.
- Cancellando il campo si ripristina la conversione automatica dalla Banca Nazionale Polacca (NBP).
- Il tasso di cambio di riferimento della Banca Nazionale Polacca (NBP) è sempre visibile e aggiornato accanto, indipendentemente dal tasso di cambio manuale impostato.
- All’ordine vengono allegate due informazioni: il tasso di cambio della Banca Nazionale Polacca (NBP) – ai fini contabili – e il tasso di cambio manuale – ai fini del calcolo dei prezzi.
Il pannello del modulo mostra ogni valuta del negozio in una singola riga: il tasso di cambio attuale della Banca Nazionale Polacca (punto di riferimento), il tasso di cambio impostato manualmente — visibile al cliente — e lo stato chiaramente leggibile.
- Tasso di cambio attuale: il tasso di cambio della Banca Nazionale Polacca (NBP), indipendente e costantemente aggiornato, visibile anche per le valute con tasso di cambio impostato manualmente.
- Tasso di cambio visibile al cliente – quello che viene effettivamente inviato al campo conversion_rate di PrestaShop e determina i prezzi sul front-end.
- Stato: Predefinito, Aggiornato, Tasso manuale, Escluso o Inattivo.
- Il pulsante «Aggiorna ora» funziona sempre, indipendentemente dall’automazione in background.

- Opzione 1 — link URL – per pannelli di controllo come home.pl, OVH, nazwa.pl o cron-job.org, che avviano il cron solo tramite richiamo dell’indirizzo.
- Opzione 2 — crontab — riga di comando pronta all’uso per server con accesso SSH.
- Il token può essere revocato in qualsiasi momento e ne può essere generato uno nuovo con un solo clic.

Token casuale e rigenerabile
Il link per l’aggiornamento automatico contiene un token segreto: senza di esso, il server restituisce un errore 403 Forbidden. Il token può essere annullato in qualsiasi momento e se ne può generare uno nuovo con un solo clic nel pannello di controllo.
Token casuale e rigenerabile
Il link per l’aggiornamento automatico contiene un token segreto: senza di esso, il server restituisce l’errore 403 Forbidden. Il token può essere revocato in qualsiasi momento e ne può essere generato uno nuovo con un solo clic nel pannello di controllo.
Un unico endpoint, nessun duplicato
Entrambe le opzioni di cron (link URL e crontab) puntano esattamente allo stesso luogo protetto: non esiste uno script separato che possa aggirare la verifica del token.


Studi contabili e contabilità del negozio
Dati pronti e documentati per la fatturazione in valuta estera, conformi al requisito di utilizzo del tasso di cambio NBP — senza dover cercare manualmente il tasso di cambio del giorno dell’ordine.

Negozi di prova e di sviluppo
Pieno controllo sul tasso di cambio visualizzato al cliente, indipendente dal tasso reale della Banca Nazionale Polacca (NBP) monitorato in background — comodo per testare prezzi e conversioni.
Facilitazioni per gli sviluppatori
- L’intera logica dei tassi di cambio risiede in servizi indipendenti (NbpClient, CurrencyRateUpdater, OrderRealRateApplier) — facili da espandere e riutilizzare.
- Tabella dedicata ps_pshownbp_order_rate (una riga per ogni ordine) — carico minimo sul database, pronta per essere letta dal proprio generatore di fatture.
- Coperto da test unitari PHPUnit — introduzione sicura delle proprie modifiche.
Hook di PrestaShop
- actionValidateOrder – salvataggio del tasso di cambio attuale della Banca Nazionale Polacca (NBP) e dei dati per la fattura al momento dell’invio dell’ordine.
Requisiti tecnici
Compatibile con le versioni attuali di PrestaShop e PHP.
- PrestaShop: 1.7.x, 8.x e 9.x
- PHP: 7.1 o versioni successive
- Accesso in uscita HTTPS a api.nbp.pl — API pubblica e gratuita della Banca Nazionale Polacca (NBP), senza chiave né registrazione
- Nessuna dipendenza esterna – non richiede librerie aggiuntive

-----
* 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.
Requisiti tecnici
Requisiti tecnici
- PHP 7.1 - 8.x
- Estensione server ionCube Loader
- Solo PrestaShop Importer: PHP libxml versione > 2.9.3
- Solo PrestaShop Facebook Integrator: PHP 7.2 o superiore
- Validatore IVA PrestaShop solo: PHP SOAP
Ulteriori informazioni sui requisiti tecnici nella knowledge base
Supporto = Aggiornamenti + HelpDesk
Ottenete 90 giorni (3 mesi) di accesso al pacchetto di supporto completo di PrestaShow.
Aggiornamenti dei moduli
I moduli ti informano degli aggiornamenti disponibili. Leggete il changelog ed eseguite un aggiornamento del modulo con un solo clic direttamente dal vostro negozio.
Pannello HelpDesk
Questo è il pannello in cui vi forniamo assistenza. Nell'HelpDesk è possibile segnalare problemi, ordinare l'installazione e gli aggiornamenti gratuiti dei moduli, nonché modifiche e lavori di sviluppo individuali.
Estendere il support o
Una volta scaduto il supporto, è possibile utilizzare il modulo senza alcuna restrizione. È possibile estendere l'accesso al supporto in qualsiasi momento, quando se ne ha bisogno.
Base di conoscenze e FAQ
Gratis per sempre
La Knowledge Base è disponibile per tutti. Vi troverete la documentazione del modulo, nonché istruzioni, video e risposte alle domande più frequenti.
Licenza a vita per il modulo
- È possibile utilizzare il modulo senza limitazioni per 1 negozio = 1 dominio.
- È possibile utilizzare un dominio aggiuntivo, ad esempio per una copia per sviluppatori.
- Con un piccolo sovrapprezzo è possibile cambiare il dominio del modulo.
Domini aggiuntivi per Multistore
- Tutti i nostri moduli supportano PrestaShop Multistore.
- Il supporto di un numero illimitato di domini per PrestaShop Multistore richiede l'acquisto del supporto multistore per il modulo.
Modifica del codice
- Il codice del modulo relativo all'integrazione con il negozio e al design (.tpl, .css, .js) è open source e siete liberi di modificarlo.
- Il codice sorgente del modulo (.php) è criptato con ionCube e la sua modifica invalida la garanzia.
Demo
Demo - prova il modulo
- Questo modulo non dispone di un negozio demo
Non ci sono ancora voci.










Per il momento non ci sono recensioni di clienti.