Migrate to Stripe Android SDK 22
Migrate your Kotlin apps to our latest Android SDK major version.
This migration guide helps you update your iOS app to use the latest Stripe SDK.
Requirements
- Android 5.0 (API level 21) and above
v22
Migration instructions can be found here.
v21
PaymentSheet
PaymentSheet displays payment methods in either a vertical or horizontal layout. Prior to this major version, PaymentSheet defaulted to a horizontal layout. Now, Stripe optimizes the layout automatically. To set a specific layout instead, set the PaymentSheet. property to either . or ..

This example code sets the layout back to horizontal, the previous default.
Basic integration
We no longer support our legacy Basic Integration for collecting credit card and wallet payments.
If your app relies on any of the following APIs, it uses the Basic Integration. Migrate to the Mobile Payment Element, by following this migration guide.
CustomerSessionPaymentSessionPaymentMethodsActivityAddPaymentMethodActivityPaymentFlowActivity
v20
The following list of classes’ package names are changed from com. to com.:
AppInfoStripeFileStripeFileParamsStripeFilePurposeAuthenticationExceptionPermissionExceptionRateLimitException
import com.stripe.android.AppInfo import com.stripe.android.StripeFile import com.stripe.android.StripeFileParams import com.stripe.android.StripeFilePurpose import com.stripe.android.AuthenticationException import com.stripe.android.PermissionException import com.stripe.android.RateLimitException
import com.stripe.android.core.AppInfo import com.stripe.android.core.StripeFile import com.stripe.android.core.StripeFileParams import com.stripe.android.core.StripeFilePurpose import com.stripe.android.core.AuthenticationException import com.stripe.android.core.PermissionException import com.stripe.android.core.RateLimitException
v19
The following list of classes’ package names are changed from com. to com.:
StripeModelStripeErrorStripeExceptionAPIExceptionAPIConnectionExceptionInvalidRequestException
import com.stripe.android.StripeModel import com.stripe.android.StripeError import com.stripe.android.StripeException import com.stripe.android.ApiException import com.stripe.android.APIConnectionException import com.stripe.android.InvalidRequestException
import com.stripe.android.core.StripeModel import com.stripe.android.core.StripeError import com.stripe.android.core.StripeException import com.stripe.android.core.ApiException import com.stripe.android.core.APIConnectionException import com.stripe.android.core.InvalidRequestException