I was bleeding $1,500/month to Stripe just to process payments. Seemed normal until I actually did the math instead of just accepting their invoice like an idiot. That's when the numbers got fucking depressing.
The Fees Hit Different at Volume
At $50K/month processing, Stripe's fees are whatever. At $600K/month, you're paying them like $17,400 annually. That's real money.
But here's what really pissed me off: when I called to ask about better rates, they basically told me to fuck off until I hit $1M monthly. Meanwhile Adyen quoted me rates that would save like $6K/year. Not enough to buy a Tesla, but enough to care.
The other processors? Square wanted to know if I was doing retail (nope). PayPal's enterprise team took 3 weeks to call back. Braintree got acquired by PayPal and now they're the same headache.
When Support Actually Matters
Stripe support is fine for documentation questions. But when their webhook delivery randomly stops working and your customers can't complete subscriptions, you need actual humans who understand the problem.
I wasted 4 hours at 2am debugging webhook signatures that kept failing with WEBHOOK_SIGNATURE_INVALID
errors. Turned out Stripe pushed some update in mid-2024 and their webhook validation examples were still using the old fucking method. Support kept insisting my endpoint was broken when their own docs had the wrong code. Absolute clown show.
That's when I realized I needed a backup plan.
The Shit That Actually Broke At Scale
Rate Limiting During Flash Sales: Hit their fucking 100 req/sec limit during a Black Friday sale. Customers couldn't checkout for 20 minutes while I frantically googled "stripe rate limit exceeded" at 2am. Kept getting 429 Too Many Requests
errors even at 50 req/sec. Had to rewrite our checkout flow to queue requests. Fun times.
Subscription Proration is Fucked: Try building mid-cycle plan changes. Stripe basically says "figure it out yourself" and dumps all the proration math on you. Spent a week building logic that other processors just handle automatically. My solution barely worked and broke twice in production.
Connect Marketplace Hell: Building two-sided payments with Connect was months of compliance paperwork hell. Every marketplace seller needs tax forms, business verification, the whole nine yards. Square's version is way simpler but you can't do advanced routing.
International Card Tax: That extra 1% for international cards? Yeah, no negotiation. Just eat it. We're paying like $2K extra monthly just because our customers use European cards.
What I Actually Use Now
For new projects: Still start with Stripe. Their docs don't suck and you can launch in a couple days.
For volume: Migrated our main app to Adyen after processing hit $500K/month. Integration sucked - took 6 weeks because their docs assume you're a payments expert. But we're saving about $500/month now. Their sandbox actually works, unlike Square's which randomly resets your test data.
For simple stuff: Square works fine if you don't need complex webhooks. Good for basic retail integration.
PayPal: Just don't. Their APIs feel like they're from 2010. Error messages are garbage. Gave up after 2 weeks.
The Reality Check
Most businesses should stick with Stripe until the fees hurt. But if you're processing serious volume, alternatives exist that don't completely suck.
Don't expect any processor to be perfect. They all break in creative ways at the worst possible times.
The question isn't "which is best?" - it's "which processor's problems can I live with?" That depends on your volume and how much integration pain you can handle.