Binary rejected due to "payment mechanism other than in-app purchase for digital content"


I just submitted my app to the Apple for review, but unfortunately got the binary rejected with the following reason:

We noticed that your app contains a payment mechanism other than in-app purchase for digital content or to unlock features or functionality within your app, which is not appropriate for the App Store. In-app purchase is the only valid in-app payment mechanism for digital content.

I have built the app with Expo v19.0.0, and have not implemented any kind of payment mechanisms or unlock features myself. Has this problem occurred to anybody else, or do you have any suspicion on why this may be the case? Anything in Expo I need to deactivate in my app.json?

Helpful for any input!


Hi, this is the second report we’ve had of this, we’re looking into it today and will update with more information.

@dlange Sorry you ran into this. Please try rebuilding your IPA later today and resubmitting it to Apple.

We’d previously announced Stripe support on iOS as part of our experimental DangerZone APIs. The Payments API was using the Stripe SDK on iOS. We learned that Apple sometimes rejects apps which contain the Stripe SDK but don’t offer anything for sale. To help your App Review process go more smoothly, we’ve decided to remove the Stripe SDK and experimental Payments API from apps built with the Expo standalone builder. This update should roll out sometime today.

Awesome, thanks for the quick resolution! Do I have to upgrade to the latest SDK, or can I simply rebuild using 19.0.0?

Simply rebuild - no need to change your project.

1 Like

@ben @ide Is it correct that now the only way to use Stripe on iOS with Expo is to detach (so via ExpoKit)?

The final section on the Payments docs seems to indicate this might change soon. Any news?

That is correct right now. You can detach and include the Payments subspec in your Podfile. We are working on improving that, but I don’t have an ETA.

I’m going to close this topic because the original issue was resolved six months ago. Please feel free to start a new discussion if you want to talk more about ExpoKit and Payments.