Releases: stripe/stripe-android
Releases · stripe/stripe-android
stripe-android v13.2.0
stripe-android v13.1.3
- #2105 Fix crash when confirming a Payment Intent or Setup Intent and an error is encountered
stripe-android v13.1.2
stripe-android v13.1.1
- #2074 Populate
isSelected
for selectedPaymentMethodsAdapter
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
andstatus
fields toBankAccount
- #2087 Use
BankAccountTokenParams
for bank account token creation- Create
Stripe#createBankAccountToken()
andStripe#createBankAccountTokenSynchronous()
that take aBankAccountTokenParams
object - Deprecate
BankAccount
for token creation
- Create
stripe-android v13.1.0
- #2055 Fix styling of
CardInputWidget
andCardMultilineWidget
com.google.android.material:material:1.1.0-rc01
breaksTextInputLayout
styling;
fix by explicitly setting a style that extendsWidget.Design.TextInputLayout
- #2056 Update
CardInputWidget
'sEditText
size- Fix "Postal Code" field being partially cut off on some screens
- #2066 Add support for uploading a file to Stripe
- See
Stripe#createFile()
andStripe#createFileSynchronous()
- See
- #2071 Fix accessibility issues on Payment Methods selection screen
- Mark
View
s representing existing payment methods and add a new payment method action as focusable and clickable
- Mark
stripe-android v13.0.0
This release includes several breaking changes.
See the migration guide for more details.
- #1950 Add idempotency key for
Stripe
API POST methodsclass 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
- See the Migration Guide for more details
- #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()
- Default to showing postal code (i.e.
- #1998 Use
CardBrand
enum to represent card brands- Change the type of
Card#brand
andSourceCardData#brand
properties fromString?
toCardBrand
- Remove
Card.CardBrand
- Change the type of
- #1999 Remove deprecated
BroadcastReceiver
logic fromPaymentFlowActivity
- See the Migration Guide for more details
- #2000 Pass
PaymentSessionConfig
instance toPaymentSession
constructor - #2002 Fix regression in
CardInputWidget
styling
To customize the individualEditText
fields ofCardInputWidget
, define aStripe.CardInputWidget.EditText
style
that extendsStripe.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 WebViewclass 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
andSourceCardData#tokenizationMethod
fromString?
toTokenizationMethod?
- Change the type of
- #2013 Populate shipping address country from pre-populated shipping info
- #2015 Update
PaymentSessionConfig
's defaultBillingAddressFields
toPostalCode
- #2020 Change
PaymentMethod.type
fromString?
toPaymentMethod.Type?
- #2028 Update
SourceParams
fields- Update
setOwner()
to takeOwnerParams
instead ofMap
- Remove
setRedirect()
, usesetReturnUrl()
instead - Update some setters to take null values, simplifying usage
- Update comments
- Update
- #2029 Update
CardInputWidget
to useTextInputLayout
- Make
StripeEditText
extendTextInputEditText
- Make
- #2038 Update
CardInputWidget
to focus on first error field when validating - #2039 Add support for creating a person token
- Add
Stripe#createPersonToken()
andStripe#createPersonTokenSynchronous()
- Add
- #2040 Add support for CVC recollection in PaymentIntents
- Update
ConfirmPaymentIntentParams.createWithPaymentMethodId()
with optionalPaymentMethodOptionsParams?
argument
- Update
- #2042 Create
AccountParams.BusinessTypeParams
BusinessTypeParams.Company
andBusinessTypeParams.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 appropriateAccountParams.create()
method.
stripe-android v12.8.2
stripe-android v12.8.1
- #1968 Upgrade 3DS2 SDK to
2.2.7
- Downgrade to
com.google.android.material:material:1.0.0
- Downgrade to
stripe-android v12.8.0
- #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
andPaymentSessionConfig.ShippingMethodsFactory
- #1958 Add validation for PaymentIntent and SetupIntent client secrets
- #1959 Upgrade 3DS2 SDK to
2.2.6
stripe-android v12.7.0
- #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
- Upgrade to
- #1949 Catch
NullPointerException
when callingStripeEditText.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
- Java:
- Enable via layout