PrestaShop module

UTOPAY for PrestaShop

Two payment options at checkout: card / PayPal (4.5%) and crypto with a coin selector (1.5%). The same module runs on PrestaShop 1.6.1 – 9.

In short:

Upload the ZIP in Modules → Module Manager → Upload a module, open Configure, paste the secret key. The order is created as “Awaiting UTOPAY payment” and becomes “Payment accepted” automatically.

PrestaShop
1.6.1 · 1.7 · 8 · 9
PHP
5.6 – 8.x
Methods
Card, PayPal, crypto
Order state
“Awaiting UTOPAY payment”
Retry
“Pay again” on the order page
Languages
English, Russian
Plugin version
1.0.0

What the module does

  • Checkout shows Card, Apple Pay, Google Pay, PayPal and Crypto (with a coin selector). Either can be turned off.
  • The order is created in the Awaiting UTOPAY payment state, then the buyer pays on the UTOPAY page.
  • After the payment is re-read through the API and the amount and currency match, the order goes to Payment accepted; the UTOPAY payment id is saved as the transaction id.
  • The order confirmation page re-checks the payment and shows Pay again while the order is unpaid.
  • Underpaid crypto and amount mismatches are written to Advanced Parameters → Logs for the order.

Installation

  1. Download the ZIP above.
  2. Modules → Module Manager → Upload a module → choose the ZIP (PrestaShop 1.6: Modules → Add a new module).
  3. Open Configure. In the UTOPAY dashboard create a test key utopay_sk_test_… (Integration → API keys) and paste it. The key is checked on save.
  4. Choose payment options and coins. For crypto add your EVM wallet in the dashboard (Project settings → Funds & payouts).
  5. Make sure the module is allowed for your currencies and countries in Payment → Preferences.

Settings

FieldWhat it does
Secret keyutopay_sk_test_… for the sandbox, utopay_sk_live_… for real payments. Leave empty to keep the saved key.
Payment optionsCard / PayPal and crypto, card only or crypto only.
Crypto coinsComma-separated tickers, e.g. bep20/usdt,erc20/usdt,polygon/usdc.
Card methodEmpty — the buyer chooses; or straight to Stripe, PayPal, Revolut…

Test payment

  1. With the test key place an order and choose a UTOPAY option.
  2. In the UTOPAY sandbox press the green ✅ button.
  3. You return to the order confirmation page: “Payment received”. In the back office the order is Payment accepted.
  4. Replace the key with utopay_sk_live_….

How orders are confirmed

Each payment carries its own notification URL (/module/utopay/callback) with the order id, amount and currency, signed with your secret key. UTOPAY signs every event (HMAC-SHA256) and retries for six hours if the shop does not answer 2xx.

The module checks both signatures, re-reads the payment through the API and sets Payment accepted only when it is paid with exactly the order total and currency.

Troubleshooting

  • UTOPAY is not shown at checkout — the cart currency is not supported, the key is empty, or the module is not enabled for the currency / country in Payment → Preferences.
  • Orders stay “Awaiting UTOPAY payment” — the shop must be reachable from the internet and maintenance mode must be off; see Advanced Parameters → Logs.
  • “amount is below the minimum” — the total is below the minimum of the method or coin; the buyer can press Pay again and choose another one.

Changelog

  • 1.0.0 — first release: PrestaShop 1.6.1 – 9, cards & PayPal, crypto, Pay again, Russian translation.

SHA-256: 3fbdc9540feaa15a12ca677af2c56d55284f104a119c50bc139fe20e1248ac52

Updated · UTOPAY integrations team

FAQ

Questions about plugins

One module for 1.6 and 8?

Yes. On 1.7 – 9 it uses the paymentOptions hook, on 1.6 the classic payment hook; the rest is shared.

What happens to unpaid orders?

They stay “Awaiting UTOPAY payment”; the buyer can pay again from the confirmation page. Cancel stale ones as usual.

Is multistore supported?

Settings are stored with PrestaShop Configuration; use one key per shop context if needed.

Are refunds supported?

Not from the back office. Refund the buyer from your wallet and create a credit slip manually.

More integrations

Accept card and crypto payments in PrestaShop

Create a free account, take a test key and place a sandbox order in five minutes. You pay only for successful payments.