Home

Awesome

<img width="250" height="119" src="https://raw.githubusercontent.com/stripe/stripe-android/master/assets/stripe_logo_slate_small.png"/>

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

<!--ts--> <!--te-->

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.

<img src="https://raw.githubusercontent.com/stripe/stripe-android/master/assets/payment_sheet_complete.png"/>

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

Installation

Requirements

Configuration

Add stripe-android to your build.gradle dependencies.

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

Compatibility with Jetpack Compose

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

<table> <tr> <td>20.22.0-20.31.0</td><td>Compose UI 1.4.x</td> </tr> <tr> <td>20.32.0-20.37.3</td><td>Compose UI 1.5.x</td> </tr> <tr> <td>20.37.4-Current</td><td>Compose UI 1.5.x or Compose UI 1.6.x</td> </tr> </table>

Getting Started

Integration

Get started with our 📚 integration guides and example projects, or 📘 browse the SDK reference.

Examples