Releases: Adyen/adyen-android
5.1.0
New
- The BcmcComponent now supports co-badged Bancontact cards and card brand detection.
- The BcmcComponentState now contains 3 extra fields:
cardBrand
,binValue
andlastFourDigits
.
- The BcmcComponentState now contains 3 extra fields:
- You can now override payment method names in Drop-in by using DropInConfiguration.Builder.overridePaymentMethodName(type, name).
- For stored cards, Drop-in now shows the card name (for example Visa or Mastercard) instead of Credit Card.
- Now it is possible to show installment amounts for card payments using InstallmentConfiguration.showInstallmentAmount in CardConfiguration.Builder.setInstallmentConfigurations().
- For gift cards, you can now hide the PIN text field by setting GiftCardConfiguration.Builder.setPinRequired() to false.
- For Google Pay:
- When initializing the Google Pay button, you can now use GooglePayComponent.getGooglePayButtonParameters() to get the
allowedPaymentMethods
attribute. - You can now use AllowedAuthMethods and AllowedCardNetworks to easily access to the possible values for GooglePayConfiguration.Builder.setAllowedAuthMethods() and GooglePayConfiguration.Builder.setAllowedCardNetworks().
- When initializing the Google Pay button, you can now use GooglePayComponent.getGooglePayButtonParameters() to get the
Fixed
- Fixed a bug where components would not be displayed in Jetpack Compose lazy lists.
Changed
- Dependency versions:
Name Version AndroidX Compose Activity 1.8.0 Material Design 1.10.0 Gradle 8.4 Android Gradle plugin 8.1.2 AndroidX Compose BoM 2023.10.01 AndroidX Recyclerview 1.3.2 AndroidX Fragment 1.6.2
4.13.4
Note
If you are using WeChat Pay please update to this version or migrate to 5.x.x to make sure WeChat Pay will work for all Android versions.
Fixed
- WeChatPay now works correctly on Android 11 and later. This fixes a known issue from previous 4.x.x versions.
Changed
- Dependency versions:
Name Version WeChat Pay 6.8.0
5.0.1
Fixed
@RestrictTo
annotations no longer cause false errors with Android Studio and Lint.- Using the layout inspector or having view attribute inspection enabled in the developer options no longer causes a crash when viewing a payment method.
- Implementing the
:action
module no longer gives a duplicate class error caused by a duplicate namespace. - For Drop-in, dismissing the gift card payment method no longer prevents further interaction.
Changed
- Dependency versions:
Name Version AndroidX Compose BoM 2023.09.01
5.0.0
For guidance on integrating with this version, have a look at the integration guide.
If your integration uses Android v4.13.3 and earlier, and you're upgrading it to use v5.0.0, you can follow the migration guide.
These are the changes between the beta and stable release. For the full release notes that include all the changes from v4.13.3, see the release notes in our Docs.
Breaking changes
Amount.EMPTY
is removed. Make sure you pass amounts with a valid value and currency.
Fixed
@RestrictTo
annotations no longer cause false errors with Android Studio Hedgehog (Beta).- The Drop-in bottom sheet will no longer shift position on the screen when launching some flows like redirect and 3D Secure 2.
Changed
- Dependency versions:
Name Version Google Pay 19.2.1 AndroidX Compose BoM 2023.09.00
4.13.3
Fixed
- Fixed Cash App payments being refused because of missing
customerId
during/payments/details
call.
4.13.2
Changed
- Updated device information collection during the 3D Secure 2 device fingerprinting process.
5.0.0-beta01
For guidance on integrating with this version, have a look at the integration guide.
Breaking changes
-
For Drop-in, you can now configure if you show a dialog to dismiss Drop-in with either a finished state or error state.
DropInServiceResult.Error
now requires theErrorDialog
parameter.DropInServiceResult.Finished
now has an optionalFinishedDialog
parameter.
-
Analytics feature turned on by default. Find out what we track and how you can configure it.
- The method for setting analytics configuration has changed:
v5.0.0-beta01 Earlier versions setAnalyticsConfiguration(analyticsConfiguration: AnalyticsConfiguration)
setAnalyticsEnabled(isAnalyticsEnabled: Boolean)
-
PaymentMethodDetails
and its subclasses now have thecheckoutAttemptId
field. -
You can no longer manually instantiate the
Environment
class and thebaseUrl
field has been removed.
New
- You can now safely exclude any payment method from Drop-in. Do this by excluding the Adyen Checkout module that includes the payment method. For example:
implementation('com.adyen.checkout:drop-in:5.0.0-beta01') { exclude group: 'com.adyen.checkout', module: 'card' exclude group: 'com.adyen.checkout', module: 'ideal' }
- For cards:
- The BIN value callback is invoked while the shopper inputs their card number. The callback uses up to the first 8 digits.
- The BIN lookup callback is invoked when brands are detected on the card.
- When the shopper is redirected to another app or browser, a new callback is invoked.
- For Drop-in, you can now navigate the shopper back to the payment methods list, for example to load new payment methods. To do this, use DropInServiceResult.ToPaymentMethodsList.
Fixed
- QR code payment methods no longer crash in some cases.
- Rotating a device during the redirect flow no longer causes a crash.
Changed
- The
compileSdkVersion
andtargetSdkVersion
are now set to 34 (Android 14). - Dependency versions:
Name Version Adyen 3DS2 2.2.15 Android Gradle plugin 8.1.1 AndroidX Browser 1.6.0 AndroidX Compose BoM 2023.08.00 AndroidX Compose compiler 1.5.3 AndroidX Fragment 1.6.1 AndroidX Recyclerview 1.3.1 Cash App Pay 2.3.0 Kotlin Gradle plugin 1.9.10 WeChat Pay 6.8.0
4.13.1
Fixed
- For cards that require the shopper to input their address:
- When internet connection is lost while loading, it no longer crashes. Instead an error is returned.
- The Country dropdown menu to select no longer displays no options. Previously, an error sometimes caused the menu to have no options, so the transaction couldn't be submitted.
4.13.0
New
- For 3D Secure 2 transactions, when a challenge is unsuccessful because of error or timeout, the details are propagated in an object instead of returning an error. You can make a
/payments/details
request from your server to submit these details.
Changed
- 3D Secure 2 SDK version: v2.2.15.
compileSdkVersion
andtargetSdkVersion
: 33.
Fixed
- For cards, when a detected card brand doesn't require a security code (CVC), the CVC field on the payment form no longer shows a validation error.
- For dual-branded cards, if the shopper doesn't select a detected brand, the
paymentMethod
object no longer contains a brand when submitting the payment. - After the
AwaitComponent
handles an action, it no longer causes a crash when resuming your app from the background.
5.0.0-alpha02
Breaking changes
- All classes in
com.adyen.checkout.action
are now incom.adyen.checkout.action.core
. If you import the classes, you must update import statements. - For Components integrations, each payment component no longer handles 3D Secure 2 and WeChat Pay actions. To handle the actions, you must add dependencies for each action:
Exceptions:
implementation 'com.adyen.checkout:3ds2:YOUR_VERSION' implementation 'com.adyen.checkout:wechatpay:YOUR_VERSION'
CardComponent
andBcmcComponent
can handle the 3D Secure 2 action. They don't require the additional dependencies.
New
-
Payment method: Boleto Bancario. Payment method type: boletobancario.
-
Jetpack Compose compatibility.
- For Drop-in, use the
drop-in-compose
module. - For Components, use the
components-compose
module.
- For Drop-in, use the
-
For cards, the
brand
attribute is now included in thepaymentMethod
object for all cards. Previously, it was just included for co-branded ones. -
You can now safely exclude unnecessary third-party dependencies. Do this by excluding the Adyen Checkout module that includes the third-party dependency. For example:
implementation('com.adyen.checkout:drop-in:YOUR_VERSION') { exclude group: 'com.adyen.checkout', module: '3ds2' exclude group: 'com.adyen.checkout', module: 'wechatpay' }
Make sure that you don't include a payment method that corresponds to the module that you exclude.
-
For Google Pay, new configurations in
GooglePayConfiguration
:Function Description setAllowCreditCards
Specify if you allow credit cards. setAssuranceDetailsRequired
Specify if you require assurance details.
Improved
- Email input validation.
Fixed
@RestrictTo
annotations no longer cause false lint check warnings.
Changed
- Dependency versions:
Name Version Android Gradle plugin 8.0.2 (requires Java 17) Kotlin Gradle plugin 1.8.22 AndroidX Fragment 1.6.0 Material Design 1.9.0 Google Pay 19.2.0