Release notes

Learn about the latest updates to our API, and Drop-in/Components for web, iOS, and Android.

This page contains the release notes for Pay by Link, Checkout API, and Drop-in/Components for web, iOS, Android, React Native, and Flutter starting from 2020.

Get updates by RSS
Filter by
Category...
4.0.0
March 2025
SunMonTueWedThuFriSat
1
2345678
9101112131415
16171819202122
23242526272829
3031
Select dates
Copy url
icon
Android Components/Drop-in v4.0.0

We recommend you use Checkout API v67.

For guidance on upgrading to this version, have a look at the migration guide.

Breaking Changes
  • All Components, including action Components, now require a configuration object.
  • All configuration objects now require a client key. For the cardConfiguration and bcmcConfiguration objects, the client key replaces the Client Encryption Public Key used in earlier versions.
  • If using ResultHandlerIntent, you now need to pass this in startPayment instead of DropInConfiguration.
  • The handleResultIntent in the WeChatPayActionComponent has been replaced by the handleIntent method.
  • The handleRedirectResponse in the RedirectComponent has been replaced by the handleIntent method.
  • Refactored CallResult to DropInServiceResult.
  • Refactored module structure so that each payment method has only one module: the card-base and card-ui modules have been merged into a single card module, and similarly for other payment methods.
  • Refactored the cse module, renaming the Card class and the CardEncrypter class. For more information, refer to our custom card integration guide.
  • Renamed package com.adyen.checkout.base to com.adyen.checkout.components.
  • Renamed package com.adyen.checkout.base.component to com.adyen.checkout.components.base.
Removed
  • We removed all methods that were marked as deprecated in earlier versions.
  • The SimplifiedDropInService has been removed. We recommend that you handle the /payments response using the DropInService.
  • For MB WAY, we removed the shopperEmail field because it is no longer required.
  • We removed the WeChatPayComponent. If you want to check whether the WeChat app is available, you can do so by calling WeChatPayProvider.isAvailable.
  • We removed PaymentComponentProvider.isAvailable. Payment method providers that require an availability check (currently Google Pay and WeChat Pay), will now implement PaymentMethodAvailabilityCheck instead.
New
  • The Adyen3DS2Component supports the new 3D Secure 2 flow introduced in Checkout API v67. The old flow is still supported if you are using an API version earlier than v67. The Adyen3DS2Component implements IntentHandlingComponent, and has a handleIntent method for handling 3D Secure 1 redirects.
    • For Google Pay, the payment method type is now googlepay.
  • The QRCodeComponent handles all payment methods with action.type: qrCode, including Bancontact mobile, Swish, and Pix. The QRCodeComponent implements IntentHandlingComponent, and has a handleIntent method.
  • New supported payment method: BLIK.
  • We added support for the following shopper locales: cs-rCZ, el-rGR, hr-rHR, hu-rHU, ro-rRO, sk-rSK, sl-rSI.
  • To hide the CVC field, you can now include the hideCvc or the hideCvcStoredCard flag in the cardConfigurationobject. If hideCvcStoredCard is set to true and the shopper pays with a stored card that doesn't require a CVC, they will see a Pay button immediately after selecting the payment method.
  • The CardComponent now returns the BIN and last 4 digits of the card number in the CardComponentState.
  • DropInService now has the onPaymentsCallRequested and onDetailsCallRequested methods for asynchronous handling of the API responses. When handling the API responses synchronously, you can use the onPaymentsCallRequested method to access a non-serialized version of the PaymentComponent JSON at the moment when the shopper submits the payment.
  • ActionComponentProvider has the following new methods:
    • canHandleAction: checks if the Component can handle the specified action type.
    • requiresView: indicates whether a view is required to handle this action.
    • getSupportedActionTypes: returns the list of supported action types.
Improved
  • We improved card brand recognition in the CardComponent.
  • For cards that do not require a CVC, the CVC field will now be marked as optional.
  • We updated the UI for phone number input for MB WAY.
  • We updated the 3D Secure SDK to version 2.2.0.
  • For the custom card integration with encryption, we now validate the Client Encryption Public Key.
  • Drop-in now has a default GooglePayConfiguration and a CardConfiguration object, so it is no longer required to set these configurations in DropInConfiguration.Builder.
  • You can now see the GooglePay SDK dependency, so you no longer need to explicitly declare it to access Google Pay specific code.
  • The default Google Pay environment now automatically follows the Adyen environment.
Changed
  • New releases are now published to Maven Central.
  • We migrated from the Android Support Library to AndroidX.
  • The minimum supported Android API version is now 21.
  • For the GooglePayConfiguration.Builder, you no longer need to pass a merchantAccount. Instead, you need to pass a client key, as for all other configuration objects.
  • GooglePayComponent is now an ActivityResultHandlingComponent. No methods are affected by this change.
  • For debug builds, you are now allowed to take a screenshot of the Card Component.
  • DropInService is now a regular bound Service instead of a JobIntentService.
  • For CI builds and example app without values, example.local.gradle has been renamed to default.local.gradle.
Fixed
  • Drop-in now renders all available payment methods at the same time.
  • Intent results are now also handled in case DropInActivity got destroyed.

Copy url
icon
iOS Components/Drop-in v4.0.0

We recommend you use Checkout API v67.

If you use Xcode 15, use v4.11.1 or later for compatibility.

Breaking Changes
  • Removed support for iOS 10.0.
  • The new minimum required TLS version is 1.2.
  • iOS Components has a new module structure.
  • Each component initialization requires an instance of apiContext, which specifies the client key and the environment.
  • Changed how the end of a component flow is handled.
  • Renamed the payment method configuration objects.
  • In the Adyen module, the Amount object now adopts the Codable protocol.
  • Moved the payment property from PresentableComponent to PaymentComponent.
  • Specifying the country code is now required for the Payment object.
  • Moved the Amount property outside of the Payment object.
  • The didCancel method from DropInComponentDelegate now returns PaymentComponent instead of PresentableComponent.
  • Moved card configuration to the CardComponent.Configuration object.
  • Moved Apple Pay configuration to the ApplePayComponent.Configuration object.
  • Moved the payment parameter to the ApplePayComponent.Configuration constructor.
  • Changed how you specify supported Apple Pay card networks.
  • The Apple Pay token is now a base64-encoded string. This replaces the plain text JSON format.
  • To proccess voucher payments your app's Info.plist must contain NSPhotoLibraryAddUsageDescription.
  • Renamed DropInActionComponent to AdyenActionComponent and moved it to AdyenActions module. This allows you to use the component outside of AdyenDropIn.
  • Renamed AdyenActionComponent.perform() to AdyenActionComponent.handle() for consistency with other action components.
  • To present the redirect component UI, you now need to set RedirectComponent.presentationDelegate.
  • The styles for all action components are now grouped under ActionComponentStyle.

Have a look at the migration guide for details about the more complex breaking changes.

Removed
  • Deprecated classes, functions, properties.
  • disableCloseButton from present(component: PresentableComponent) in PresentationDelegate.
  • cancelHandler from the ApplePayComponent.
  • cancelCallback from the Apple Pay component. Use the didFail(with error: Error, from component: PaymentComponent) function with ComponentError.cancelled instead.
Changed
  • paymentData is now optional in RedirectAction, ActionComponentData and RedirectComponent. This is to support the removal of paymentData starting Checkout API v67.
New
  • The ThreeDS2Component supports the new 3D Secure flow from Checkout API v67. The old flow is still supported if you are using an API version earlier than v67.
  • VoucherComponent handles actions for voucher payment flows, for example Doku Alfamart.
  • QRCodeComponent to handle payment methods that use QR codes, like PIX.
  • DropInComponent now has the cardComponentDelegate property.
  • DropInComponentDelegate now has the didOpenExternalApplication(component:) callback which notifies you about redirects to an external app.
  • DropInDelegate.didSubmit now has a PaymentMethod object to allow you to identify which payment method is being submitted.
  • didComplete(from component: DropInComponent) method for DropInComponentDelegate and ActionComponentDelegate.
  • Support for right-to-left layout.
  • Arabic (international) is now a supported language.
  • Adds support for stored payment details for BLIK.
  • You can configure button border color and width using ButtonStyle.

Payment method support:

  • Pix, PixComponent
  • Boleto, BoletoComponent
  • Indonesian bank transfers and cash payments at convenience stores through DokuComponent.
  • Japanese voucher payments through econtext:
    • At Seven Eleven stores, SevenElevenComponent.
    • At other convenience stores, EContextStoreComponent.
    • Using ATM machines, EContextATMComponent.
    • Online, EContextOnlineComponent.
Improved
  • Prevent leaking API keys when URL responses are cached.
  • Added CVC length validation for the stored cards component.
  • You can now use CardEncryptor to encrypt individual card fields, for example CVC or expiry month.
  • Added assertion validation for country code and currency code.
  • Improved accuracy for card brand detection.
  • Added billing address fields to the card component.
  • GiftCardComponent now has native support for full and partial payments using gift cards.
  • Uses a continous curve by default for rounding corners.
  • You can now control the position of the title and Cancel button for DropIn.
  • You can now add a custom image to the Cancel button.
  • Added a configuration screen to the UIKit and SwiftUI demo apps so you can change configuration fields during runtime.
Fixed
  • The MBWayComponent now shows Portugal and Spain in the phone prefix dropdown list of phone extensions.
  • Fixed a bug where gift card payment methods had a missing logo.
  • Fixes localization warning when using Swift Package Manager.
  • For Swish redirects, you now get all the query parameters in returnUrlQueryString.
  • Fixed an issue where users couldn't scroll properly through a form.
Known issues

For the Apple Pay Component, the `PaymentData.amount passed from the SDK to the didSubmit callback is nil. Fixed in v4.8.0.


Copy url
icon
Web Components/Drop-in v4.0.0

This release requires Checkout API v67 or later.

For more guidance on upgrading to this version, have a look at the migration guide.

Breaking Changes
Known issues

For Boleto Bancário, the state.data is missing the billingAddress.country, causing the payment to fail. This issue is fixed in Web Components 4.2.2.

New
  • For npm installations, we now also release ES and CommonJS (CJS) format bundles. This is in addition to the Universal Module Definition (UMD) format bundle released with previous versions.
  • For Google Pay, the payment method type is now googlepay.
  • You can now configure action components by action type inside paymentMethodsConfiguration. For example, to change the default window size for a 3D Secure challenge:

    Copy code
    const checkout = new AdyenCheckout({
    paymentMethodsConfiguration: {
    threeDS2: {
    challengeWindowSize: '05' // '02' is the default size
    }
    }
    });
Improved
  • The onChange event now also returns error and validation information. The state.valid object returns a boolean for each field, and state.errors can be used to log the state of your form. You should only use the onError event for non-validaton errors, for example network errors.
  • Drop-down menus now have search functionality which filters results as you type. This applies, for example, for the list of issuers for iDEAL payments, or the lists of countries, states, or provinces for payment methods that require these.
  • If an issuing bank is offline, it appears greyed out to the shopper and they cannot select it from the dropdown menu. This applies, for example, to Dotpay.
Updating to this version

Install this version of the Adyen Web Node package:

Copy code
npm install @adyen/adyen-web@4.0.0 --save