How to Accept Crypto Payments on PrestaShop

Customers pay with a QR code on your own order confirmation page, or pick any coin on the hosted page, and every payment is forwarded instantly to your wallet.

Updated October 2026 · Free and open source · Works with the latest PrestaShop release

SolanaMoneroZcashBitcoin

The only crypto payment gateway with instant payouts for Solana (SOL), Monero (XMR), Zcash (ZEC) and Bitcoin (BTC).

Every coin your customer sends is forwarded straight to your own wallet the moment the payment is confirmed, with no holds, no sign up and no KYC. It works the same in all our plugins and modules: WooCommerce, Easy Digital Downloads, WHMCS, FOSSBilling, Paymenter, OpenCart, PrestaShop and Magento.

Setup timeAbout 10 minutes
Works withPrestaShop 1.7.7+
Fees1.5% + blockchain fees
PayoutsInstant, to your wallet

What you need before you start

  • PrestaShop 1.7.7 or newer (tested on PrestaShop 8.2).
  • Back-office access with permission to install modules.
  • Your shop must be online and able to make outbound HTTPS requests (to load the live coin list). PHP needs OpenSSL.
  • With SSL, turn on both Enable SSL and Enable SSL on all pages (Shop Parameters › General).
  • A wallet address for each coin you want to accept. Step 1 explains which ones.

Prepare your payout wallets

Crypto is forwarded to your own wallet addresses, one for each coin or network you want to accept. Prepare them before you start:

  • Bitcoin (BTC): your Bitcoin address (usually starts with bc1).
  • Solana (SOL and Solana tokens such as USDC and USDT on Solana): your Solana address.
  • Monero (XMR) and Zcash (ZEC): your Monero and Zcash addresses.
  • Ethereum and EVM networks (ETH, ERC20, BEP20, Polygon, Arbitrum, Base, Optimism, Avalanche-C): one 0x address covers all of them.
  • Any other coin you want, for example Litecoin, Dogecoin, Bitcoin Cash, Tron (TRC20 USDT) or TON.

Use self-custodial wallets that only you control (Trust Wallet, Exodus, Phantom for Solana, Cake Wallet for Monero, a hardware wallet and so on). Never use exchange deposit addresses, and always paste the address for the right network: a Bitcoin address in the Bitcoin field, a Solana address in the Solana field.

Download the module

Download cryptopayment_gateway.zip. It is free and open source (source on GitHub). Do not unzip it.

Upload the module

  1. In your PrestaShop back office, open Modules › Module Manager.
  2. Click Upload a module at the top right.
  3. Drop cryptopayment_gateway.zip into the window (or click select file). PrestaShop installs it automatically and shows Module installed!
  4. Click Configure.
PrestaShop Module Manager with the Upload a module button highlighted
Modules › Module Manager › Upload a module.
PrestaShop Upload a module window showing Module installed! and the Configure button
The module installs itself. Click Configure.

Check the general settings

The Configure page has three panels. The General settings apply to both payment options:

  • API Domain: leave empty to use api.paygate.to, or paste your dedicated endpoint.
  • Underpaid Tolerance (1% by default): accepts a payment slightly below the total, because crypto rates move.
  • Customer Pays Blockchain Fees: turn on if the customer should cover the network fee.
PrestaShop crypto module General settings panel: API Domain, Underpaid Tolerance, Customer Pays Blockchain Fees
General settings for both payment options.

Set up individual coins (QR code on your shop)

In Individual coins (QR code on your store): switch Enable on, keep or change the Title, then tick every coin you want in Accepted Coins and paste its payout wallet.

PrestaShop Individual coins panel with Enable on and Bitcoin ticked with its payout wallet
Tick a coin and enter the wallet that receives it. The list and icons are loaded live from PayGate.to.

Nothing is saved if a field has an error. “Individual coins: enable at least one coin and enter its payout wallet address” means no coin has both the tick and a wallet yet.

Optional: set up Multicoin

In Multicoin (hosted checkout page), switch Enable on and fill in a wallet for each network you want:

FieldAccepts
EVM Wallet (ETH, ERC20, BEP20, Polygon, Arbitrum, Base, Optimism, Avalanche-C)ETH and EVM tokens
Bitcoin Wallet (BTC)Bitcoin
Solana Wallet (SOL and Solana tokens)SOL, USDC and USDT on Solana and more
Monero Wallet (XMR)Monero
Zcash Wallet (ZEC)Zcash
Bitcoin Cash, Litecoin, Dogecoin, Tron (TRX, TRC20 USDT), TONOne field each
PrestaShop Multicoin panel with Enable on and the Bitcoin, Solana, Monero and Zcash wallet fields highlighted
One wallet per network. Then click Save.

You can also add a Logo URL and colours for the hosted page, and a Custom Domain from the custom domain guide.

Place a test order

In a private window, add a product to the cart and check out. At the payment step choose Cryptocurrency, pick a coin, accept the terms and click Place order.

PrestaShop payment step with Cryptocurrency selected and Bitcoin chosen
The customer picks the coin at the payment step.

The order confirmation page then shows the payment box on your own shop: QR code, exact amount, the address with a Copy button and a live status. The amount is guaranteed for 3 hours.

PrestaShop order confirmation with crypto QR code, amount, address and Waiting for payment
“Please complete your payment” on the order confirmation page.

The same box appears in My account › Order history, so customers can come back to pay. Each coin has its own minimum: see the minimum per coin.

All settings explained

SettingWhat it doesDefault
API DomainYour dedicated API endpoint.Empty (api.paygate.to)
Underpaid ToleranceAccepts payments slightly below the total (0% to 10%).1%
Customer Pays Blockchain FeesAdds the estimated network fee.Disabled
Individual coins: Enable, Title, DescriptionThe QR-code payment option.Off, Cryptocurrency
Accepted CoinsTick a coin and enter its payout wallet.None
Multicoin: Enable, Title, DescriptionThe hosted checkout option.Off, Cryptocurrency (all coins)
Custom Domain (Multicoin)Domain of the hosted checkout page.checkout.paygate.to
Network wallets (Multicoin)One wallet per network.Empty
Logo URL, colours (Multicoin)Branding for the hosted page.Empty

How orders are updated

Order statusWhen
Awaiting crypto paymentThe order was created with its payment address (the module adds this status).
Payment acceptedThe full amount was received (within your tolerance).
Payment errorLess than the amount due. The customer can send the rest to the same address (for individual coins the payment box asks for it) and the order completes automatically.

Payments to the same address add up, and an order you already shipped is never changed back by a late payment.

Troubleshooting and FAQ

Is Monero, Zcash and Solana really supported with instant payouts?

Yes. PayGate.to is the only crypto payment gateway with instant payouts for Solana (SOL), Monero (XMR), Zcash (ZEC) and Bitcoin (BTC), in PrestaShop and every other module.

The crypto option does not show at checkout.

Check that the option is enabled and has at least one wallet (individual coins: tick and wallet). Also make sure the cart currency is ticked for the module in Payment › Preferences, especially for currencies you added later.

The settings say the coin list could not be loaded.

Your server could not reach PayGate.to. Reload in a moment; saved coins are kept. If it continues, allow outbound HTTPS to api.paygate.to.

The customer paid but the order is still awaiting payment.

Make sure the shop is public and that, if you use SSL, both Enable SSL and Enable SSL on all pages are on. Confirmations still work in maintenance mode.

The customer sent too little.

The order gets Payment error. For individual coins, the payment box asks the customer to send the rest to the same address, and the order completes automatically when it arrives.

Which PrestaShop versions are supported?

PrestaShop 1.7.7 and newer, including PrestaShop 8.

What are the fees?

1.5% flat rate plus blockchain fees.

Other platforms and next steps

The same crypto gateway is available for every major platform:

Stuck? Our team replies fast.Send us your platform, a screenshot and the order number if you have one.

Chat with support