Skip to main content

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.
Prefer the API? 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 with serviceFeePayer, 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.

Troubleshooting