Skip to content
Learn how to add a simple checkout flow to your Android app
Branch: master
Clone or download
mshafrir-stripe Update stripe-android to 11.2.0
Also update other dependencies
Latest commit 9844dab Oct 7, 2019

Stripe Emoji Apparel App


  1. Overview
  2. Setup
  3. Demo
  4. Licenses


The Emoji Apparel app is an app that demonstrates integrating with the Stripe Android SDK. It uses the standard integration approach, which means it uses PaymentSession to manage the checkout flow, including selecting a Payment Method and specifying a shipping address and shipping method.


The integration is powered by Stripe's Payment Intents API, Setup Intents API, and Payment Methods API.

App components

The app is comprised of two Activity classes:

  1. StoreActivity, which represents the customer adding items to their cart

  2. PaymentActivity, which represents the checkout experience



  1. Clone the sample-store-android repository.
  2. Open the project in Android Studio.
  3. After deploying the example backend to Heroku and configuring the app, build and run the project.

Deploy the example backend to Heroku

  1. Create a Heroku account if you don't have one.
  2. Navigate to the example mobile backend repo and click "Deploy to Heroku".
  3. Set an App Name of your choice (e.g. Stripe Example Mobile Backend).
  4. Under Config Vars, set your Stripe testmode secret key for the STRIPE_TEST_SECRET_KEY field.
  5. Click "Deploy for Free".

Configure the samplestore app


  1. Set Settings.PUBLISHABLE_KEY to your test publishable key.

    For example,

    const val PUBLISHABLE_KEY = "pk_test_12345"
  2. Set Settings.BASE_URL to the URL of the example backend deployed to Heroku.

    For example,

    const val BASE_URL = ""


  1. Set Settings.CURRENCY to the currency that the app should use. The default is usd.

    For example,

    const val CURRENCY = "usd"
  2. Set Settings.ALLOWED_PAYMENT_METHOD_TYPES to the payment method types that the customer can use for payment. The default is card.

    For example,



The following is a demonstration of a Customer

  1. Adding items to their cart
  2. Navigating to the checkout screen
  3. Choosing their Payment Method, which happens to require 3D Secure 2 (3DS2)
  4. Specifying their shipping address and shipping method
  5. Confirming their intent to pay
  6. Authenticating their payment with 3DS2
  7. Completing their purchase


You can’t perform that action at this time.