✓ No commitment · ⚡ Reply within 24 h · 💬 WhatsApp
💸 Payment down = revenue leaking silently

Payments broken on your
PrestaShop?
we get the gateway running again.

Audit and fix of PrestaShop payment bugs (Stripe, PayPal, card, Apple Pay, Klarna)

Customer paid but no order created, Stripe widget that doesn't load, PayPal in a loop, 3D Secure refused, Apple Pay invisible on iOS, Klarna disabled at checkout: every PSP has its typical failures. We read the PSP logs, identify the break, reconnect the chain.

Or chat on WhatsApp
✓ Free 30-min pre-audit ✓ Firm quote within 24 business hours ✓ From €60/h excl. VAT ✓ Orphan orders recovered
💸 The real cost of broken payments

A payment bug is 8 to 15% of your revenue walking away

Measured across 18 PrestaShop payment audits run in 2025-2026. Compare with your own store.

200
orders / month
(standard B2C store)
× 8-15%
carts lost
specifically to payment bug
€2.7 to €5 k
monthly revenue recoverable
after fixing the gateway
💡 Free pre-audit: we give you the exact number for your store.
🔎 Symptoms by PSP

Each gateway has its typical failures

Spot your PSP and the symptom: it instantly narrows down the diagnostic.

💳 Stripe

Frequent failures:

  • authentication_required → 3DSv2 not implemented
  • Card Element widget doesn't load → CSP blocking js.stripe.com
  • Webhook endpoint returning 403 → Stripe IPs blocked by WAF
  • signature_verification_failed → webhook secret key rotated
🅿️ PayPal

Frequent failures:

  • "Pay with PayPal" button invisible → JS SDK not loaded
  • Redirect to paypal.com looping → IPN token broken
  • IPN webhook not getting through → URL changed without updating the dashboard
  • Sandbox still active in production → test API keys not switched
🏦 Card (Worldpay, Adyen, Stripe Card, Apple/Google Pay)

Frequent failures:

  • 3DS redirect coming back on a PrestaShop error page
  • Invalid MD5/SHA1 hash after a technical key change
  • Server notification (callback) in 500 → PHP endpoint broken
  • Currency not supported → import / export multi-currency edge case
🍎 Apple Pay / Google Pay

Frequent failures:

  • Apple Pay button invisible on iOS → apple-developer-merchantid-domain-association file missing
  • Domain not verified in the PSP dashboard
  • HTTPS not valid across the whole site (subdomains)
  • On iOS < 15: Apple Pay refuses without native Safari
🌍 Klarna / Adyen

Frequent failures:

  • Order status stuck in "pending" indefinitely
  • Klarna Pay in 3 / Pay in 30 not enabled for your country in the merchant portal
  • Webhook received as 200 but status not updated → module bug
  • Test/live mode mixed up after migration
💼 Bank transfer / cheque (native modules)

Frequent failures:

  • Order created but instructions email not sent → SMTP broken
  • Bank details badly displayed → Smarty variable {$bankwireDetail} badly filled
  • "Cheque" module no longer supporting PHP 8 → silent fatal
  • Store in "Catalog only" mode disables the method
⚡ Typical intervention

Stripe bug fixed in 2 h 21

Real case · Food supplements store · PrestaShop 8.1 + official Stripe module · February 2026.

10:18
Customer email "For the last 3 days, Stripe is showing the widget but when the customer clicks Pay, nothing happens. We have 42 carts abandoned on the final step per GA4."
10:24
Pre-audit · browser console Open the payment journey, F12 → Console. Error shown: Refused to load the script 'https://js.stripe.com/v3/' because it violates the following Content Security Policy directive. CSP blocking Stripe.
10:31
Root cause identified The client had installed 4 days earlier a "Hardener" security module injecting a very restrictive Content-Security-Policy header without whitelisting Stripe. Bingo.
10:48
Quote sent · 2 h estimated Email with cause identified + action plan: (1) add Stripe domains to the CSP whitelist, (2) full checkout tests, (3) audit of other scripts that might be blocked (PayPal, Google Pay, reCAPTCHA).
11:34
Fix deployed CSP extended: script-src 'self' js.stripe.com m.stripe.network + frame-src js.stripe.com hooks.stripe.com. Tests on 3 cards (Visa 3DS, Mastercard non-3DS, AmEx): payments OK.
12:39
Report + abandoned cart recovery Cross-referencing Stripe Dashboard → 11 successful charges over 3 days where the PS order had not been created (bug before the fix). Manual creation of the 11 orders for delivery.
2 h 21
Total intervention
~ €120
Billed on quote
(2 h 21 × €60/h excl. VAT)
11 orders
+ €2,450
Orphan orders recovered
💰 Pricing

Pricing stated up-front

Pre-audit free. For the intervention, you know exactly what it costs before we touch the code.

🔍 Pre-audit

Pre-audit

find out why it won't pay
0free
30 min · no commitment
  • Full checkout test (Visa, MC, 3DS)
  • PSP logs reading (Stripe/PayPal/Klarna dashboard)
  • Firm quote + recoverable revenue estimate
  • You decide if we continue
Start the pre-audit →
⚡ Most requested 🔧 Intervention

Targeted intervention

get payments back online
from 60excl. VAT
per diagnostic · price stated up-front
  • Backup files + DB before intervention
  • Fix the root cause (webhook, key, CSP, 3DS, module)
  • Tests on Visa, MC, AmEx, Apple Pay if applicable
  • Recovery of orphan orders (≤ 10 included)
  • 30-day warranty on the fix
🛡️ Maintenance

Performance maintenance

continuous payment monitoring
from 50/ month
24/7 monitoring · no commitment
  • Automated replay of the monthly payment journey
  • Daily backups externalised automatically
  • Alert if PSP webhook fails > 3 times
  • Priority intervention on payment bugs
See plans →
🧭 Don't mix it up

"Payment bug", it's not...

❌ Not a general checkout bug

If the cart empties, the shipping step loops, the next button doesn't react before even reaching payment: it's the checkout funnel, not the PSP. Dedicated page.

Checkout page →
❌ Not a business-rule PSP refusal

If Stripe/PayPal refuses your activity (gambling, CBD, e-cigarettes), it's a commercial decision by the PSP, not a technical bug. Solution: switch to a PSP that accepts your sector.

❌ Not card fraud

If transactions are disputed (chargeback) or refused by the issuing bank, it's anti-fraud on the card side, not a PrestaShop bug. Dedicated tools: Stripe Radar, Sift, etc.

❓ FAQ

PrestaShop payment bugs — frequently asked questions

Six causes stand out in 2025-2026: (1) expired API key or rotated on the PSP side, (2) webhook URL blocked by WAF / Cloudflare, (3) SSL certificate expired or not recognised, (4) 3D Secure v2 not implemented (since PSD2), (5) module incompatible with your PrestaShop version after update, (6) widget JavaScript blocked by another module (chat, tracking, GDPR consent).
Classic webhook bug. The PSP sends a confirmation POST to your site after payment. If the request fails, the order isn't created even though the money has been charged. Immediate check: PSP dashboard > Webhooks > status of recent attempts. If you see 403/500/502/timeout, the webhook isn't getting through. Causes: WAF firewall blocking PSP IPs, endpoint with a fatal, URL misconfigured. Fix: whitelist official IPs + endpoint fix. Orphan orders are recreated manually from PSP payments.
Since PSD2 / SCA (September 2021), all B2C transactions in the EEA must go through 3DSv2 except for limited exemptions. Old modules (pre-2022) often implement 3DSv1 which is no longer accepted. Symptoms: authentication_required, Stripe widget that loads then disappears. Fix: update the official Stripe module (natively handles 3DSv2), or patch the custom module to call PaymentIntents API and handle the challenge.
Apple Pay requires three cumulative conditions: (1) valid HTTPS across the whole site (not just the checkout page), (2) a domain verification file at /.well-known/apple-developer-merchantid-domain-association — often forgotten after migration, (3) domain verified in the Apple Pay dashboard (via Stripe if Stripe). Diagnostic: JS console on Safari iOS at checkout. Fix: regenerate the association file from the PSP dashboard, upload to server, re-verify. 15 min on average.
The pre-audit is free (30 min): full checkout test, reading of PrestaShop logs and the PSP dashboard. Intervention then billed on quote, from €60/h excl. VAT. Most payment bugs (webhook, API key, 3DS, Apple Pay) are resolved in 1 to 3 hours once the cause is identified. Firm quote sent within 24 business hours. Included in Business / Performance maintenance.
Across 2025-2026 payment audits, the bug is responsible on average for 8 to 15% of the checkout abandonment rate. For a store doing 200 orders/month with a 70% abandonment rate: 8 to 15% × ≈ 50 to 90 carts/month × €55 average basket = €2,750 to €4,950/month of revenue lost specifically to payment. ROI immediate from the first month after fix.

Your customers can't pay anymore?

Free 30-min pre-audit: we test a full checkout, identify the break, send a quote. Firm quote within 24 business hours.

💬 Chat on WhatsApp
💬 Chat on WhatsApp — reply in minutes