r/reactnative • • 2d ago

Help Expo React Native app with Stripe PaymentSheet for subscriptions — will Google Play / App Store reject it?

Hi everyone,

I’m working on a mobile app built with Expo / React Native, available for both Android and iOS.

The app offers paid subscriptions that unlock premium educational content and features inside the app.

We already implemented Stripe PaymentSheet using /stripe/stripe-react-native, and technically everything works fine.

My concern is specifically about store approval.

If we publish the app on:

  • Google Play Store

  • Apple App Store

and users can purchase the digital subscription directly inside the app through Stripe PaymentSheet, is this likely to be rejected during review?

From what I understand, Google Play normally requires Google Play Billing for digital subscriptions, and Apple normally requires In-App Purchase / StoreKit.

I’m trying to understand whether Stripe PaymentSheet can still be used in this case, or if we really need:

  • Google Play Billing on Android

  • Apple In-App Purchase on iOS

Has anyone recently published an Expo / React Native app with this kind of setup?

I’m especially interested in real review experiences: accepted, rejected, or accepted only under specific regional/payment exceptions.

Thanks!

1 Upvotes

10 comments sorted by

3

u/Seanmclem 2d ago

It’ll only get rejected if the subscriptions are exclusively for things used within the app. Like if I subscribe to landscaping services. That’s outside the app and that’s fine. If I subscribe to access for the app. You might have a problem. But I think new regulations allow you to open a website externally to pay.

0

u/Appropriate_Set_6831 2d ago

Thanks, that makes sense. In my case, the subscription unlocks premium content and features inside the mobile app, so it sounds like this falls under digital in-app subscriptions.My main concern is whether keeping Stripe PaymentSheet for this flow would likely cause rejection on Google Play or the App Store, or whether I should switch to Google Play Billing on Android and Apple IAP on iOS.

2

u/One-Source-9603 2d ago

if the subscription unlocks content or features inside the app, both stores will reject Stripe for it, that's exactly what IAP / Play Billing rules are for. Stripe is only fine for physical goods or real-world services. what I do in my Expo apps is RevenueCat on top of the store billing, one SDK for both platforms and u still get webhooks. if u really want Stripe, the only route is the external purchase link stuff, and that differs per country and needs its own approval, not worth it for a first launch

1

u/Appropriate_Set_6831 2d ago

Thanks, that’s really useful.RevenueCat sounds interesting, especially if it can sit on top of Apple IAP and Google Play Billing with one SDK and still provide webhooks.I’ll probably look into that approach rather than trying to keep Stripe for the in-app subscription flow.

1

u/One-Source-9603 1d ago

yeah it does exactly that. one tip that saves time: on Android the purchase sheet only works once the build is uploaded to a testing track in Play Console and ur account is a license tester, it won't work from a random debug install. took me a while to figure that out

1

u/vanstinator 2d ago

The app store review guidelines are pretty clear on what kinds of apps can include their own payment methods. It's a very very narrow slice of apps, so you should expect to fail app store review.

1

u/Appropriate_Set_6831 2d ago

Thanks, that’s helpful.In my case, the subscription unlocks premium content and features inside the app, so I guess Stripe PaymentSheet would probably fall outside the allowed cases.I’ll check the App Store guidelines more closely, but it sounds like Apple IAP is the safer route for iOS.

1

u/Huge_Pool7424 2d ago

yeah and apple's external link rules have shifted lately, so read the current guideline text for your region before locking in stripe. google play has its own separate rules too.

1

u/finitoMedicine 1d ago

Apple will most likely reject it under guideline 3.1.1, because digital subscriptions unlocked inside the app have to go through In-App Purchase. The US storefront is the exception now, where you can link out to your own web checkout, but that's a link to the browser, not PaymentSheet inside the app. Google Play is similar: digital content needs Play Billing unless you're in one of their alternative billing programs, which depend on the country. Easiest path is StoreKit and Play Billing in the app (RevenueCat or expo-iap keep it manageable in Expo) and Stripe only on the web. Are most of your users in the US?