Skip to content

stripe/stripe-android

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Stripe Android SDK

CI GitHub release License

Tip

Want to chat live with Stripe engineers? Join us on our Discord server.

The Stripe Android SDK makes it quick and easy to build an excellent payment experience in your Android app. We provide powerful and customizable UI elements that can be used out-of-the-box to collect your users' payment details. We also expose the low-level APIs that power those UIs so that you can build fully custom experiences.

Get started with our ๐Ÿ“š integration guides and example projects, or ๐Ÿ“˜ browse the SDK reference.

Updating to a newer version of the SDK? See our migration guide and changelog.

Table of contents

Features

Simplified Security: Use the SDK to collect credit card numbers and remain PCI compliant. This means sensitive data is sent directly to Stripe instead of passing through your server. For more information, see our Integration Security Guide.

SCA-Ready: The SDK automatically performs native 3D Secure authentication to comply with Strong Customer Authentication regulation in Europe.

Native UI: We provide native screens and elements to collect payment. For example, PaymentSheet is a prebuilt UI that combines all the steps required to pay - collecting payment details, and confirming the payment - into a single sheet that displays on top of your app.

Google Pay: Stripe is fully compatible with Google Pay.

Stripe API: We provide low-level APIs that correspond to objects and methods in the Stripe API. You can build a custom UI on top of this layer.

Localized: We support the following localizations: Bulgarian, Catalan, Chinese (Hong Kong), Chinese (Simplified), Chinese (Traditional), Croatian, Czech, Danish, Dutch, English (US), English (United Kingdom), Estonian, Filipino, Finnish, French, French (Canada), German, Greek, Hungarian, Indonesian, Italian, Japanese, Korean, Latvian, Lithuanian, Malay, Maltese, Norwegian Bokmรฅl, Norwegian Nynorsk (Norway), Polish, Portuguese, Portuguese (Brazil), Romanian, Russian, Slovak, Slovenian, Spanish, Spanish (Latin America), Swedish, Turkish, Thai and Vietnamese.

Recommended usage If you're selling digital products or services that will be consumed within your app, (e.g. subscriptions, in-game currencies, game levels, access to premium content, or unlocking a full version), and you plan to distribute it through the Google Play Store, you must use Googles's in-app purchase APIs. See the Google Play Billing for more information. For all other scenarios you can use this SDK to process payments via Stripe.

Releases

  • The changelog provides a summary of changes in each release.
  • The migration guide provides instructions on upgrading from older versions.

Installation

Requirements

Configuration

Add stripe-android to your build.gradle dependencies.

dependencies {
    implementation 'com.stripe:stripe-android:21.3.0'
}

Compatibility with Jetpack Compose

stripe-android uses Jetpack Compose internally and expects consumers to use a compatible version:

20.22.0-20.31.0Compose UI 1.4.x
20.32.0-20.37.3Compose UI 1.5.x
20.37.4-CurrentCompose UI 1.5.x or Compose UI 1.6.x

Getting Started

Integration

Get started with our ๐Ÿ“š integration guides and example projects, or ๐Ÿ“˜ browse the SDK reference.

Examples

  • The PaymentSheet example project demonstrates how to integrate and use our prebuilt ui (single-step and multi-step).
  • The example project demonstrates other integrations, that give you more control over the user experience:
    • how to use the Stripe class's synchronous and asynchronous methods
    • how to use the CardFormView.