Unlock Stripe in-app purchases across iOS & Android in 5 minutes
Grow your app, while Adapty handles subscriptions, users, paywalls, analytics, and coding
Create Stripe in-app purchases for iOS and Android backend in two steps

Forget about ‘I paid but nothing happened’ customer support tickets
customer_user_id
lets Adapty grant consistent access for the same user.
Don’t leak any card details of your customers with least-privilege keys

Turn scattered payment receipts into revenue-building insights with Adapty

People from all kinds of businesses turn to Adapty to grow their revenue
We wrote helpful posts about Stripe for in-app purchases

Can you use Stripe for in-app purchases in 2025?
Questions about Stripe integration answered for you
How do I enable Stripe iOS in-app purchase with Adapty?
Install the Adapty Stripe App from the Stripe Marketplace, copy the restricted API key into Adapty ➔ Integrations ➔ Stripe, and add
customer_user_id
to your checkout metadata. The SDK unlocks the stripe in app purchase iOS flow in seconds.Can I mix a Stripe in-app purchase with native App Store and Google Play billing?
Yes. Adapty merges StoreKit, Play Billing, and in-app purchase Stripe events into one profile, so users keep a single active subscription no matter where they pay.
Does Adapty sync refunds for Stripe Apple in-app purchase events?
Full refunds hit Stripe first; Adapty receives the webhook and removes entitlements in real time, keeping iOS, Android, and web access in sync.
Does Adapty handle proration or partial refunds for a Stripe in-app purchase flow?
Not yet. Adapty records the final charge amount only. If you need mid-cycle proration today, apply the adjustment in your backend and push the net total to Adapty via its server API.
Can I use tiered or metered prices with my Stripe in app purchase iOS integration?
Currently Adapty supports Flat-rate and Package price types. Tiered or metered billing isn’t recommended because quantity-based events don’t map cleanly to mobile entitlements.
Is it ok to rely on customer email instead of customer_user_id for a stripe ios in app purchase setup?
Email works as a fallback, but Adapty strongly recommends passing the same customer_user_id you use inside your app. A stable ID guarantees instant cross-platform unlocks and avoids mismatches caused by “hide-my-email” aliases.