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.
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.
(standard B2C store)
specifically to payment bug
after fixing the gateway
Each gateway has its typical failures
Spot your PSP and the symptom: it instantly narrows down the diagnostic.
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
Frequent failures:
- "Pay with PayPal" button invisible → JS SDK not loaded
- Redirect to
paypal.comlooping → IPN token broken - IPN webhook not getting through → URL changed without updating the dashboard
- Sandbox still active in production → test API keys not switched
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
Frequent failures:
- Apple Pay button invisible on iOS →
apple-developer-merchantid-domain-associationfile 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
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
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
Stripe bug fixed in 2 h 21
Real case · Food supplements store · PrestaShop 8.1 + official Stripe module · February 2026.
Refused to load the script 'https://js.stripe.com/v3/' because it violates the following Content Security Policy directive. CSP blocking Stripe.
Content-Security-Policy header without whitelisting Stripe. Bingo.
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.
(2 h 21 × €60/h excl. VAT)
+ €2,450
Pricing stated up-front
Pre-audit free. For the intervention, you know exactly what it costs before we touch the code.
Pre-audit
- Full checkout test (Visa, MC, 3DS)
- PSP logs reading (Stripe/PayPal/Klarna dashboard)
- Firm quote + recoverable revenue estimate
- You decide if we continue
Targeted intervention
- 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
Performance maintenance
- Automated replay of the monthly payment journey
- Daily backups externalised automatically
- Alert if PSP webhook fails > 3 times
- Priority intervention on payment bugs
"Payment bug", it's not...
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 →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.
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.
PrestaShop payment bugs — frequently asked questions
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./.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.Other issues I handle
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.