Paypal's documentation is horrid; they have several competing APIs (the most obvious choice - the REST API - has been silently abandoned); there are many active bugs; their support is slow and unreliable; the admin UX is horrid (finding transactions can be very hard); you will find yourself discovering the hard way how the system behaves on error; and oh there will be lots of errors.
Stripe is stupid simple by comparison, and impeccably reliable.
I pushed thousands of transactions per day through each. Paypal practically required a dedicated engineer to follow up on all the chaos. They periodically lost transactions (and fessed up to it after hours of debugging and support). They lost support tickets too. It's maddening.
If you aren't in a high volume business, Paypal is NOT worth the development headache. You can probably get 20% more users by spending the time building features your users care about.
Paypal is one of the hidden mines that await startups - you could have had your smartest engineers working on it for months, possibly sinking the whole endeavor as other (actually important) things fail to get done. Unless you have engineering assets to burn, Paypal is absolutely toxic.
Also, I don't necessarily see Stripe as more secure. I see Stripe as the same as handing my CC details to the one-off site. Because, while my info is in their DOM, their JS can do whatever it wants with it. It should just send it off to Stripe and get the callback. But how do I know that? For that reason, I do feel more secure when I get redirected off to a paypal.com site. I know Stripe offers this, but I never see it implemented that way. I always see the use of Stripe.js which allows my info to be in their page/DOM.
That said, if there was an alternative that stored my CC info and let me do one-click buying (does Stripe do this??) that was integrated into 60%+ of payment systems, I'd gladly use it instead of Paypal, who I've grown to abhor.
Stripe has a Payment Request Button that enables one-click buying with Apple Pay, Google Pay, or the Payment Request API. [2] The button will choose whichever method is best and available for your specific browser.
[1]: https://www.w3.org/TR/payment-request/
[2]: https://stripe.com/docs/stripe-js/elements/payment-request-b...
Legally and financially, if a malicious website uses my card number poorly, the consequences for me are "I notice an issue and Chase mails me a new credit card".
Debit card numbers, sure, that's a whole other ball game. But a credit card number? IDGAF if it gets stolen. It's not my problem, and I like it that way.
While you're correct, it's a huge PITA replacing a CC. I have almost all my bills going through my CC for points. Then there are places like my crap gym that charges a fee if the CC is ever denied for any reason.
In the case of my AmEx, I have some monthly charges still using an old number from 3 years and 2 stolen cards ago. Discover used to offer this too, though I don't know if they currently do.
I only just learned that Stripe use some sort of voodoo to continue recurring payments after a card is replaced, which overcomes one of my main objections. If I were Stripe, I'd be shouting this from the rooftops.
Generally processors charge $1/card updated, but stripe is pricey enough to include it for everyone.
Yes, Paypal is pretty bad and I avoid using it on the websites I trust -- but if a random small store asks for the credit card, I start searching for alternatives.
Just thinking about how some gas stations in the US do so to encourage cash/debit sales vs. credit card where they have to pay transaction fees.
In this use case the point would not be to avoid fees, because that's not possible here, but to avoid becoming a PayPal merchant horror story.
I've had the same experience with my customers. I think Stripe is leaving a lot of money on the table by not promoting their brand to end users more. As an informed technical person, I would much rather hand my CC to Stripe than to PayPal, but Joe Sixpack doesn't feel the same way. Their impression is that they're giving randome websites their CC information, when actually Stripe's architecture is very reasonable.
If this affected conversions in a meaningful way for my business, I would have a hard time justifying not using PayPal instead of Stripe.