Use Stripe’s In-app Payments to build a customized payments integration and checkout flows for your iOS, Android, and React Native apps. This overview helps you plan your integration.
US apps selling digital goods
Android apps in the US that sell digital goods can now process payments in-app using Stripe. If you sell digital goods on iOS, see how to implement an app-to-web flow using Stripe Checkout in Sell in-app digital goods and subscriptions.
With Stripe In-App Payments, you can:
Dynamically display 40+ payment methods, including Apple Pay, Google Pay, and Link, as well as saved payment methods.
Collect payment information like credit card numbers and billing details.
Complete the payment, handling authentication like 3DS2 or redirecting to a banking app.
Choose a UI
Choose from three different UI integrations depending on your preferred UX and design needs.
Payment Sheet
Flow Controller
Payment Element
Integration effort
Low code
Some code
Some code
Display payment methods
In a sheet
In a sheet
In an embeddable view
Collect payment details
In a sheet
In a sheet
In a sheet
Complete payment
In a sheet
You control when to confirm in your UI
You control when to confirm in your UI
Layout flexibility
Fixed sheet presentation
Fixed sheet for selection, flexible confirmation
Embed payment methods anywhere in your app
This integration displays payment methods, collects payment information, and completes payment all in a single prebuilt sheet. We recommend using this UI to take payments in your app for most users.
You can customize more than 50 aspects of the appearance, including colors and fonts, with the Appearance API guide.
Try the demo: Scan the QR code with your iOS device or use this link to try an interactive demo.
Best for…
Adding in‑app payments quickly with minimal code.
A checkout where the customer taps a single “Buy” button and completes payment in one step.
Consider another option for…
Collecting a payment method first and confirming payment separately in your own UI. To do this, use Flow Controller.
Embedding payment methods directly into your own screens instead of a sheet. To do this, use Payment Element.
Collect payment and charge the customer immediately.
Our UI displays a “Save my info” checkbox, allowing customers to save their payment method for future checkouts. Learn more about saved payment methods.
Supported payment methods
Both single-use and reusable
Examples
Buying a product or service in a single transaction (for example, e-commerce checkout)
Paying for a ride or food delivery at the time of order
Charge the customer now and save their payment method for future use by configuring your PaymentIntent to save the payment method.
You can require all payment methods to be saved by configuring setup_future_usage. Using setup_future_usage disables one-time payment methods, like most BNPLs. To support both one-time and reusable payment methods, configure future usage on specific payment methods, such as payment_method_options[card][setup_future_usage] to save cards.
Supported payment methods
Both single-use and reusable
Examples
Signing users up for a subscription that includes an upfront payment (for example, charging the first month immediately)
Charging for an initial purchase while also saving the payment method for incidentals or add-on purchases
Stripe’s In-App Payments supports saving, displaying, and managing saved card, US Bank account, and SEPA Debit payment methods. Consent collection is handled automatically, ensuring global compliance.