Skip to content

Releases: stripe/stripe-android

stripe-android v13.2.0

03 Feb 16:19
Compare
Choose a tag to compare
  • #2112 Enable adding Mandate to confirm params
  • #2113 Enable requiring postal code in CardInputWidget and CardMultilineWidget
  • #2114 Fix bug in highlighting StripeEditText fields with errors

See the changelog for more details.

stripe-android v13.1.3

27 Jan 18:18
Compare
Choose a tag to compare
  • #2105 Fix crash when confirming a Payment Intent or Setup Intent and an error is encountered

See the changelog for more details.

stripe-android v13.1.2

23 Jan 22:56
Compare
Choose a tag to compare
  • #2093 Add CardValidCallback and add support in card forms
  • #2094 Make StripeError serializable

See the changelog for more details.

stripe-android v13.1.1

22 Jan 17:18
Compare
Choose a tag to compare
  • #2074 Populate isSelected for selected PaymentMethodsAdapter item
  • #2076 Announce invalid fields when validating CardInputWidget
  • #2077 Add delete payment method accessibility action in PaymentMethodsAdapter
  • #2078 Make StripeEditText errors accessible
  • #2082 Use ErrorMessageTranslator for AddPaymentMethodActivity errors
  • #2083 Add accessibility traversal rules on AddPaymentMethodActivity
  • #2084 Update BankAccount constructor to support all bank account token parameters
  • #2086 Add id and status fields to BankAccount
  • #2087 Use BankAccountTokenParams for bank account token creation
    • Create Stripe#createBankAccountToken() and Stripe#createBankAccountTokenSynchronous() that take a BankAccountTokenParams object
    • Deprecate BankAccount for token creation

See the changelog for more details.

stripe-android v13.1.0

16 Jan 21:46
Compare
Choose a tag to compare
  • #2055 Fix styling of CardInputWidget and CardMultilineWidget
    • com.google.android.material:material:1.1.0-rc01 breaks TextInputLayout styling;
      fix by explicitly setting a style that extends Widget.Design.TextInputLayout
  • #2056 Update CardInputWidget's EditText size
    • Fix "Postal Code" field being partially cut off on some screens
  • #2066 Add support for uploading a file to Stripe
    • See Stripe#createFile() and Stripe#createFileSynchronous()
  • #2071 Fix accessibility issues on Payment Methods selection screen
    • Mark Views representing existing payment methods and add a new payment method action as focusable and clickable

See the changelog for more details.

stripe-android v13.0.0

13 Jan 18:54
Compare
Choose a tag to compare

This release includes several breaking changes.
See the migration guide for more details.

  • #1950 Add idempotency key for Stripe API POST methods
    class MyActivity : AppCompatActivity() {
    
       private fun createPaymentMethod(
           params: PaymentMethodCreateParams,
           idempotencyKey: String?
       ) {
           stripe.createPaymentMethod(
               params = params,
               idempotencyKey = idempotencyKey,
               callback = object : ApiResultCallback<PaymentMethod> {
                   override fun onSuccess(result: PaymentMethod) {
                   }
    
                   override fun onError(e: Exception) {
                   }
               }
           )
       }
    }
  • #1993 Remove deprecated methods from PaymentSession
  • #1994 Enable postal code field in CardInputWidget by default
  • #1995 Enable Google Pay option in Basic Integration and Stripe Activities
    • PaymentSession

      PaymentSessionConfig.Builder()
          // other settings
          .setShouldShowGooglePay(true)
          .build()
    • PaymentMethodsActivity

      PaymentMethodsActivityStarter.Args.Builder()
          // other settings
          .setShouldShowGooglePay(true)
          .build()
  • #1996 Update postal code logic for CardMultilineWidget
    • Default to showing postal code (i.e. shouldShowPostalCode = true)
    • Postal code is now optional when displayed
    • Remove validation on postal code field
    • Change postal code field hint text to "Postal Code"
    • Remove CardInputListener.onPostalCodeComplete()
  • #1998 Use CardBrand enum to represent card brands
    • Change the type of Card#brand and SourceCardData#brand properties from String? to CardBrand
    • Remove Card.CardBrand
  • #1999 Remove deprecated BroadcastReceiver logic from PaymentFlowActivity
  • #2000 Pass PaymentSessionConfig instance to PaymentSession constructor
  • #2002 Fix regression in CardInputWidget styling
    To customize the individual EditText fields of CardInputWidget, define a Stripe.CardInputWidget.EditText style
    that extends Stripe.Base.CardInputWidget.EditText. For example,
    <style name="Stripe.CardInputWidget.EditText" parent="Stripe.Base.CardInputWidget.EditText">
        <item name="android:textSize">22sp</item>
        <item name="android:textColor">@android:color/holo_blue_light</item>
        <item name="android:textColorHint">@android:color/holo_orange_light</item>
    </style>
  • #2003 Add support for authenticating a Source via in-app WebView
    class MyActivity : AppCompatActivity() {
        private fun authenticateSource(source: Source) {
            stripe.authenticateSource(this, source)
        }
    
        override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
            super.onActivityResult(requestCode, resultCode, data)
    
            if (data != null && stripe.isAuthenticateSourceResult(requestCode, data)) {
                stripe.onAuthenticateSourceResult(
                    data,
                    object : ApiResultCallback<Source> {
                        override fun onSuccess(result: Source) {
                        }
    
                        override fun onError(e: Exception) {
                        }
                    }
                )
            }
        }
    }
  • #2006 Create TokenizationMethod enum
    • Change the type of Card#tokenizationMethod and SourceCardData#tokenizationMethod from String? to TokenizationMethod?
  • #2013 Populate shipping address country from pre-populated shipping info
  • #2015 Update PaymentSessionConfig's default BillingAddressFields to PostalCode
  • #2020 Change PaymentMethod.type from String? to PaymentMethod.Type?
  • #2028 Update SourceParams fields
    • Update setOwner() to take OwnerParams instead of Map
    • Remove setRedirect(), use setReturnUrl() instead
    • Update some setters to take null values, simplifying usage
    • Update comments
  • #2029 Update CardInputWidget to use TextInputLayout
    • Make StripeEditText extend TextInputEditText
  • #2038 Update CardInputWidget to focus on first error field when validating
  • #2039 Add support for creating a person token
    • Add Stripe#createPersonToken() and Stripe#createPersonTokenSynchronous()
  • #2040 Add support for CVC recollection in PaymentIntents
    • Update ConfirmPaymentIntentParams.createWithPaymentMethodId() with optional PaymentMethodOptionsParams? argument
  • #2042 Create AccountParams.BusinessTypeParams
    • BusinessTypeParams.Company and BusinessTypeParams.Individual model the parameters for creating a
      company or
      individual
      account token.
      Use these instead of creating raw maps representing the data.
    • AccountParams.createAccountParams() is now deprecated. Use the appropriate AccountParams.create() method.

See the changelog for more details.

stripe-android v12.8.2

20 Dec 18:11
Compare
Choose a tag to compare
  • #1974 Add PaymentSessionConfig#shouldPrefetchCustomer
    • Mark PaymentSessionConfig#init() with shouldPrefetchCustomer argument as deprecated
  • #1980 Don't show a Dialog in StripeActivity if isFinishing()
  • #1989 Create CardBrand enum
  • #1990 Relax validation of UK postal codes

See the changelog for more details.

stripe-android v12.8.1

18 Dec 16:11
Compare
Choose a tag to compare
  • #1968 Upgrade 3DS2 SDK to 2.2.7
    • Downgrade to com.google.android.material:material:1.0.0

See the changelog for more details.

stripe-android v12.8.0

17 Dec 21:26
Compare
Choose a tag to compare
  • #1947 Allow setting of window flags on Stripe Activities
    • Basic Integration

      PaymentSessionConfig.Builder()
          .setWindowFlags(WindowManager.LayoutParams.FLAG_SECURE)
          .build()
      
    • Custom Integration

      AddPaymentMethodActivityStarter.Args.Builder()
          .setWindowFlags(WindowManager.LayoutParams.FLAG_SECURE)
          .build()
      
  • #1956 Add support for configuring billing address fields on AddPaymentMethodActivity
    • Basic Integration

      PaymentSessionConfig.Builder()
          .setBillingAddressFields(BillingAddressFields.Full)
          .build()
      
    • Custom Integration

      AddPaymentMethodActivityStarter.Args.Builder()
          .setBillingAddressFields(BillingAddressFields.Full)
          .build()
      
  • #1957 Enable PaymentSessionConfig.ShippingInformationValidator and PaymentSessionConfig.ShippingMethodsFactory
  • #1958 Add validation for PaymentIntent and SetupIntent client secrets
  • #1959 Upgrade 3DS2 SDK to 2.2.6

See the changelog for more details.

stripe-android v12.7.0

16 Dec 22:41
Compare
Choose a tag to compare
  • #1915 Update API version to 2019-12-03
  • #1928 Make Payment Method Wallet a sealed class
  • #1930 Update text size for CardInputWidget fields
  • #1939 Update Android Gradle Plugin to 3.5.3
  • #1946 Upgrade 3DS2 SDK to 2.2.5
    • Upgrade to com.google.android.material:material:1.2.0-alpha2
  • #1949 Catch NullPointerException when calling StripeEditText.setHint().
    This is a workaround for a known issue on some Samsung devices.
  • #1951 Expose ability to enable postal code on CardInputWidget
    • Enable via layout
        <com.stripe.android.view.CardInputWidget
            android:id="@+id/card_input_widget"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:shouldShowPostalCode="true" />
      
    • Enable via code
      • Java: cardInputWidget.setPostalCodeEnabled(true)
      • Kotlin: cardInputWidget.postalCodeEnabled = true

See the changelog for more details.