Disclosure: Hyperswitch is a free and open source payment switch that is not affiliated with Stripe or PayPal. This post does not intend to promote either. The post only outlines why you need both Stripe and PayPal on your checkout and how you can make it happen.

Payments are critical but probably not core to your online store. Yet, setting up your payment stack requires considerable decision making. This is in part due to the (sometimes opposing) forces that pull you in all directions. It is difficult to make early decisions on your choice of payment providers, payment methods, checkout experience etc., because they depend on development effort, intended checkout experience, customer payment preferences, ease of payment operations and your choice of e-commerce platforms.

Having your store on an e-commerce platform comes with its own payment challenges but that is a story for another day. If you are using Stripe on your own website, it might seem like all the above problems are solved by default but let’s have a closer look. 

Since its inception, Stripe has leaned heavily on being a developer friendly solution and rightfully so. I’d argue that Stripe’s core innovation has been the simplification of integrating payments and raising the bar for documentation. My only problem here is that we tend to opt for Stripe primarily because of its developer appeal, potentially overlooking user preferences and experiences. This is precisely why PayPal can’t be left out of the party. So how can you set up both on your checkout page?

Why you need PayPal

Perhaps no single company has influenced e-commerce payments as much as PayPal. PayPal was the OG payments innovator that introduced the world to making payments with email addresses, monitoring fraud with the launch of the first reverse Turing test, creating HTML payment buttons etc. Over the years PayPal has established itself as the most preferred & trusted payment method in the US. If the US is a big market for your business, or if you wish to expand globally, PayPal is a must-have:

  • 70% e-commerce stores in the US support PayPal

  • PayPal gives access to 400 Mn active users across the world with 75% Americans preferring PayPal

  • 81% of US millennials, 79% of Gen-Xers, 65% of Gen-Zers  and 68% of baby boomers use PayPal in the US

Here’s how PayPal compares with other prominent card wallets:

PayPal checks out on almost all the decision parameters. Your customer does not need to search for their wallet and enter their card number, it offers a one click checkout option, it has become fairly easy to integrate and its dashboard is quite intuitive. 

PayPal’s only downside is that it is not available on Stripe, at least in the US.

Stripe is not enough?

Stripe’s Payments API is well known for making the headlines for requiring only seven lines of code to start accepting payments. Over the years, Stripe API’s have evolved to become more complex but I would still argue that is it super easy to get started with. Stripe still has the edge over PayPal when it comes to UI.

Stripe still has a lot of ground to cover when it comes to fraud prevention with Radar. On the other hand, PayPal's fraud prevention is highly effective, resulting in very few instances of fraud for users. Their refund and chargeback policy is customer-friendly, making it easy to request refunds without incurring chargeback fees. They offer loans based on transaction history and repayments are seamless through a percentage deduction from payments. They have addressed legal issues and stopped seizing funds unlawfully. 

Perhaps Stripe’s biggest advantage over PayPal is that they don’t try to acquire users. They only care about charging your card since they are not a customer facing solution (this however is changing with Stripe’s Link which comes at no additional cost). PayPal’s goal of acquiring customers gets in the way of user experience requiring them to collect way more input fields than Stripe on their card payment UI. Long story short, PayPal being available through Stripe would mean the best of both worlds.

Stripe’s only downside is that it does not support PayPal, at least in the US.

Challenges: Why we can’t have nice things

Let’s say you decide to go through the effort of integrating PayPal alongside your Stripe integration. You’ll now have to complete a number of side quests before you can get up and running. For starters, which PayPal integration should you choose? How should you overcome toggling between the Stripe dashboard and PayPal dashboard? Which PayPal button works best for you? How should you choose between the redirect and SDK checkout flows? How can you optimize for processing fees between Stripe and PayPal? All of these problems would be sorted if Stripe supports PayPal. Here are some of the challenges you will face on this journey:

Which PayPal integration / checkout experience should you choose?

PayPal integration has become simpler over the years but the bigger challenge now is figuring out which integration suits you the best. Here's a map to help you navigate:

Keeping the overall layout of your checkout page aside, there are broadly two kinds of PayPal wallet flows available for your customer. A redirection flow and a more native SDK flow. The redirection flow is where the customer is redirected to the PayPal checkout window where they are prompted to enter their PayPal login credentials. The SDK flow is a one click checkout that skips this step to directly charge the customer’s card. I’d recommend using the SDK flow simply because this has a lower chance of drop offs.

Since PayPal is not available as a payment method within Stripe, you would have to render the PayPal checkout button separately (especially if you are on Stripe Elements). Not having control over your UX means that you might not get to blend the checkout page seamlessly with your brand. Simple functionality like being able to reorder payment methods is simply not possible because Stripe’s Payment Element methods do not apply to PayPal.

Dashboard and payment operations

Once you have completed the integration and have started accepting payments through both Stripe and PayPal, you’ll have to figure out how to unify payment analytics or learn to live with two separate dashboards. The challenge is not only with respect to monitoring but also with payment operations like refunds, chargebacks, payouts, reconciliation etc. Practically, a lot of reconciliation is manual these days even though there are tools like Xero to unify your data from Stripe and PayPal. These solutions often have rate limits in terms of the number of API calls they make and tend to never push all the transactions. This means you have to pick up where it left off and manually complete reconciliation. It goes without saying that it is impossible to perform other operations like refunds or manage disputes from a single source of truth.

Optimizing processing fees

It is possible to get interchange+ pricing with PayPal whereas Stripe’s rates are blended. American express cards are cheaper to process through PayPal for instance. Being able to decide if a particular card needs to be charged via Stripe or PayPal is a prerequisite if you are looking to save on processing fees. It might not seem like much but the Stripe PayPal processing fee difference really adds up as your volumes increase. 

To switch or not to switch

Ultimately, de-risking your payments is the best reason to integrate both. It is best to not lock-in yourself with any one payment provider. Stripe or PayPal could potentially freeze your payments without notice. These downtimes can occur for a variety of reasons like sudden increase in transaction volumes, being flagged by the processor for potential risk in the nature of transaction and so on. Being able to dynamically switch between Stripe and PayPal or any other payment processor at least ensures you have a fallback.

If I was pressed I could probably implement any other payment processor in about a week or a day. The ability to quickly switch payments is your only defense against frozen accounts, fraud, and rogue employees

Zed A. Shaw