Last reviewed June 2026, the Stripe and PayPal fee shapes, checkout flows (Payment Element / PayPal redirect vs hosted card fields) and PrestaShop module realities described here are current. Always confirm live pricing in your own processor dashboard, since both publish country-specific rates that change.

Almost every PrestaShop merchant ends up at the same fork: Stripe or PayPal? They look interchangeable from the outside. Both take cards, both are stable, both have a PrestaShop module. But they are built on different ideas about who the checkout belongs to. Stripe keeps the payment on your site and treats the card form as part of your page. PayPal puts its own brand between you and the buyer and, in its classic flow, takes the customer to its site to confirm. That single difference ripples through your fees, your conversion, who trusts the transaction, and how a dispute plays out. This guide is about making the call for a specific store, yours, rather than declaring a universal winner, because there isn't one.

If you've already decided and just need the wiring, API keys, webhooks, SCA, Apple Pay, that's a separate job we cover end to end in the Stripe for PrestaShop integration guide. This post is the decision that comes first.

The short answer, then the nuance

Two payment card terminals facing each other across an orange dividing light, with a card and phone checkout, representing a choice between two payment processors
Two processors, one decision: the right pick depends on your fees, markets and checkout flow.

For most PrestaShop stores the honest answer is both, Stripe as the primary card processor, PayPal as an additional button for the customers who insist on it. Offering more than one relevant method is one of the few reliably positive moves at checkout (the reasoning is in why offering more options means more sales). But "both" isn't free of cost, and plenty of stores are right to run one. The rest of this guide is the framework for knowing which camp you're in.

Fees: do the math on your own card mix

This is where Stripe usually wins, but the gap depends entirely on where your customers' cards are issued, so don't take a headline rate at face value. Published European rates put Stripe around 1.5% + €0.25 for European Economic Area cards and a higher rate (roughly 2.5% + €0.25) for non-EEA cards, with no monthly fee. PayPal's standard online card rate sits around 2.49% + €0.35. Treat these as indicative, both processors publish country-specific pricing and negotiate volume tiers, so confirm the numbers for your account rather than quoting ours.

What matters is the shape of the difference, and it has two moving parts:

Order valueStripe (EEA card, ~1.5% + €0.25)PayPal (~2.49% + €0.35)Difference
€20~€0.55~€0.85PayPal ~55% more
€50~€1.00~€1.60PayPal ~60% more
€150~€2.50~€4.09PayPal ~64% more

The fixed fee (€0.25 vs €0.35) hurts most on small baskets, so a store selling €15 accessories feels the gap more sharply than one selling €300 furniture. The percentage compounds on every order, so the difference is recurring, not one-off. So what does that mean for you? On a store doing meaningful monthly volume in mostly-European cards, routing the bulk of payments through Stripe rather than PayPal is real money kept, but a store whose customers genuinely prefer to pay from a PayPal balance may convert enough extra orders to outweigh the per-transaction premium. Model it against your card mix and average order value before assuming "cheaper" wins.

Checkout experience: on your page vs a context switch

This is the difference customers actually feel, and on PrestaShop it interacts directly with how your checkout is built.

Stripe renders its card fields inside your own checkout page (the Payment Element / Stripe Elements). The customer never leaves your domain; many never register that a third party is involved. On a stepped or single-page PrestaShop checkout this keeps the flow continuous. Card details sit in the same CheckoutPaymentStep as everything else, and Apple Pay / Google Pay can appear as an express button via Stripe's Express Checkout Element or wallet support in the Payment Element, depending on module version.

PayPal has two faces. Its classic flow redirects the customer to paypal.com to log in and confirm, then returns them to your order-confirmation controller, a context switch some shoppers find reassuring and others find jarring. PayPal also offers on-site card processing (its Advanced Credit and Debit Card hosted fields) that behaves more like Stripe and keeps the buyer on your page. Which one your PrestaShop module exposes depends on the module and how it's configured, so don't assume "PayPal = redirect" anymore.

The redirect cuts both ways. For a shopper without a PayPal account it adds a hurdle that can lose the order; for a shopper with one it can lift conversion, because they pay with credentials they already have and trust. That's why this is a per-audience call, not a universal one.

One PrestaShop-specific timing detail is worth understanding because it confuses merchants reading their order list: with PayPal's classic flow the PrestaShop order isn't created the instant the customer clicks "Pay with PayPal". The module redirects, the buyer approves on PayPal, PayPal returns them to the module's controller, and only then, after the payment is captured, does the module call validateOrder() to write the PrestaShop order. So a customer who approves on PayPal but closes the tab before being redirected back can leave money captured at PayPal with no matching PrestaShop order yet. That gap is exactly why the webhook/IPN callback below exists, and why "paid at PayPal, no order in PrestaShop" is a known symptom rather than a mystery.

[SCREENSHOT: A PrestaShop one-page checkout payment step showing a Stripe on-page card field and a PayPal button side by side as two selectable options]

Trust: who is the customer actually paying?

For a brand-new or small store with no reputation yet, PayPal's biggest asset isn't its technology, it's the name. A first-time visitor who has never heard of your shop may still click "Pay with PayPal" because they trust PayPal to stand between them and an unknown seller. That trust-intermediary effect is strongest exactly when you have the least brand equity of your own.

Stripe's trust works differently. It has no consumer-facing brand at checkout, so it earns confidence indirectly: a clean, on-page card form on an SSL site that looks professional. For an established store with recognisable branding, that polish often converts as well as or better than a redirect. So what does that mean for you? The newer and less-known your store, the more PayPal's borrowed trust is worth keeping in the mix; the more established your brand, the more comfortably you can lead with Stripe alone.

Disputes and seller protection: where the money sits matters

How a chargeback feels is genuinely different between the two, and it's worth understanding before you're in the middle of one.

 StripePayPal
Dispute handled byCard networks; you submit evidence through StripePayPal's own Resolution Center first, before it becomes a card chargeback
Typical dispute fee~€15 per dispute (commonly refunded if you win)Generally no per-dispute fee on standard claims
Seller protectionStripe Radar fraud scoring; evidence-based contestingSeller Protection for eligible physical goods shipped with tracking
ReputationNeutral processor. You live or die by your evidenceWidely seen as buyer-leaning in contested cases

The practical implication: PayPal can resolve some problems by mediating before money moves, which is convenient, but if it sides with the buyer, the funds may simply be pulled from your PayPal balance. Stripe doesn't mediate; it gives you a window to submit evidence to the bank. Whichever you use, your defence is the same paperwork, order confirmation, shipping tracking, delivery proof, customer messages, and PrestaShop already stores all of it in the order history, so the real task is being able to assemble it fast before the processor's evidence deadline starts running.

Reach and local payment methods

If you sell across borders, look past cards. Stripe supports a long list of currencies and, crucially for European sellers, local methods like iDEAL, Bancontact and SEPA Direct Debit through the same integration, and the conversion impact of offering the method a customer expects in their own country is large (we cover this in local payment methods that unlock local markets). PayPal's strength is the opposite: fewer currencies, but near-universal brand recognition, which carries weight in markets like the US, UK and Australia where buyers reach for PayPal on cross-border purchases.

If your real need is broad European local-method coverage from one contract, it's worth comparing a multi-method aggregator too, see Mollie for PrestaShop, and for a Polish-market shop specifically, Przelewy24 often matters more than either Stripe or PayPal.

Pay-later is now part of this decision

One thing changed in the last few years: both processors now broker Buy Now, Pay Later. PayPal has Pay in 3 / Pay Later built into its button; Stripe brokers Klarna, Afterpay/Clearpay and others through the Payment Element. For mid-to-higher basket values, offering instalments can lift completion, but it's a topic with its own trade-offs (fees, eligibility, returns), covered in Buy Now Pay Later: what it means for your conversion. The point for this decision: "Stripe vs PayPal" is no longer purely a card question. Both can be your route to BNPL too.

Integrating either one with PrestaShop

Both have official PrestaShop modules, and both work. The decision should turn on fees, audience and trust. Not on a belief that one module is sturdier than the other. A few PrestaShop-specific realities to know before you wire anything up:

  • Use the modern API. For Stripe, that means a module built on the Payment Intents API (not the legacy Charges API). It's what makes European SCA / 3D Secure 2 work correctly. PayPal's equivalent is its current Orders/Checkout SDK rather than the deprecated NVP/SOAP flow.
  • Webhooks decide whether orders are real. Both processors confirm payments out-of-band. If the webhook endpoint is blocked by a firewall, Cloudflare rule or .htaccess, you get the classic PrestaShop symptom: orders stuck mid-state with no matching charge. The Stripe side of this is walked through in the Stripe integration guide.
  • Currency must match. The payment has to be created in the same currency PrestaShop showed the customer; a mismatch between the active currency and the charge is a common source of wrong-amount complaints.

For the wider field, Mollie, Adyen, local gateways and how the official modules stack up, start from Best Payment Modules for PrestaShop rather than re-deciding it here.

Running both without doubling your admin

If you land on "both", and most stores do, the cost isn't the transaction fees, it's the back-office overhead: two dashboards, two settlement accounts, two reconciliation jobs at month-end. That's manageable, but it's the part merchants underestimate.

This is where keeping payments inside one checkout flow earns its place. Our Checkout Revolution module presents Stripe, PayPal, Apple Pay, Google Pay, Link and plain cards as options within a single one-page PrestaShop checkout (verifiable in the module's own feature set), configured from the back office rather than a developer invoice. So what does that mean for you? The customer sees one clean payment step and picks their method; you don't fork your theme or maintain two separate checkout experiences to support two processors. And because the order data lands consistently in PrestaShop regardless of which processor took the money, consolidating both revenue streams into one view, for accounting and reconciliation, is the kind of job our Financial Revolution reporting is built for, so "two settlement accounts" doesn't mean two sets of books you stitch together by hand.

When to choose just one

Both is the default, not a law. Pick a single processor when the second one is pure overhead:

  • Stripe only. A B2B store whose buyers pay by card or bank transfer and never ask for PayPal, or any store where PayPal's buyer-leaning dispute stance is a genuine risk for your product type (high-value, custom, or dispute-prone goods).
  • PayPal only, a brand-new store that wants the simplest possible launch and the maximum borrowed trust on day one. Add Stripe later once you have volume and brand recognition, and the fee savings start to matter.
  • Neither, primarily, if your market has a dominant local preference (iDEAL in the Netherlands, BLIK/Przelewy24 in Poland, Bancontact in Belgium), lead with that and treat cards as the secondary option. What customers in each European market actually expect is mapped in payment methods for European e-commerce.

How to decide for your store

Strip it to four questions and the answer usually appears:

  • What's your card mix and average order? Mostly-EEA cards and thin margins push toward Stripe on fees; small baskets feel PayPal's fixed fee hardest.
  • How established is your brand? New and unknown leans on PayPal's borrowed trust; recognised and polished can lead with Stripe alone.
  • Where do you sell? Intra-European with local methods favours Stripe (or an aggregator like Mollie); heavy US/UK/AU cross-border keeps PayPal valuable.
  • Can you absorb a little admin? If yes, offer both and let customers self-select. If you're a one-person shop guarding your time, run one well rather than two badly.

There is no processor that's simply "better." Stripe is usually the cheaper, on-page, locally-flexible card engine; PayPal is the trusted name that converts the cautious and the cross-border buyer. The strongest PrestaShop stores treat that as a feature, not a dilemma. They offer the customer the choice and keep both inside one clean checkout, so the only decision the buyer has to make is to pay.

Frequently asked questions

Is Stripe always cheaper than PayPal?

Usually, on European card mixes, but not automatically. Stripe's EEA-card rate (around 1.5% + €0.25 at published European pricing) typically undercuts PayPal's standard online card rate (around 2.49% + €0.35), and the gap widens as order value rises. But the saving only exists on cards that qualify for the lower tier, non-EEA cards cost Stripe more, and PayPal can still be the cheaper outcome overall if its borrowed trust converts orders that a card-only checkout would have lost. Model it against your own card mix and average order value rather than assuming the headline rate decides it.

Can I run Stripe and PayPal at the same time on PrestaShop?

Yes, and most stores should. They're separate payment modules and don't conflict; each registers its own payment option at checkout. The real cost of running both isn't technical, it's back-office: two dashboards and two settlement accounts to reconcile at month-end. Presenting both inside one payment step (the kind of thing our Checkout Revolution module does) keeps the customer-facing side clean while you still settle into two accounts behind the scenes.

Why did PayPal take the money but no order appeared in PrestaShop?

This is the PayPal order-timing gap. In the classic redirect flow the PrestaShop order is only written when the customer is returned to the module's controller and the module calls validateOrder() after capture, so if the buyer approves on PayPal and then closes the tab before being redirected back, the payment can be captured with no PrestaShop order yet. PayPal's server-to-server callback (IPN/webhook) is what closes that gap, which is why a blocked callback URL is the usual cause. Check the payment exists in your PayPal dashboard, then confirm the callback URL isn't being blocked by a firewall, Cloudflare challenge or .htaccess rule.

Does choosing Stripe or PayPal affect SCA / 3D Secure?

Both handle Strong Customer Authentication, but only if the module is current. For Stripe, that means a module built on the Payment Intents API, it triggers 3D Secure 2 automatically when the card and issuer require it. For PayPal, it means the current Orders/Checkout SDK rather than the deprecated NVP/SOAP integration. A module still built on Stripe's old Charges API or PayPal's legacy flow can mishandle European SCA, so confirm the API generation before you install.

Which one is better for a brand-new store with no reputation?

PayPal, on day one, specifically for the borrowed trust. A first-time visitor who has never heard of your shop may still pay because they trust PayPal to sit between them and an unknown seller, and that effect is strongest exactly when you have no brand equity of your own. The common path is to launch with PayPal for that reassurance, add Stripe once you have volume and recognisable branding, and let the fee savings on Stripe start to matter as you grow.

Share this post:
David Miller

David Miller

Founder, mypresta.rocks

David Miller is a PrestaShop specialist with over a decade of hands-on experience and the founder of mypresta.rocks, a software studio in Tychy, Poland. He builds and maintains a catalogue of 152 PrestaShop modules, including 21 "Revolution" suites spanning SEO, checkout, security, performance, marketing, search, support, and warehouse operations, that improve real stores every day, all tested against PrestaShop 1.7.8, 8.x, and 9.x. He also acts as caretaker for production stores turning over millions in annual sales, so his work is judged on live revenue, not demos. His experience runs the full breadth of ecommerce, performance, security, SEO, and marketing, and reaches beyond PrestaShop to WooCommerce, Shopify, and custom-built systems. On the blog he writes about the code-aware side of PrestaShop: what the platform really does under the hood, what breaks in production, and which fixes hold up.

Comments

No comments yet. Be the first!
Enjoyed this article?

Get our latest tips, guides and module updates delivered to your inbox.

You may unsubscribe at any moment. For that purpose, please find our contact info in the legal notice.

Loading...
Back to top