Skip to content

5.3.0

Compare
Choose a tag to compare
@github-actions github-actions released this 12 Mar 14:09
· 935 commits to main since this release
c8705d4

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("...")
    }
}

Warning

If you use the new configuration DSL, pass the CheckoutConfiguration object as it is when starting Drop-in or Components.

Do not use the functions to get configurations (such as CheckoutConfiguration.getDropInConfiguration() or CheckoutConfiguration.getCardConfiguration()). These functions will be removed in the following release.

  • For the Card Component, you can use the new Address Lookup functionality.
  • For voucher actions: when the url or downloadUrl is not included, the shopper has the option to select Save as image and save the voucher to the device's Downloads folder.
  • You can now set your own AdyenLogger instance with AdyenLogger.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 the kotlin-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 a Context is deprecated. You can now omit the context parameter.
  • PermissionException. Handle permissions through ActionComponentCallback, SessionComponentCallback, or ComponentCallback 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.
  • 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 from Error sending payment. Please try again. to An unknown error occurred.
  • For the Sessions flow:
    • When starting Drop-in (with DropIn.startPayment) or creating a Component (with YourComponent.PROVIDER.get), the configuration parameter is now optional.
    • When using CheckoutSessionProvider.createSession to create a CheckoutSession, you can pass only environment and clientKey instead of the whole configuration.
    • Removing stored payment methods is now handled internally. You no longer need to override the onRemoveStoredPaymentMethod function.
  • Dependency versions:
    Name Version
    Kotlin 1.9.22
    AndroidX Compose compiler 1.5.8
    AndroidX Compose Activity 1.8.2
    Material Design 1.11.0