New
- A new way to create a configuration using DSL to be more declarative and concise:
CheckoutConfiguration(
environment = environment,
clientKey = clientKey,
shopperLocale = shopperLocale,
amount = amount,
) {
dropIn {
setEnableRemovingStoredPaymentMethods(true)
}
card {
setHolderNameRequired(true)
setShopperReference("...")
}
adyen3DS2 {
setThreeDSRequestorAppURL("...")
}
}
- For the Card Component, you can use the new Address Lookup functionality.
- For voucher actions: when the
url
ordownloadUrl
is not included, the shopper has the option to select Save as image and save the voucher to the device'sDownloads
folder. - You can now set your own
AdyenLogger
instance withAdyenLogger.setLogger
. This gives the ability to intercept logs and handle them in your own way. - Instructions to use the testing app in the repository. You can follow
How to migrate
section here. - Payment methods:
- Multibanco. Payment method type: multibanco.
- Pay Easy. Payment method type: econtext_atm.
- Convenience Stores Japan. Payment method type: econtext_stores
- Online Banking Japan. Payment method type: econtext_online.
- Seven-Eleven: Payment method type: econtext_seven_eleven
Fixed
- When building
minifyEnabled
without thekotlin-parcelize
plugin in your project, the build should no longer crash. - When handling actions, you no longer get the
IllegalArgumentException: Unsupported delegate type
error that causes a crash.
Deprecated
- When creating a configuration, the
Builder
constructors with aContext
is deprecated. You can now omit thecontext
parameter. PermissionException
. Handle permissions throughActionComponentCallback
,SessionComponentCallback
, orComponentCallback
callbacks instead.- The styles for vouchers have been changed:
-
Previous (v5.2.0 or earlier) Now (v5.3.0) AdyenCheckout.Voucher.Description.Bacs
AdyenCheckout.Voucher.Simple.Description
AdyenCheckout.Voucher.Description.Boleto
AdyenCheckout.Voucher.Full.Description
AdyenCheckout.Voucher.ExpirationDateLabel
AdyenCheckout.Voucher.InformationFieldLabel
AdyenCheckout.Voucher.ExpirationDate
AdyenCheckout.Voucher.InformationFieldValue
AdyenCheckout.Voucher.ButtonCopyCode
AdyenCheckout.Voucher.Button.CopyCode
AdyenCheckout.Voucher.ButtonDownloadPdf
AdyenCheckout.Voucher.Button.DownloadPdf
-
- Logger.LogLevel has been deprecated.
-
Previous (v5.2.0 or earlier) Now (v5.3.0) Logger.LogLevel
AdyenLogLevel
AdyenLogger.setLogLevel(logLevel: Int)
AdyenLogger.setLogLevel(level: AdyenLogLevel)
-
Changed
- When creating a configuration, the
shopperLocale
parameter is now optional.- Sessions flow: when you don't set it, the shopper locale is set to the value included in the
/sessions
request. - Advanced flow: when you don't set it, the shopper local is set to the primary user locale on the device.
- Sessions flow: when you don't set it, the shopper locale is set to the value included in the
- For Drop-in, all actions now start in expanded mode.
- For the Google Pay Component, you no longer need to manually import the
3ds2
module to handle transactions that require Native 3D Secure 2 challenge. - If you use
DropInServiceResult.Error
without specifying an error message, the default has changed fromError sending payment. Please try again.
toAn unknown error occurred
. - For the Sessions flow:
- When starting Drop-in (with
DropIn.startPayment
) or creating a Component (withYourComponent.PROVIDER.get
), theconfiguration
parameter is now optional. - When using
CheckoutSessionProvider.createSession
to create aCheckoutSession
, you can pass onlyenvironment
andclientKey
instead of the whole configuration. - Removing stored payment methods is now handled internally. You no longer need to override the
onRemoveStoredPaymentMethod
function.
- When starting Drop-in (with