Stripe | Financial Infrastructure to Grow Your Revenue

Stripe | Financial Infrastructure to Grow Your Revenue

4466 articles

Build an in-app payments integration


Build an in-app payments integration

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 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.

This feature is available across all supported platforms.

Tap to add your card availability

The tap to add your card feature is in private preview. You can learn more about how to request access and integrate the feature for Payment Sheet or Payment Element.

With Stripe In-App Payments, you can:

  1. Dynamically display 40+ payment methods, including Apple Pay, Google Pay, and Link , as well as saved payment methods.
  2. Collect payment information like credit card numbers and billing details.
  3. 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 SheetFlow ControllerPayment Element
Integration effortLow codeSome codeSome code
Display payment methodsIn a sheetIn a sheetIn an embeddable view
Collect payment detailsIn a sheetIn a sheetIn a sheet
Complete paymentIn a sheetYou control when to confirm in your UIYou control when to confirm in your UI
Layout flexibilityFixed sheet presentationFixed sheet for selection, flexible confirmationEmbed 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 or use this link to download an interactive demo app.

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 .

Choose an API

Stripe’s In-App Payments integration uses either PaymentIntents or SetupIntents.

Accept a payment

⠀
APIPaymentIntent
DescriptionCollect 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 methodsBoth single-use and reusable
ExamplesBuying 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
Get startedAccept a payment with Payment Sheet

Set up a payment method

⠀
APISetupIntent
DescriptionCollect and save a payment method for future payments without charging the customer.
Supported payment methodsReusable payment methods only
ExamplesSigning up for an app and saving a payment method during onboarding Setting up a payment method at the start of a subscription with a free trial period Collecting payment details for crowdfunding campaigns (charge only if goal is met) Storing payment information before activating a utility or service
Get startedSet up a payment method with Payment Sheet

Accept and set up a payment

⠀
APIPaymentIntent with setup_future_usage
DescriptionCharge 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 methodsBoth single-use and reusable
ExamplesSigning 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
Get startedAccept and set up a payment with Payment Sheet

Saved payment methods

Stripe’s In-App Payments supports saving, displaying, and managing saved card, US Bank account, and the related setting Debit payment methods. Consent collection is handled automatically, ensuring global compliance.

Access saved payment methods in Payment Sheet

The CustomerSessions API provides additional control over:

  • When to show or hide the save consent box
  • When to show or hide the saved payment methods
  • Allowing customers to remove saved payment methods
  • Preventing customers from removing the last saved payment method

Features and availability

1 Wallet payment methods require registering your domain.

Last verified 2026-09-24

Is this helpful?