The Payfim module adds a Pay with Crypto option to your PrestaShop checkout. The order is created in the Awaiting crypto payment state, the customer pays on your own Payfim Gateway, and the order moves to Payment accepted by itself as soon as the payment is confirmed on the blockchain.
Before you start, install your Payfim Gateway and add your wallets (see Install the gateway and Add wallets). Compatibility: PrestaShop 1.7.8 – 9.x · PHP 7.4 – 8.4.
- Upload the module.
In your PrestaShop back office open Modules > Module Manager and click Upload a module (top right). Drop
payfim.zipinto the window. PrestaShop installs it and shows Module installed!. Click Configure.
Modules > Module Manager > Upload a module - Connect it to your gateway.
Enter your Gateway URL (for example
https://pay.yourstore.com) and the API key from your gateway admin (Integrations). Adjust the title and description customers see if you like, then click Save & test connection. A green bar lists the coins your gateway accepts.
Payfim configuration with a successful connection test Tip: The API key field is a password field: after saving it stays empty. Leave it empty to keep the saved key.
- Check the checkout.
Nothing else to set up: webhooks are registered automatically with every invoice. Your customers now see Pay with Crypto in the payment step. The module is enabled for all your currencies and countries; you can restrict it in Payment > Preferences.

The payment step with Pay with Crypto selected - After payment.
The customer is sent to your gateway, chooses a coin and pays. When the payment is confirmed the customer returns to the order confirmation page and the order is switched to Payment accepted. The order page shows the payment with the transaction hash as transaction ID and a Payfim crypto payment panel with the invoice, coin and amount received.

Orders > Orders > order detail: payment and Payfim panel Tip: Underpaid payments put the order in Crypto underpaid (never Payment accepted); expired quotes cancel the unpaid order.
Troubleshooting
- Pay with Crypto does not appear at checkout
- Check that the module is enabled and configured, and that it is allowed for the cart currency, country and carrier in Payment > Preferences.
- "Crypto payment is temporarily unavailable" after placing the order
- The store could not reach the gateway. Click Save & test connection in the module settings; check the Gateway URL, the API key and that your server can make outgoing HTTPS requests. The customer can retry with the Pay now with crypto button.
- Order stays in Awaiting crypto payment after paying
- Your gateway could not deliver the webhook. In the gateway admin open the invoice and check the webhook log; the store URL
/module/payfim/webhookmust be reachable from the gateway (no maintenance mode, no IP block). - Need details
- Enable Debug logging in the module settings and look in Advanced Parameters > Logs (entries start with "Payfim:").
Get the PrestaShop Crypto Payment Module - the download includes an illustrated PDF version of this guide.
