NiftiPay for PrestaShop
Accepts crypto, fiat card, and ramping payments in PrestaShop. Shared concepts are covered in E-commerce plugins.Requirements
- PrestaShop 1.7.0.0 or newer
- PHP ≥ 7.4
Download
Download NiftiPay for PrestaShop
Latest release as a
.zip, ready to upload to PrestaShop.Before you install
Have both credentials ready — the module can’t create an order without them:Get your Integration ID
A fiat integration is the per-shop configuration your orders attach to: which URLs the customer comes back to, and where status updates are sent. Every order the module creates references exactly one integration.1
Open Dashboard → Settings → Fiat
Fill the Create integration form:
- Name — anything you recognise, e.g.
My Shop. - Return URL (required) — your shop’s order-confirmation page. The module overrides this per order when Return URL mode is PrestaShop order-confirmation page, so any valid URL on your shop works here.
- Failure URL — where the customer lands after a failed/cancelled payment. Must match the Failure URL you set in the module.
- Merchant webhook URL (required) — your shop’s webhook controller URL, shown on the module configuration page.
- Contact URL — your contact/support page, shown to blocked customers.
2
Copy the ID
The new integration appears under Your integrations with
Integration ID: <id>. Press Copy ID — that is the value you paste into
the module.GET /api/fiat/integrations returns the same list:
integrations[].id (e.g. fi_abc123) is the Integration ID. Full CRUD is in
Fiat integrations; the same walkthrough with more
context is in Fiat orders → How to get your integrationId.
One integration per shop. Running several shops on one account? Create one
integration each — that keeps return URLs and webhooks from crossing over. If
several integrations must post to one shop, fill the Webhook secrets map
below.
Installation
1
Install the module
Upload the
niftipay folder to modules/ and install it from Modules →
Module Manager. Install creates the transaction table, registers the
module hooks, and adds a custom order state, Awaiting NiftiPay Payment.2
Open the configuration page
Click Configure on the NiftiPay module.
3
Add your credentials
Paste your API key, then your Integration ID — see
Get your Integration ID above.
4
Register the webhook
Copy the Webhook URL shown on the configuration page into the NiftiPay
dashboard, then paste the returned Webhook secret back into the module.
5
Enable your payment methods
Turn on Crypto, Fiat, and/or Ramping, then save.
Settings reference
Shared
Per method
Each of Crypto, Fiat, and Ramping has its own block of settings:Endpoints the module exposes
The webhook URL looks like
https://shop.example.com/index.php?fc=module&module=niftipay&controller=webhook,
or its friendly-URL equivalent when friendly URLs are enabled. The exact URL for
your shop is shown on the configuration page.
Payment flows
The module creates the PrestaShop order first, resolves the return URL, then: Crypto — creates the NiftiPay order and stores the address, network, destination tag, amount, and expiry; the customer goes to the order-confirmation page, which renders the QR and countdown and polls for status. Fiat — creates the order withserviceFeePayer, returnUrl, and
failureUrl, stores the fiat order key for refunds, and redirects the customer
to the hosted payment page.
Ramping — creates a payment link and redirects to it.
If order creation fails, the order is moved to the error state with a message
and the customer is sent to your Failure URL when one is configured.
Order state mapping
A
paid event on an already-cancelled order marks the transaction as late
paid and adds an order message rather than reopening the order.
Admin features
- Test API key and Refresh coins buttons on the configuration page.
- Order page panel with the transaction details, fee payer, crypto refund address form, fiat cancel/refund button, and a fraud signals / IP risk block.