The three paths
StoreKit/Google Play Billing: Apple and Google own the rails. You pay 15-30%, they handle every detail.
Stripe/Adyen: Payment processors. You pay 2.9% + $0.30 (roughly), you get more control.
Roll your own: You pay interchange + processor fees (1.5-2%), you control everything, you also maintain the whole stack.
When StoreKit makes sense
If you're doing iOS subscriptions or consumables, StoreKit is the only option per App Store guidelines, not a choice. But even when you have a choice (reader apps, some B2B scenarios), here's what you get:
Pros:
- Subscription management comes off your plate. Upgrades, downgrades, grace periods, billing retry: all built into the platform.
- Users trust the blue payment sheet. No need to build a card form UI.
- Family Sharing works out of the box.
- TestFlight gives you straightforward sandbox testing.
Cons:
- 30% cut is brutal (15% for small business program, but that caps at $1M revenue).
- Receipt validation is an arcane mess. Server-to-server notifications help, but you're still dealing with base64-encoded blobs.
- No direct customer email. You can't email users about failed payments.
- Refunds go through Apple. You have zero control.
For PetSafe, the 30% hurt, but the alternative was building web-based subscriptions and driving users out of the app. Conversion would've fallen off a cliff. Sometimes the tax is worth the trade.
When Stripe/Adyen work better
If you're on web or Android (with alternative billing), processors give you control without building infrastructure.
Stripe wins on:
- Integration speed. Checkout, Billing, and Payment Links get you live in days.
- Documentation. Their docs are a legitimate strength.
- Ecosystem. Extensions, plugins, and integrations exist for every use case.
- Startup-friendly pricing. 2.9% + $0.30 is standard, but negotiable at scale.
Adyen wins on:
Global payment methods. Ideal, Klarna, Boleto: they're native, not bolted-on afterthoughts.
Enterprise pricing. At scale, you'll pay less than Stripe (1.5-2% range).
Platform features. If you're running a marketplace, they bring battle-tested split payment logic.
Both handle:
- PCI compliance (you never touch card data).
- Fraud detection (machine learning models that required no training on your part).
- Failed payment recovery (dunning management that does its job).
The trade-off is you're paying for convenience. Stripe's 2.9% is significantly better than Apple's 30%, but it's still a margin hit. For most startups, this is the right path. You're buying time and reliability.
Why you shouldn't roll your own (probably)
I've seen the "just integrate with a payment gateway" pitch. Use Braintree's SDK, talk directly to card networks, save on fees. Here's what that means:
You're responsible for:
- PCI DSS compliance (annual audits, quarterly scans, documentation).
- Tokenization and encryption (do this wrong once and you're out of business).
- 3D Secure implementation (required in Europe, painful in every market).
- Fraud detection (or you'll bleed money to chargebacks).
- Failed payment retry logic (subscriptions lapse without this safety net).
- Reconciliation (matching payments to orders at scale is harder than it looks on paper).
You save:
~1% in processing fees at volume (Stripe's 2.9% vs. interchange at ~1.8% + gateway fees).
The math only works if you're processing serious volume. Shopify, Netflix, Uber: they have payment teams. You probably don't have that headcount. And even they use processors for some markets.
The exception: if you're in a regulated or high-risk industry (crypto, gaming, nutraceuticals), you might not have a choice. Processors will reject you or charge punitive rates. Then you're building payment infrastructure by necessity, not by choice.
What I'd choose today
For a new startup:
-Mobile app with subscriptions? StoreKit. Eat the 30%, optimize conversion.
-Web or cross-platform SaaS? Stripe. Ship fast, iterate on pricing.
Global product with localized payment methods? Adyen. Conversion rates in APAC and Europe will justify the integration effort.
High volume B2C (>$10M ARR)? Talk to Adyen or Braintree, negotiate rates.
-Venture-scale with payment complexity (marketplace, escrow, etc.)? Still Stripe or Adyen. Build features, not infrastructure.
The only time I'd build custom payment infrastructure is if I was in a restricted industry or processing massive volume where 1% margins are real money.
Payment rails are boring infrastructure. Pick the boring option that lets you ship features that matter to your customers.
---
Related reading: For a deep dive into platform architecture interview questions (gateway vs processor vs acquirer), see Payments product manager interview questions and answers: the complete guide.