---
title: "Release notes"
description: "Learn about the latest updates to our API, and Drop-in/Components for web, iOS, and Android."
url: "https://docs.adyen.com/online-payments/release-notes"
source_url: "https://docs.adyen.com/online-payments/release-notes.md"
canonical: "https://docs.adyen.com/online-payments/release-notes"
section: "release_note"
last_modified: "2023-01-12T14:40:00+01:00"
language: "en"
---

# 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](/unified-commerce/pay-by-link), [Checkout API](https://docs.adyen.com/api-explorer/Checkout/latest/overview), and Drop-in/Components for web, iOS, Android, React Native, and Flutter starting from **2020**.

You can also use the [API Diff Tool](https://docs.adyen.com/api-explorer/api-diff-tool) to compare any two versions of an API.

[![](/user/themes/adyen-docs/assets/icons/rss.svg) Get updates by RSS](/online-payments/release-notes.xml)

## Available filters

Category..., Type..., Version..., Release date...

## 2026-05-21 — iOS Components/Drop-in — Version 5.25.0

*\<p>We recommend that you use \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=72">Checkout API v72\</a> or later.\</p>*

### New

* Supported payment method: Bizum. Payment method [type](https://docs.adyen.com/payment-methods/payment-method-types): **bizum**. An instant payment method available in Spain.
* For UPI: Added support for the Smart Intent flow, with automatic detection of installed UPI apps on the device.

### Fixed

* For Apple Pay: The `supportedNetworks` property now returns all `PKPaymentNetwork` variants that match a brand.

## 2026-05-13 — Web Components/Drop-in — Version 6.36.0

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### New

* Support for [Adyen Giving donations with Sessions flow](/online-payments/donations#sessions-flow): If you have an active [Adyen Giving](/online-payments/donations) donation campaign, a donation form now automatically renders after a successful payment. To configure this, use the `donation` object in the `AdyenCheckout` configuration.

### Improved

* **(Internal change)** Some HTML elements now use semantic HTML instead of ARIA role overrides, improving accessibility for assistive technologies.

### Fixed

* For Click to Pay: The info modal title and the **Address** section title now use the correct heading level, so screen readers correctly convey the heading hierarchy.
* For Pay by Bank US with Drop-in: On narrow viewports, issuer brand icons in the payment method list no longer disappear. The icons now use the standard overflow pattern.
* For payment methods with a segmented control (for example, IRIS): The control no longer switches the order of payment modes after the shopper selects the **Pay** button.
* For dropdown fields: Screen readers now correctly announce the field name, the selected value, and the association with the dropdown list.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.36.0):

```sh
npm install @adyen/adyen-web@6.36.0
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/development-resources/live-endpoints#checkout-js-endpoints), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.36.0/adyen.js"
     integrity="sha384-Ouc46CkKTTLtsbeUiUh6OowqvcOfsmu70IafUWPMEmcv+E+gcu0YwD+o4SouDMvF"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.36.0/adyen.css"
     integrity="sha384-FxNL16Uy9A19dCm9riMzEjfmyT5JNm6tRnUA7ZDm9Va3k/X+orxELfx3WjcjoNJB"
     crossorigin="anonymous">
```

## 2026-05-13 — React Native Components/Drop-in — Version 2.11.0

*\<p>We recommend that you use \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=72">Checkout API v72\</a> or later.\</p>*

### New

* For Apple Pay: You can now use the following new callback events and configuration properties to customize the Apple Pay payment sheet:

  * `onAuthorize`: Validate payment data before submission.
  * `onShippingContactChange` and `onShippingMethodChange`: React to the shopper's shipping selection and update summary items, shipping methods, or errors.
  * `onCouponCodeChange`, `supportsCouponCode`, and `couponCode`: Enable and manage a coupon code field in the Apple Pay sheet (iOS 15+).

* For card payments: You can now configure installment payments using the new `installmentOptions` configuration property. Set `installmentOptions` in the card payment method configuration to define default and card-brand-specific installment values and plans.

### Improved

* **(Internal code change)** Resolved SonarCloud maintainability issues across TypeScript, Swift (iOS), and Kotlin (Android) codebases.

### Fixed

* For iOS: `ADYCardViewCls` was renamed to `CardViewCls` for compatibility with Expo 52.

### Changed

* Dependency versions:

  | Name                                                                                                      | Version              |
  | --------------------------------------------------------------------------------------------------------- | -------------------- |
  | [Android Drop-in/Components](/online-payments/release-notes/?title%5B0%5D=Android%2BComponents%2FDrop-in) | 5.17.0 -> **5.18.0** |
  | [iOS Drop-in/Components](/online-payments/release-notes/?title%5B0%5D=iOS%2BComponents%2FDrop-in)         | 5.23.1 -> **5.24.0** |

## 2026-05-08 — Flutter Components/Drop-in — Version 1.10.0

*\<p>We recommend that you use \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=72">Checkout API v72\</a> or later.\</p>*

### New

* For Drop-in: You can now hide previously stored payment methods from the payment method list. Set `showStoredPaymentMethods` to **false** in `StoredPaymentMethodConfiguration`. The default is **true**.
* For standalone action handling: `ActionComponentConfiguration` now supports `ThreeDS2Configuration`, so you can set the `requestorAppURL` and customize the 3D Secure 2 UI.

### Changed

* Dependency versions:

  | Name                                                                                                                             | Version              |
  | -------------------------------------------------------------------------------------------------------------------------------- | -------------------- |
  | [Android Drop-in/Components](/online-payments/release-notes/?title%5B0%5D=Android%2BComponents%2FDrop-in\&version%5B0%5D=5.18.0) | 5.17.0 -> **5.18.0** |
  | [iOS Drop-in/Components](/online-payments/release-notes/?title%5B0%5D=iOS%2BComponents%2FDrop-in\&version%5B0%5D=5.24.0)         | 5.23.1 -> **5.24.0** |

## 2026-05-06 — iOS Components/Drop-in — Version 5.24.0

*\<p>We recommend that you use \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=72">Checkout API v72\</a> or later.\</p>*

### Improved

* For co-badged cards: The UI is redesigned. For BCMC, Carte Bancaire, and Dankort, the shopper can select their preferred card brand directly inside the card field, with a description below. For other brands, the card field shows both brand logos, but the shopper cannot select them.

### Changed

* For the `didSubmit` delegate method (`PaymentComponentDelegate`): The size of the payload has increased because of changes to the included `sdkData` parameter.

## 2026-05-05 — Web Components/Drop-in — Version 6.35.0

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### Improved

* For co-badged cards: When the shopper enters a co-badged card number, the shopper can select their preferred card brand.

  * In the EU: the first brand is pre-selected by default, and the selected brand is included in the payment request.
  * Outside the EU: brand logos are displayed for information only.

### Changed

* The payload returned in the `onSubmit` callback has increased in size, because of changes to the included `sdkData` field.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.35.0):

```sh
npm install @adyen/adyen-web@6.35.0
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/development-resources/live-endpoints#checkout-js-endpoints), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.35.0/adyen.js"
     integrity="sha384-umkUb17q5rOkKr0jWTqDPNl7boKwm6ZMPFquh5jbnR7ATn4nUJFj9xw1XWp8BKb6"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.35.0/adyen.css"
     integrity="sha384-wm047jK4obMFKSCV0jZffEB8U38+ZMQ0SP88s1yijdbjr6jWr5rnPTBLtIHXkW9d"
     crossorigin="anonymous">
```

## 2026-05-05 — Android Components/Drop-in — Version 5.18.0

*\<p>We recommend that you use \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=72">Checkout API v72\</a> or later.\</p>*

### Improved

* For co-badged cards: The UI is redesigned. For BCMC, Carte Bancaire, and Dankort, the shopper can select their preferred card brand directly inside the card field, with a description below. For other brands, the card field shows both brand logos, but the shopper cannot select them.

### Changed

* For the `onSubmit` callback: The size of the payload has increased because of changes to the included `sdkData` parameter.

## 2026-04-30 — Web Components/Drop-in — Version 6.34.1

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### Improved

* For UPI Autopay: the `endsAt` property in the mandate object is now required.
* **(Internal change)** TypeScript types are now stricter for utilities, language, and UMD entry modules.

### Fixed

* Drop-in and Components now validate the `countryCode` configuration property when you create the `AdyenCheckout` instance.
* Form labels in the payment form now use bold font-weight.
* For Drop-in: payment method item details now use the HTML `inert` attribute, preventing focus when the payment method is not selected.
* For the Drop-in payment method list: overflowing text content no longer shows up past the list item boundaries.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.34.1):

```sh
npm install @adyen/adyen-web@6.34.1
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/development-resources/live-endpoints#checkout-js-endpoints), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.34.1/adyen.js"
     integrity="sha384-0rJYG3vsj5xaC1elq1yG36CTKnbqkqshZ8KaLt/GeJxfsfTXurQ4ojW2WLVAER5p"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.34.1/adyen.css"
     integrity="sha384-99yFnFjlxFvEl2m++Z4OW1JRt/KVlH1kDr5d5l1/t2L7uW1+PBjAQlQN3xFxdRQx"
     crossorigin="anonymous">
```

## 2026-04-23 — Web Components/Drop-in — Version 6.34.0

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### Improved

* The bundle now includes English (**en-US**) translations as a fallback. If the translation request fails, the payment form defaults to English.

* Drop-in and Components now resolve partial or imprecise locale codes to the closest supported locale. For example, `nl` resolves to `nl-NL`, and `en-GB` resolves to `en-US`.

* Drop-in and Components now only request translations from the CDN for supported locales, eliminating unnecessary 404 errors.

* For UPI with Drop-in: the payment method list item now shows brand icons.

* For the Drop-in payment method list: when brands in the list include icons, the icons now adjust responsively on mobile screens.

* **(Internal change)** TypeScript types are now stricter for the following:

  * Amazon Pay Component
  * PayPal Component
  * Cash App Pay Component
  * Card Component
  * SecuredFields internal module

### Fixed

* An internal analytics request no longer blocks the UI from rendering during initialization. The payment form now appears faster.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.34.0):

```sh
npm install @adyen/adyen-web@6.34.0
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/development-resources/live-endpoints#checkout-js-endpoints), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.34.0/adyen.js"
     integrity="sha384-QGramal0EJTBGedSLmjM9lphyPwl9BUmbG2kuGt8e7wmAcYxdV6RPcpTqXQ4XHW1"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.34.0/adyen.css"
     integrity="sha384-fO4XAEV1hX3uGb38bkrzeNvMMDCzn6QRk8zK+vG6KJHKpnAiYmYaDOQJFv3Gnywd"
     crossorigin="anonymous">
```

## 2026-04-21 — React Native Components/Drop-in — Version 2.10.0

*\<p>We recommend that you use \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=72">Checkout API v72\</a> or later.\</p>*

### New

* For cards:

  * You can now render the payment form directly in your React Native layout, without a full-screen modal. Use the new `<CardView>` component.

  * You can now validate card details before encrypting them. Use the following new methods in the `AdyenCSE` module:

    * `validateCardNumber`
    * `validateCardExpiryDate`
    * `validateCardSecurityCode`

### Deprecated

* The `AdyenCheckout.start("scheme")` flow is deprecated. Use the embedded `<CardView>` component instead. If you use the `AdyenCheckout.start("scheme")` flow, you now get a runtime warning. It will be removed in v3.0.0

### Improved

* **(Internal code change)** Various dependency updates (security patches and tooling).

### Fixed

* For Google Pay: The button now updates correctly after the default card finishes loading.

### Changed

* Dependency versions:

  | Name                                                                                                      | Version              |
  | --------------------------------------------------------------------------------------------------------- | -------------------- |
  | [Android Drop-in/Components](/online-payments/release-notes/?title%5B0%5D=Android%2BComponents%2FDrop-in) | 5.16.1 -> **5.17.0** |
  | [iOS Drop-in/Components](/online-payments/release-notes/?title%5B0%5D=iOS%2BComponents%2FDrop-in)         | 5.22.2 -> **5.23.1** |

## 2026-04-15 — Checkout API — Version 72

### Breaking Changes

* Added validations for the following request parameters (for example: in the [/payments](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments) or [/sessions](https://docs.adyen.com/api-explorer/Checkout/latest/post/sessions) request). If the values that you send in the parameters do not meet validation requirements, the request now fails. Go to our [v72 upgrade guide](/online-payments/upgrade-your-integration/upgrade-to-checkout-api-v72) to see the new validation requirement for each parameter.

  * `billingAddress.postalCode`
  * `billingAddress.stateOrProvinceCode`
  * `captureDelayHours`
  * `dateOfBirth`
  * `deliveryAddress.postalCode`
  * `deliveryAddress.stateOrProvinceCode`
  * `entityType`
  * `metadata`
  * `reference`
  * `returnUrl`
  * `shopperEmail`
  * `shopperIP`
  * `shopperName.firstName`
  * `shopperName.lastName`
  * `socialSecurityNumber`
  * `telephoneNumber`

### New

* For cards: validation for values sent in card holder name parameters, to prevent card numbers from being sent in the wrong parameters. For example: if the shopper enters the card number in the **Card holder name** field, and you send the card number in the `holderName` parameter, we now return the **Invalid card holder name** error message.

### Changed

* For Drop-in/Components using Advanced flow: in the [/payments](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments) request, the data in the [sdkData](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments#request-paymentMethod-listOfValues-sdkData) object takes precedence over the SDK-related information you include. For example, if you include [`checkoutAttemptId`](https://docs.adyen.com/api-explorer/Checkout/71/post/payments#request-fundRecipient-paymentMethod-checkoutAttemptId), the `sdkData.checkoutAttemptId` value takes precedence.
* For [Pix](/payment-methods/pix): the default session validity is now 24 hours. Previously, it was one hour.

### Deprecated

* Unused parameters are now [deprecated](https://docs.adyen.com/api-explorer/api-diff-tool?api=Checkout\&from=71\&to=72%3Fclasses%3DcodeLabel).

### Removed

* Previously deprecated parameters have been [removed](https://docs.adyen.com/api-explorer/api-diff-tool?api=Checkout\&from=71\&to=72\&breaking=true%3Fclasses%3DcodeLabel).

### Fixed

* For some validation and rate limit errors: we now return the **422** or **429** [HTTP status code](/development-resources/response-handling#http-responses) instead of **500**.
* For the [/sessions](https://docs.adyen.com/api-explorer/Checkout/latest/post/sessions) endpoint: when used with Drop-in, an error where the `returnUrl` included `payload` instead of `redirectResult` no longer occurs. Previously, this caused the integration to fail, because `redirectResult` is required to complete the payment.
* For the [/payments](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments) request: in the `lineItems` object, when `taxAmount` and `amountExcludingTax` fields are not set, the `amountExludingTax` value is no longer incorrectly set equal to the `amountIncludingTax` value. You now receive an error to inform you that these fields are missing or invalid.
* For [partial payments](/online-payments/partial-payments) that go through 3D Secure 2 authentication: you now receive the order data in the API response.
* For the Sessions flow: when the shopper makes a payment with previously stored payment details, the type shopper interaction that we record internally is now correct.

## 2026-04-02 — Flutter Components/Drop-in — Version 1.9.0

*\<p>We recommend that you use \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=72">Checkout API v72\</a> or later.\</p>*

### New

* For the 3D Secure 2 Component: You can now customize the user interface using `Adyen3DSTheme`. This includes support for `fromThemeData()`, which lets you use the styling from your existing app theme.

* Supported payment method: BLIK. Payment method [type](https://docs.adyen.com/payment-methods/payment-method-types): **blik**. The shopper pays using a 6-digit code generated in their banking app.

* For card payments: You can now offer shoppers the option to pay in installments.

  * Sessions flow: Use the [`installmentOptions`](https://docs.adyen.com/api-explorer/Checkout/latest/post/sessions#request-installmentOptions) parameter.
  * Advanced flow: Use the new [`installmentConfiguration`](https://github.com/Adyen/adyen-flutter/blob/main/lib/src/common/model/payment_method_configurations/card/installment_configuration.dart) property.

### Improved

* The internal component architecture now uses a shared layer. This improves maintainability and makes it easier to extend components that are based on platform views.
* For the Card Component: The implementation is now simplified and complies with the updated component architecture.

### Changed

* Dependency versions:

  | Name                                                                                                                             | Version              |
  | -------------------------------------------------------------------------------------------------------------------------------- | -------------------- |
  | [Android Drop-in/Components](/online-payments/release-notes/?title%5B0%5D=Android%2BComponents%2FDrop-in\&version%5B0%5D=5.17.0) | 5.16.0 -> **5.17.0** |
  | [iOS Drop-in/Components](/online-payments/release-notes/?title%5B0%5D=iOS%2BComponents%2FDrop-in\&version%5B0%5D=5.23.1)         | 5.22.2 -> **5.23.1** |

## 2026-03-31 — Web Components/Drop-in — Version 6.33.0

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### New

* For Apple Pay: the shopper can now enter a coupon code in the payment sheet. To enable this, set `supportsCouponCode` to **true** in the Apple Pay configuration.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.33.0):

```sh
npm install @adyen/adyen-web@6.33.0
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/development-resources/live-endpoints#checkout-js-endpoints), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.33.0/adyen.js"
     integrity="sha384-uMgOOe++KK9JoyxeIxzR7IyT6Ef8pOCVNKC499aRlxfYR1ofL0Ytv3w1WU547KXP"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.33.0/adyen.css"
     integrity="sha384-Kxk+HDAUmRogabIUxszUgK7HjuEtcwCqxw8ecoDrF8WxjrfcVlVaRSImp//bEp8W"
     crossorigin="anonymous">
```

## 2026-03-26 — iOS Components/Drop-in — Version 5.23.1

*\<p>We recommend that you use \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=71">Checkout API v71\</a> or later.\</p>*

### Fixed

* For Cash App Pay: when the toggle to store the payment details is configured to be hidden, an issue no longer prevents the payment details from being tokenized.

## 2026-03-25 — Web Components/Drop-in — Version 6.32.1

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### Fixed

* For Drop-in with Sessions flow: the Pay button now shows the correct remaining amount after the shopper redeems a gift card. Previously, the Pay button showed the original amount.

### Fixed

* The TypeScript type definition for `PayButtonProps.onClick` is now correct.

### Changed

* For the de-DE locale: the Pay button text is now **Kaufen** to comply with German regulations. Previously, the text was **Zahle**.

### Changed

* The position of the amount on the **Pay** button has been updated, for consistency with the styling of Drop-in/Components on other platforms.

### Changed

* Dependency versions:

  | Dependency  | Version            |
  | ----------- | ------------------ |
  | Passkey SDK | 1.1.0 -> **1.2.0** |

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.32.1):

```sh
npm install @adyen/adyen-web@6.32.1
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/development-resources/live-endpoints#checkout-js-endpoints), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.32.1/adyen.js"
     integrity="sha384-dhZS01zDirxJqY9kdEnGWfPUnTL9G/142ctrm9Un316MEBK0elHtbtEVjZ8aSSJR"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.32.1/adyen.css"
     integrity="sha384-Kxk+HDAUmRogabIUxszUgK7HjuEtcwCqxw8ecoDrF8WxjrfcVlVaRSImp//bEp8W"
     crossorigin="anonymous">
```

## 2026-03-17 — Android Components/Drop-in — Version 5.17.0

*\<p>We recommend that you use \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=72">Checkout API v72\</a> or later.\</p>*

### Changed

* For the `de-DE` locale, where the UI renders in German: The text on the pay button is now **Kaufen** to comply with regulations. Previously, the text was **Zahle**.

## 2026-03-13 — Web Components/Drop-in — Version 6.32.0

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### New

* For Google Pay: you can now filter cards by issuer country.

  * To allow specific countries, set `allowedIssuerCountryCodes`.
  * To block specific countries, set `blockedIssuerCountryCodes`.

### Fixed

* For Card Component with Sessions flow: payments with split funding sources now work correctly.

### Fixed

* For analytics: the debounce time for error and log events is now 300ms. Previously, it was incorrectly changed from this value.

### Fixed

* For cards:

  * Screen readers no longer read the iframe titles of input fields twice. This improves the accessibility experience.
  * The installments selector no longer renders when the payment amount is unavailable.

### Fixed

* For Google Pay: when the environment string is unrecognized, the default is now **production** instead of **test**.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.32.0):

```sh
npm install @adyen/adyen-web@6.32.0
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/development-resources/live-endpoints#checkout-js-endpoints), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.32.0/adyen.js"
     integrity="sha384-VWD6p0vrpJBifX+qRG9ekkIowPewOz0hvgRK30G0SvclVrH0DfuYolJZXaKkylnl"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.32.0/adyen.css"
     integrity="sha384-Kxk+HDAUmRogabIUxszUgK7HjuEtcwCqxw8ecoDrF8WxjrfcVlVaRSImp//bEp8W"
     crossorigin="anonymous">
```

## 2026-03-12 — Customer Area

### Changed

To provide greater control over the data users in your Customer Area can see, admin users can now directly manage the **Merchant view PII** role. **Merchant view PII** is the primary control for masking and unmasking sensitive shopper data like billing addresses in the Customer Area.

**What you need to know:**

* **Audit your user access**: We have automatically mapped users to the correct roles on our side to help you maintain your business continuity. We recommend limiting the availability of this role to as few users as possible. Navigate to **Settings > Users** to check user permissions and edit any that might not need this role.
* **Admins can view PII**: By default, users who have the **Merchant admin** role can view sensitive data. This allows the admin users to grant the **Merchant view PII** role to other users.

To learn more about user roles, see [Manage user roles](https://docs.adyen.com/account/user-roles#manage-user-roles).

## 2026-02-24 — iOS Components/Drop-in — Version 4.16.1

*\<p>We recommend that you use \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=71">Checkout API v71\</a> or later. \</p>*

### Fixed

* For Hungarian Forint (HUF) payments: Drop-in/Components now explicitly overrides HUF amounts to use two [minor units](/development-resources/currency-codes), so that the amount formatting is consistent on all iOS versions. Previously, on iOS 26.4 beta, HUF amounts changed incorrectly to zero minor units.

## 2026-02-23 — iOS Components/Drop-in — Version 5.22.2

*\<p>We recommend that you use \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=71">Checkout API v71\</a> or later. \</p>*

### Fixed

* For Hungarian Forint (HUF) payments: Drop-in/Components now explicitly overrides HUF amounts to use two [minor units](/development-resources/currency-codes), so that the amount formatting is consistent on all iOS versions. Previously, on iOS 26.4 beta, HUF amounts changed incorrectly to zero minor units.

## 2026-02-19 — Android Components/Drop-in — Version 5.16.1

*\<p>We recommend that you use \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=71">Checkout API v71\</a> or later. \</p>*

### Improved

* For Drop-in: accessibility services now correctly announce headings, providing a better experience for shoppers using screen readers.

### Changed

* Dependency versions:

  | Name                                                                          | Version          |
  | ----------------------------------------------------------------------------- | ---------------- |
  | [Adyen 3DS2](https://github.com/Adyen/adyen-3ds2-android/releases/tag/2.2.26) | 2.2.25 -> 2.2.26 |

### Fixed

* When the shopper uses a connected hardware keyboard, the primary button can now be selected using keyboard input. Previously, a keyboard navigation issue prevented interaction with the button.
* For Drop-in: when a shopper selects a stored payment method and a regular payment method simultaneously, a crash no longer occurs.
* For Google Pay: the availability check callback is no longer garbage collected while the check is running.
* For cards: when the card view is displayed in a bottom sheet or dialog, screen recording is no longer possible. This prevents screen recording of the card view in Drop-in.
* Using `SessionSetupConfiguration.SERIALIZER.serialize(...)` now correctly serializes the `installmentOptions` field.
* For Sessions flow: the key is now correctly passed when obtaining a Component.

## 2026-02-19 — Web Components/Drop-in — Version 6.31.1

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### Improved

* For 3D Secure 2:

  * When a timeout occurs, the error code is now **710**. Previously, the error code was 705.
  * When an analytics error occurs, the error now has \`errorType: 'ThreeDS'.

* For cards:

  * When an error with encryption or key generation occurs, it is now reported.
  * These errors are sent as analytics errors.

### Fixed

* When the shopper uses an iOS device: setting focus on an input field now correctly causes the view to automatically scroll so that the field is on the screen.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.31.1):

```sh
npm install @adyen/adyen-web@6.31.1
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/development-resources/live-endpoints#checkout-js-endpoints), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.31.1/adyen.js"
     integrity="sha384-fIc53mLoRD6ppwKm3QRjk2UjXFJ8D9dp8Fw/4nqIFBxCXxmbwS7MDSePtTiWXAzt"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.31.1/adyen.css"
     integrity="sha384-Kxk+HDAUmRogabIUxszUgK7HjuEtcwCqxw8ecoDrF8WxjrfcVlVaRSImp//bEp8W"
     crossorigin="anonymous">
```

## 2026-02-12 — Web Components/Drop-in — Version 6.31.0

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### New

* When the payment amount is updated, it now gets updated in the UI without re-initializing Drop-in or the Component.

### Improved

* For Japanese payments: if a bonus installment is available, the payment form now shows a **Bonus payment** radio button that the shopper can select.

### Changed

* Dependency versions:

  | Dependency                      | Version                                                                  |
  | ------------------------------- | ------------------------------------------------------------------------ |
  | [Preact](https://preactjs.com/) | 10.22.1 -> [**10.28.2**](https://www.npmjs.com/package/preact/v/10.28.2) |

### Fixed

* For card payments that support installments: when the shopper selects the dropdown menu for installments in the payment form, it no longer blocks the **Pay** button.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.31.0):

```sh
npm install @adyen/adyen-web@6.31.0
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/development-resources/live-endpoints#checkout-js-endpoints), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.31.0/adyen.js"
     integrity="sha384-AnJHBsYyqMHkW3oh4IkN+uCJDBTUEtQKZFO0u6HEbFyYli5+KPAxfRi+54UDVX8t"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.31.0/adyen.css"
     integrity="sha384-Kxk+HDAUmRogabIUxszUgK7HjuEtcwCqxw8ecoDrF8WxjrfcVlVaRSImp//bEp8W"
     crossorigin="anonymous">
```

## 2026-01-29 — Web Components/Drop-in — Version 6.30.0

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.30.0):

```sh
npm install @adyen/adyen-web@6.30.0
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/development-resources/live-endpoints#checkout-js-endpoints), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.30.0/adyen.js"
     integrity="sha384-sioAmEpgV1x5KaMioXOtk8itF68PJZKMWXpzD7wEebjhzn1VZSJ6iMXcG34MlYx0"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.30.0/adyen.css"
     integrity="sha384-EajIgrs12jE8/4xUJjow1goFTYYeYCTDTot8jZqhspGJWuGtHMsj5b+Vl10oBOf0"
     crossorigin="anonymous">
```

### Improved

* Removed unused CSS classes.

### Fixed

* The `checkoutAttemptId` is now correctly retrieved from the Analytics module.
* For Components that use `securedField` (such as Cards): the library now correctly detects if the containing element is missing from the DOM and generates a `console.error`. This prevents configuration errors where `Window` object to send the `securedField` iframe configuration message does not exist.

### Removed

* For UPI, the Collect flow has been removed to comply with NPCI regulations. The default payment flows are now:

  * QR code for desktop devices.
  * Intent for mobile devices. For more information, see [UPI](/payment-methods/upi/).

## 2026-01-29 — Web Components/Drop-in — Version 5.72.0

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### New

* The new `sdkData` property is now included in the base `data` object.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.72.0):

```sh
npm install @adyen/adyen-web@5.72.0
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/development-resources/live-endpoints#checkout-js-endpoints), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/5.72.0/adyen.js"
     integrity="sha384-vMlh+Kcp/4nWlzIY+D5Ptwo2PP/hdfWXPQDVUV4xl0CJa8RjasS0/8Ql4pWKpzeO"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/5.72.0/adyen.css"
     integrity="sha384-UyhjL3xoxLXYCa8jDKGA9PWlbdSEAC3v0bxvtmtzagzaTy+PJPkY7i9L6hLTCYS8"
     crossorigin="anonymous">
```

## 2026-01-27 — Flutter Components/Drop-in — Version 1.8.0

*\<p>We recommend that you use \<a href="/online-payments/release-notes?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=71">Checkout API v71\</a> or later.\</p>*

### New

* TWINT is now supported in Drop-in and as a redirect instant component. Payment method [type](/payment-methods/payment-method-types): **twint**.
* For card payments with Drop-in and the Card Component, you can now configure a `requestorAppURL` in your `ThreeDS2Configuration`.
* The `data` object in the `onSubmit` callback includes the `sdkData` parameter. For Advanced flow integrations, we strongly recommend that you include this in your `/payments` request.

### Improved

* For Drop-in on iOS, the payment amount you specified in your `/sessions` request is used to show the amount at checkout.
* Updated Gradle and AGP to v8.13.

### Changed

* Dependency versions:

  | Name                                                                                                                                                  | Version |
  | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
  | [iOS Drop-in/Components](/online-payments/release-notes/?title%5B0%5D=iOS%20Components%2FDrop-in#releaseNote=2025-12-18-ios-componentsdrop-in-5.22.1) | 5.22.1  |
  | [Android Drop-in/Components](/online-payments/release-notes/#releaseNote=2025-12-19-android-componentsdrop-in-5.16.0)                                 | 5.16.0  |
  | [Android Gradle Plugin](https://developer.android.com/build/releases/gradle-plugin)                                                                   | 8.13.2  |

## 2026-01-20 — Web Components/Drop-in — Version 6.29.0

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### New

* Supported payment method: [IRIS](https://www.nbg.gr/en/individuals/daily-transactions/digital-banking/internet-mobile-banking-capabilities/iris-payments). Payment method [type](/payment-methods/payment-method-types): **iris**.
* For Japanese convenience stores: When the voucher includes an alternative reference, the voucher now shows the alternative reference to the shopper.
  * For Advanced flow: When an alternative reference is available, the `action.alternativeReference` field is included in the `/payments` response.
* The new `sdkData` property is now included in the base `data` object.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.29.0):

```sh
npm install @adyen/adyen-web@6.29.0
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/development-resources/live-endpoints#checkout-js-endpoints), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.29.0/adyen.js"
     integrity="sha384-pLBSlQ4CHtVpsqs/NVberkpW6f0IF2KtPhVAJR2G7eW3t88K6CutFiwvp/Sdx+I5"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.29.0/adyen.css"
     integrity="sha384-7+wiowy56a9K2jpn5KSYzHLFxcNeTr4enttngJcYBkDlcWocvUBQ0oIHDx7ipRNQ"
     crossorigin="anonymous">
```

## 2026-01-16 — Hosted Checkout

### Breaking Changes

You can no longer embed the Hosted Checkout page in an [`iframe` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/iframe).

## 2026-01-16 — Pay by Link

### Breaking Changes

You can no longer embed the Pay by Link page in an [`iframe` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/iframe).

## 2026-01-14 — React Native Components/Drop-in — Version 2.9.0

*\<p>We recommend that you use \<a href="/online-payments/release-notes?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=71">Checkout API v71\</a> or later.\</p>*

### Changed

* Dependency versions:

  | Name                                                                                     | New version                                                                                                 |
  | ---------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
  | [iOS Drop-in/Components](https://github.com/Adyen/adyen-ios/releases/tag/5.22.1)         | 5.22.1                                                                                                      |
  | [Android Drop-in/Components](https://github.com/Adyen/adyen-android/releases/tag/5.16.0) | 5.16.0                                                                                                      |
  | `react-server-dom-webpack`                                                               | 19.0.3. This addresses the [CVE-2025-55182](https://nvd.nist.gov/vuln/detail/CVE-2025-55182) vulnerability. |

### Fixed

* For iOS:

  * When the application leaves the foreground, the `/session` request is no longer recreated.
  * When an invalid client key is provided, the error is now handled and provides a human-readable error message.

* For the Android Twint Component: instant payments no longer cause the app to crash.

* When a network error occurs during an internal session fetch, the app no longer crashes.

* For the **Example App**:

  * A bug related to session fetch errors no longer occurs.
  * A UI bug caused by rapid navigation after a card payment no longer occurs.

### Improved

* Source code cleanup: fixed code smells and reduced code duplication.

* Moved `plugin` inside `src`.

* For the **Example App:**

  * After an `onError` call, the session is now refreshed.
  * [Credentials from an untracked `secrets.json` file](https://github.com/Adyen/adyen-react-native/blob/develop/example/README.md#step-2-provide-credentials) are now used.

### New

* The `paymentMethod` object now includes `sdkData`. For Advanced flow, we recommend that you include this parameter in your `/payments` request.
* For the Expo plugin: added support for overrides on the extended `MainActivity`.

## 2026-01-13 — Hosted Checkout

The UI for the shopper has been redesigned.

### Improved

* In the header:

  * The logo now remains visible on the screen when the shopper moves down the payment form.
  * The logo is now centered.

* In the payment form:

  * The background is now a single color. The background can no longer be an image.

  * The list of payment methods where the shopper selects a payment method is now in a dedicated section.

  * The order summary section now shows the following information:

  * The total payment amount.

  * The order reference number that you provide.

  * The description of the purchase, if you provide it.

  * For the section where the shopper enters their payment details:

  * The input fields are separate from the list of payment methods. Previously, the input fields were above the list of payment methods.

  * The following fields now have a clear format:

    * **Name**
    * **Billing address**
    * **Delivery address**

  * The shopper can now edit their personal details before submitting the payment.

* In the footer: the link for **Terms and Conditions** can now go directly to your URL.

## 2026-01-13 — Pay by Link

The UI for the shopper has been redesigned.

### Improved

* In the header:
  * The logo now remains visible on the screen when the shopper moves down the payment form.

* In the payment form:

  * The background is now a single color. The background can no longer be an image.

  * The list of payment methods where the shopper selects a payment method is now in a dedicated section.

  * The order summary section now shows the following information:

  * The total payment amount.

  * The order reference number that you provide.

  * The description of the purchase, if you provide it.

  * For the section where the shopper enters their payment details:

  * The input fields are separate from the list of payment methods. Previously, the input fields were above the list of payment methods.

  * The following fields now have a clear format:

    * **Name**
    * **Billing address**
    * **Delivery address**

  * The shopper can now edit their personal details before submitting the payment.

* In the footer: the link for **Terms and Conditions** can now go directly to your URL.

## 2026-01-07 — Web Components/Drop-in — Version 6.28.0

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### Improved

* For payment methods where the shopper selects an option before submitting their payment (for example, selecting a bank from a dropdown menu):

  * The keyboard no longer automatically expands when the selection element receives focus.
  * The selection element now includes the `aria-disabled` and `aria-expanded` attributes.

### Fixed

* For the **Button** component: the `aria-live` attribute now enables screen readers to announce the loading and redirect states.
* For the 3D Secure 2 Component: fixed an issue where properties were manually added due to legacy code from the previous major version (v5.0.0).
* When the payment form includes input fields for the partial billing address: the postal code field now correctly shows the localized label. For example, it shows **Zip code** for the US, and **Postal code** for other countries/regions.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.27.1):

```sh
npm install @adyen/adyen-web@6.28.0
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/development-resources/live-endpoints#checkout-js-endpoints), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.28.0/adyen.js"
     integrity="sha384-Sn25brvQoj/KQEGUycZ+FsBC9LgoeLiAtMAD8PMRpoYzkEXHMSOm/ywFoczTzuC9"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.28.0/adyen.css"
     integrity="sha384-LWXfZN2mfdqIv5Kh3npadtzVORAuS7kX3qK8N8PKTs4EIVB5giRnMt0FeO/eueZu"
     crossorigin="anonymous">
```

## 2025-12-19 — iOS Components/Drop-in — Version 5.22.1

*\<p>We recommend that you use \<a href="/online-payments/release-notes?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=71">Checkout API v71\</a> or later.\</p>*

### Improved

* For Apple Pay:

  * For co-badged cards, the network selection now follows the order in the `brands` array provided by the backend.
  * Improved errors handling when no networks are available.

## 2025-12-19 — Android Components/Drop-in — Version 5.16.0

*\<p>We recommend that you use \<a href="/online-payments/release-notes?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=71">Checkout API v71\</a> or later.\</p>*

### New

* In the `paymentMethod` object: `sdkData` has been added.\
  For Advanced flow integrations, we highly recommend that you include this in your `/payments` request.
* For Google Pay: you can now allow or block cards issued in specific countries. To do this, use the `allowedIssuerCountryCodes` and `blockedIssuerCountryCodes` configuration properties.

### Fixed

* For Components: when the shopper puts your app into the background and returns, the Components retain their state. Previously, Components were recreated and lost their state.

### Deprecated

* The following properties are now deprecated.

  | Property                | Previous parent object |
  | ----------------------- | ---------------------- |
  | `supportNativeRedirect` | `PaymentComponentData` |
  | `checkoutAttemptId`     | `PaymentMethod`        |
  | `threeDS2SdkVersion`    | `CardPaymentMethod`    |

  These properties are now in the new sdkData object.

## 2025-12-18 — Web Components/Drop-in — Version 6.27.1

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### Fixed

* For the [Klarna](/payment-methods/klarna) widget: when a purchase is refused, the `details` parameter is now correctly populated.
* When the shopper presses the **Enter** key on their input device, the `onKeyDown` event now correctly gets triggered.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.27.1):

```sh
npm install @adyen/adyen-web@6.27.1
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/development-resources/live-endpoints#checkout-js-endpoints), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.27.1/adyen.js"
     integrity="sha384-O2YEtCpBJlpnqKVWU5zI/a29fYQ6f5oSFo3JGc6QEVZW++uaoWvAcgzwSjjVHaEI"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.27.1/adyen.css"
     integrity="sha384-v4WMhZ5b9GzrmepuVnBZ/neEvwZd3kYkt1GNI4WDk9+YD06/ytw+Uzfg8QT7IQVl"
     crossorigin="anonymous">
```

## 2025-12-18 — iOS Components/Drop-in — Version 5.22.0

*\<p>We recommend that you use \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=71">Checkout API v71\</a> or later. \</p>*

### New

* For Apple Pay:

  * You can now validate payment details, such as the billing address, before the payment is submitted. To do this, set the `authorizationDelegate` property on your `ApplePayComponent` instance, and implement the [`didAuthorize(payment:completion:)` method](https://github.com/Adyen/adyen-ios/blob/b952aeb041dd8094cc74fb8e21b2051f446b80e4/Demo/Common/IntegrationExamples/AdvancedFlow/Components/ApplePayComponentAdvancedFlowExample.swift#L201) in the new `ApplePayAuthorizationDelegate` protocol.
  * you can now choose to have the Apple Pay sheet dismiss automatically after the payment flow finishes. Set the new [`dismissesAutomatically` configuration property](https://github.com/Adyen/adyen-ios/blob/b952aeb041dd8094cc74fb8e21b2051f446b80e4/Demo/Common/IntegrationExamples/AdvancedFlow/Components/ApplePayComponentAdvancedFlowExample.swift#L70) to **true** to enable this.

* The `sdkData` property in the `PaymentMethodDetails` protocol. For Advanced flow: we highly recommended that you include it in your [/payments](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments) request, in `paymentMethod.sdkData`.

### Changed

* Dependency versions:

  | Dependency                                                                    | Version |
  | ----------------------------------------------------------------------------- | ------- |
  | [3D Secure 2 SDK](https://github.com/Adyen/adyen-3ds2-ios/releases/tag/2.4.4) | 2.4.4   |

### Deprecated

* The following properties are now deprecated.

  | Property                | Parent object          |
  | ----------------------- | ---------------------- |
  | `supportNativeRedirect` | `PaymentComponentData` |
  | `checkoutAttemptId`     | `PaymentMethod`        |
  | `threeDS2SdkVersion`    | `CardPaymentMethod`    |

  These properties are now in the new `sdkData` object.

## 2025-12-11 — Web Components/Drop-in — Version 6.27.0

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### New

* For all [select elements](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/select) in the payment form: a [focus](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Selectors/:focus) border now appears on the active item.

### Improved

* The `SRPanelProvider` is now in `UIElement`, to reduce the number of required imports.

### Fixed

* A runtime error no longer occurs when an external script finishes loading after the Component has been unmounted. Previously, this caused a runtime error.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.27.0):

```sh
npm install @adyen/adyen-web@6.27.0
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/development-resources/live-endpoints#checkout-js-endpoints), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.27.0/adyen.js"
     integrity="sha384-YBuCPsDcLgNlUrqAEKfDwd7WHFPNZIJMbl0iruXeL4jBsgPwHwU/PeVXSocgZGpn"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.27.0/adyen.css"
     integrity="sha384-v4WMhZ5b9GzrmepuVnBZ/neEvwZd3kYkt1GNI4WDk9+YD06/ytw+Uzfg8QT7IQVl"
     crossorigin="anonymous">
```

## 2025-12-04 — Web Components/Drop-in — Version 6.26.0

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### New

* For internal analytics: the `configData` property is now included in the data sent for payment methods.

* In the payment form:

  * Brand icons now display a box shadow.
  * Valid fields now display a black checkmark.

### Improved

* For analytics:

  * When you create an instance of `AdyenCheckout`, the `checkoutAttemptId` is now requested immediately. This checkout attempt identifier acts as a unique key to track the checkout session.
  * The integration type (Drop-in or Component) is now in the `flavor` property when the checkout UI renders.

* For open invoice payment methods like Oney, Riverty, and RatePay: the **Gender** field has been removed, to comply with payment industry requirements and for improved accessibility.

* For Click to Pay: labels that were incorrect are now correct, and text that was duplicated has now been removed. This improves accessibility for screen readers.

### Fixed

* For [Pay By Bank (US)](/payment-methods/pay-by-bank-us): the `showOtherInsteadOfNumber` configuration property is now spelled correctly. Previously, it was incorrectly spelled as `showOtherInsteafOfNumber`.
* For [Click to Pay One-time passcode (OTP)](https://developer.mastercard.com/click-to-pay-customer-experience-guide/documentation/cx-patterns/one-time-passcode/) and [UPI](/payment-methods/upi): when the shopper enters invalid input, the field now correctly displays an error message.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.26.0):

```sh
npm install @adyen/adyen-web@6.26.0
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/development-resources/live-endpoints#checkout-js-endpoints), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.26.0/adyen.js"
     integrity="sha384-4RtWV9yji3GpRQOwPEEjTE0XBKVGmkhjduH1pvmyQ88LNlfjnIulrl7x38Wjv/MJ"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.26.0/adyen.css"
     integrity="sha384-3eJxqV5omWAnw6KjcJMskRFLSnIWLpV5t4D08UKj8eQB9WgOUspmhZ2nIxwr9cF9"
     crossorigin="anonymous">
```

## 2025-11-18 — Checkout API

### New

In the [/storedPaymentMethods](https://docs.adyen.com/api-explorer/Checkout/latest/get/storedPaymentMethods) response:

* The [storedPaymentMethods.mandate](https://docs.adyen.com/api-explorer/Checkout/latest/get/storedPaymentMethods#responses-200-storedPaymentMethods-mandate) object. For stored payment details that have an associated mandate that specifies the how the payment details can be used (for example: a [mandate for SEPA Direct Debit](https://www.europeanpaymentscouncil.eu/what-we-do/epc-payment-schemes/sepa-direct-debit/sdd-mandate)), you now get the details of the mandate.

  Example response including the `mandate` object for stored details for UPI Intent:

  ```bash
  {
    "merchantAccount": "ADYEN_MERCHANT_ACCOUNT",
    "shopperReference": "your-shopper-reference-123",
    "storedPaymentMethods": [
      {
        "brand": "upi_intent",
        "id": "Z58FGTKBRCQ2WN27",
        "mandate": {
          "amount": "7005",
          "amountRule": "max",
          "billingAttemptsRule": "on",
          "billingDay": "24",
          "currency": "INR",
          "endsAt": "2026-08-09",
          "frequency": "adhoc",
          "mandateId": "123abc-abc123...",
          "providerId": "123abc-abc123...",
          "remarks": "mandate name/remarks",
          "startsAt": "2024-08-07",
          "status": "active",
          "txVariant": "upi_intent"
          },
          "supportedRecurringProcessingModels": [
            "CardOnFile",
            "Subscription",
            "UnscheduledCardOnFile"
          ],
        "type": "upi"
      }
    ]
  }
  ```

## 2025-11-12 — iOS Components/Drop-in — Version 5.21.1

*\<p>We recommend that you use \<a href="/online-payments/release-notes?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=71">Checkout API v71\</a> or later.\</p>*

### Fixed

* For PayTo: fixed phone number formatting to include the missing hyphen between country code and local number in the [/payments](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments) request, for example: **+61-0666555444**.

## 2025-11-11 — Android Components/Drop-in — Version 5.15.0

*\<p>We recommend that you use \<a href="/online-payments/release-notes?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=71">Checkout API v71\</a> or later.\</p>*

### Fixed

* For SEPA: when the shopper returns to the app after switching away, the component now correctly retains its previous state.
* For 3D Secure 2: if the shopper selects **Cancel** before the challenge is displayed, the challenge is no longer displayed.
* On devices running Android 15 and later: the `onError()` callback is no longer triggered for **Await**, **QR code**, and **Twint** actions when the shopper leaves and returns to the app.

### Improved

* For PayTo: the phone number input now allows leading zeros.
* For PIX: the QR code is now displayed, and the copyable code is displayed above the **Copy code** button.

## 2025-11-06 — Web Components/Drop-in — Version 6.25.1

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### Improved

* For QR code and voucher payment methods: internal logic and styling updates for a more consistent user experience and better accessibility.

### Fixed

* For the Card Component: the `onAdditionalDetails` event handler now triggers correctly when defined directly on the Component instance. This fixes a regression from [v6.24.0](https://github.com/Adyen/adyen-web/releases/tag/v6.24.0) where it would fail to trigger.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.25.1):

```sh
npm install @adyen/adyen-web@6.25.1
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/development-resources/live-endpoints#checkout-js-endpoints), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.25.1/adyen.js"
     integrity="sha384-baZefgr0+MsmvaL/UdoKcOym2+Snxf0GBCwopMGahl/M9hHul1ty2f3fIb2SG2/5"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.25.1/adyen.css"
     integrity="sha384-TqsUArVcaNhMj9GdL9EJx9QTEcuL6ozA/hqIDJqoj/qDT/FZqjnUWbvMYPVuebMl"
     crossorigin="anonymous">
```

## 2025-11-06 — Flutter Components/Drop-in — Version 1.7.0

*\<p>We recommend that you use \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=71">Checkout API v71\</a> or later. \</p>*

### New

* Pay by Bank is now supported as an instant component. Payment method [type](https://docs.adyen.com/payment-methods/payment-method-types): **paybybank**.

* Support for Swift Package Manager (SPM). When migrating an existing project to Swift Package Manager (SPM), you must manually import modules in your `AppDelegate.swift`:

  * `import AdyenActions`
  * If you apply custom styling to Drop-in, you must also include `import AdyenDropIn`.

### Improved

* For Apple Pay Component: the instantiation of the widget is now more efficient.
* For the Instant Payment Component: streamlined the implementation for Android by removing redundant code.
* For Components: the communication of `platformView` height now includes a type specification.

### Changed

* Dependency versions:

  | Name                                                                                                                                                                        | Version |
  | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
  | [iOS Drop-in/Components](https://docs.adyen.com/online-payments/release-notes/?title%5B0%5D=iOS%20Components%2FDrop-in#releaseNote=2025-11-04-ios-componentsdrop-in-5.21.0) | 5.21.0  |

## 2025-10-30 — Web Components/Drop-in — Version 6.25.0

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### Fixed

* When a button is in `hover` or `focus` state, the styling is now more visible and accessible.
* For the Gift Card Component: error messages now display correctly.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.25.0):

```sh
npm install @adyen/adyen-web@6.25.0
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/development-resources/live-endpoints#checkout-js-endpoints), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.25.0/adyen.js"
     integrity="sha384-F1mB6rb8e5qd32pD0eTBdbYzuLFYQxnrzqVvD6vBwE9xd3BmsQVxtTEYA29OulBZ"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.25.0/adyen.css"
     integrity="sha384-VZtiV4CBOOfoimOhA0rhl6NMHIif6YUvLJeKDKg6SMDzue+OYNmx6oznqozcQXyS"
     crossorigin="anonymous">
```

## 2025-10-28 — iOS Components/Drop-in — Version 5.21.0

*\<p>We recommend that you use \<a href="/online-payments/release-notes?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=71">Checkout API v71\</a> or later.\</p>*

### New

* For Pix: The full bank code is now displayed to allow shoppers highlight and copy it directly.

### Changed

* For PayTo: The phone number input field now accepts leading zeros.

## 2025-10-27 — Pay by Link

### New

* You can now upload a full-width (maximum height: 40px) logo to show in your payment link. In your [Customer Area](https://ca-test.adyen.com/), go to **Pay by Link** > **Themes**.

### Changed

Dependency verions:

| Name        | Version                                                                                                                      |
| ----------- | ---------------------------------------------------------------------------------------------------------------------------- |
| Web Drop-in | 6.19.0 -> [6.23.0](/online-payments/release-notes?version%5B0%5D=6.23.0#releaseNote=2025-10-09-web-componentsdrop-in-6.23.0) |

## 2025-10-24 — Web Components/Drop-in — Version 6.24.0

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

For the Card Component: you must define the `onAdditionalDetails` event handler as a [configuration property of `AdyenCheckout`](https://docs.adyen.com/online-payments/build-your-integration/advanced-flow?platform=Web\&integration=Components\&version=6.23.0#add). Do not define it as a property of the Card Component. If you do so, it fails to trigger.

### Improved

* For the Card Component: the **Expiry date** and **Security code** fields are now stacked vertically on smaller screens to improve layout and usability.

### Fixed

* For Apple Pay: when used as an instant payment method, Apple Pay is now correctly set as the active payment method.
* When an action is initiated using `createFromAction`, the `onAdditionalDetails` event handler now correctly handles the resulting action.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.24.0):

```sh
npm install @adyen/adyen-web@6.24.0
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/development-resources/live-endpoints#checkout-js-endpoints), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.24.0/adyen.js"
     integrity="sha384-M9MubK7ICDMs+4LJERoS/Tul7fHZGDiKg2vDH+XstEapOEjcJaWcMVJE0bOHCch+"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.24.0/adyen.css"
     integrity="sha384-xEGlt9/hLDiPBAjehWksO51I/A7QTBzVK6vr/MObWgaGt1k41gn7w/tykq/+Z/6M"
     crossorigin="anonymous">
```

## 2025-10-16 — iOS Components/Drop-in — Version 5.20.2

*\<p>We recommend that you use \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=71">Checkout API v71\</a> or later. \</p>*

### Fixed

* For apps built with [Xcode 26](https://developer.apple.com/documentation/xcode-release-notes/xcode-26-release-notes): a crash caused by `ObservationManager` no longer occurs when a Component is deallocated.

## 2025-10-14 — React Native Components/Drop-in — Version 2.8.1

*\<p>We recommend that you use \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=71">Checkout API v71\</a> or later. \</p>*

### Fixed

* For Expo integrations:

  * `expo prebuild` now correctly generates imports in `MainActivity.kt`.
  * You are no longer required to use the `--clean` flag when running `expo prebuild` to avoid generating duplicate lines.

## 2025-10-09 — Web Components/Drop-in — Version 6.23.0

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### New

* For the Apple Pay Component: you can now use the `domainName` configuration property to set which domain performs the merchant validation request. This is useful when embedding the Component within an iframe.
* Supported payment method: Bank Transfer is now available in more countries.
* Secured Fields v6.0.0: includes a new JWE version, removes the ACH bundle, and disallows the "compat" version on live environments.

### Improved

* For Fastlane:

  * The legal text has been updated.
  * New analytics events have been added to the shopper recognition flow.

* For Pix: the full bank code is now displayed to allow shoppers to highlight and copy it directly.

* For PayTo: the phone number input field now accepts leading zeros.

* For Google Pay: card brands returned in the [/paymentMethods](https://docs.adyen.com/api-explorer/Checkout/latest/post/paymentMethods) response are now parsed and displayed.

* The Segmented Controller Component is now more responsive on different screen sizes and the font size has been adjusted for better readability.

* When loading third-party scripts, a retry mechanism is now in place to improve resilience against network issues.

* New analytics events are now sent when loading third-party script SDKs.

### Fixed

* For Klarna: the widget can now be opened using the **Enter** key, improving keyboard accessibility.
* For UPI: the checkmark in the app selector now displays correctly.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.23.0):

```sh
npm install @adyen/adyen-web@6.23.0
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/development-resources/live-endpoints#checkout-js-endpoints), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.23.0/adyen.js"
     integrity="sha384-fwC67LcglMpjyKzY7kj0vMbD5b9MZAzsxBj4M92eh7d3vtaBa0hKdUHCUVpHeb2K"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.23.0/adyen.css"
     integrity="sha384-GQvTx/DKyDwPrqukLGTOBzAUHwXJkuUv8vwhr0ynfUapxHMCrzk84rMbd3Q/i74t"
     crossorigin="anonymous">
```

## 2025-10-02 — React Native Components/Drop-in — Version 2.8.0

*\<p>We recommend that you use \<a href="/online-payments/release-notes?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=71">Checkout API v71\</a> or later.\</p>*

### New

* You can now use the new Fabric Native Components: `ApplePayButton` for iOS and `GooglePayButton` for Android.
* For the `AdyenApplePay` and `AdyenGooglePay` modules: you can now use the `isAvailable` method to asynchronously check if a shopper can make a payment before showing the payment button.
* For the `useAdyenCheckout` hook: the new `isReady` property provides an observable state for the readiness of the `<AdyenCheckout>` context.
* The `onSubmit` payload now includes a `supportNativeRedirect` parameter. Pass this to the `/payments` request to improve app-to-app redirects.

### Fixed

* For the Sessions flow: the `onComplete` method from the `<AdyenCheckout>` context now correctly returns a `SessionsResult`.
* For Voucher payments in the Advanced flow: the `onComplete` method is now correctly called.

### Changed

* Dependency versions:

  | Name                                                                                                                 | Version |
  | -------------------------------------------------------------------------------------------------------------------- | ------- |
  | React Native                                                                                                         | 0.78.3  |
  | [iOS Drop-in/Components](/online-payments/release-notes#releaseNote=2025-09-23-ios-componentsdrop-in-5.20.1)         | 5.20.1  |
  | [Android Drop-in/Components](/online-payments/release-notes#releaseNote=2025-08-19-android-componentsdrop-in-5.14.0) | 5.14.0  |

## 2025-10-01 — Flutter Components/Drop-in — Version 2.8.0

*\<p>We recommend that you use \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=71">Checkout API v71\</a> or later. \</p>*

### New

* **Fabric Native Components:** We've introduced new **Fabric Native Components**: `ApplePayButton` for iOS and `GooglePayButton` for Android.
* **Payment Availability Checks:** The `AdyenApplePay` and `AdyenGooglePay` modules now include an **`isAvailable` method**. This allows developers to asynchronously check if a payment can be made before presenting the corresponding button to the user.
* **Context State Observability:** A new **`isReady` property** has been added to the `useAdyenCheckout` hook, providing an observable state for the `<AdyenCheckout>` context's readiness.
* **Improved Redirects:** The payment data payload in `onSubmit` now includes a **`supportNativeRedirect` field**. Passing this property to the `/payments` API improves app-to-app redirects.

### Changed

* Dependencies:

  * **React Native SDK:** The SDK now uses **React Native v0.78.3**.
  * **iOS SDK:** Updated to **5.20.1**.
  * **Android Drop-in:** Updated to **5.14.0**.

### Improved

* Example App

  * The Example app now uses **React Native v0.78.3**.
  * The Example app has been **refactored to TypeScript** for improved type safety.

* **Project Structure:** We've introduced a **better folder structure** for improved organization and maintainability.

### Fixed

* **Sessions Flow:** The `onComplete` method signature from the `<AdyenCheckout>` context now correctly returns a **`SessionsResult`** for the Sessions flow.
* **Voucher Payments:** The `onComplete` method is now also used for Voucher payments in the Advanced flow.

## 2025-09-23 — iOS Components/Drop-in — Version 5.20.1

*\<p>We recommend that you use \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=71">Checkout API v71\</a> or later. \</p>*

### Fixed

* For Drop-in analytics: when only one payment method is available and renders on the screen, the render analytics event is now sent.

## 2025-09-15 — Hosted Checkout

### Removed

* For Mail Order/Telephone Order (MOTO) transactions: Call Center is no longer available. Use [Virtual Terminal](/unified-commerce/mail-order-telephone-order/customer-area/) instead.

## 2025-09-12 — Web Components/Drop-in — Version 6.22.0

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### New

* Support for **UPI Autopay**: shoppers in India can now make recurring payments with UPI.

  * Sessions flow: in the [/sessions](https://docs.adyen.com/api-explorer/Checkout/latest/post/sessions) request, include the `recurringProcessingModel` parameter.
  * Advanced flow: in the [/payments](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments) request, include the `recurringProcessingModel` parameter.

### Improved

* For analytics: the `checkoutAttemptId` is now correctly stored, so that tracking the payment attempt is more reliable when the shopper refreshes the checkout page.

### Fixed

* For Drop-in: keyboard navigation is now predictable when multiple payment methods with issuer lists are present. This prevents the focus from jumping incorrectly, improving accessibility for keyboard-only users.
* For the PayTo Component: the `aria-controls` attribute now points to the correct element ID, so that shoppers that use screen readers get accurate feedback when interacting with the Component.
* For address forms: the `OnAddressSelectedType` TypeScript type is now the same as the returned address object, preventing incorrect type errors.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.22.0):

```sh
npm install @adyen/adyen-web@6.22.0
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/development-resources/live-endpoints#checkout-js-endpoints), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.22.0/adyen.js"
     integrity="sha384-WfiUNFIMZcr3Bkq0qykKk6945hl4Vgt1kr84uXhyH9vPrfvkxgAqbzdtjCpzjhsZ"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.22.0/adyen.css"
     integrity="sha384-PSGNi66eR1EpVWkEpFZt5kUQ0d2GvLKWiYBcIEdfLVU/CliVeoruYAoGET9Ds0V4"
     crossorigin="anonymous">
```

## 2025-09-02 — Flutter Components/Drop-in — Version 1.6.0

*\<p>We recommend that you use \<a href="/online-payments/release-notes?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=71">Checkout API v71\</a> or later.\</p>*

### Improved

* Improved initialization of Google Pay Component.

* For Apple Pay:

  * The component now uses PassKit for its availability check instead of a temporary native Adyen Apple Pay Component.
  * Billing contact fields are now correctly mapped.

* On iOS with the Advanced flow: when an error occurs during a card payment, the loading spinner now stops automatically.

### Changed

* Dependency versions:

  | Name                                                                                                      | Version |
  | --------------------------------------------------------------------------------------------------------- | ------- |
  | [Android Drop-in/Components](/online-payments/release-notes/?title%5B0%5D=Android%20Components%2FDrop-in) | 5.14.0  |
  | [iOS Drop-in version/Components](/online-payments/release-notes/?title%5B0%5D=iOS%20Components%2FDrop-in) | 5.20.0  |

## 2025-08-27 — iOS Components/Drop-in — Version 4.16.0

### New

* Updated [3D Secure 2 SDK to version 2.4.3](https://github.com/Adyen/adyen-3ds2-ios/releases/tag/2.4.3). This version includes a fix for a bug where an object was prematurely released, which could cause the transaction to fail.

## 2025-08-27 — iOS Components/Drop-in — Version 5.20.0

*\<p>We recommend that you use \<a href="/online-payments/release-notes?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=71">Checkout API v71\</a> or later.\</p>*

### New

* Updated [3D Secure 2 SDK to version 2.4.3](https://github.com/Adyen/adyen-3ds2-ios/releases/tag/2.4.3). This version includes a fix for a bug where an object was prematurely released, which could cause the transaction to fail.

### Improved

**Improved the user experience for the UPI component:**

* The QR code flow has been removed. The shopper can pay the following ways:

  * Intent flow: the shopper pays with an installed UPI app.
  * Collect flow: the shopper enters their UPI ID.

* Added new instructions labels for better clarity across all UPI payment flows.

* Minor changes in design to improve the user experience.

* On iOS 17, fixed a bug that caused a crash when `present(viewController:)` was called multiple times in a short timespan. This fixes [Github issue #2182](https://github.com/Adyen/adyen-ios/issues/2182).

## 2025-08-20 — Web Components/Drop-in — Version 6.21.0

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### Improved

* For PIX using Open Finance: UI changes that improve the shopper's checkout experience.

### Fixed

* For the Pay button: updated the alignment and font size of the secondary amount label.
* For co-badged cards: the UI no longer automatically selects a card brand outside of Europe. This allows us to continue least-cost routing (LCR) outside of Europe.
* For ACH: the **Account holder name** field can now be correctly pre-filled based on the data configuration that you set.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.21.0):

```sh
npm install @adyen/adyen-web@6.21.0
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.21.0/adyen.js"
     integrity="sha384-9ACJt6rr08TBRxTTQGUu2qUgAB7UUNvYJFVEqPnFP+8CMotP0VWsJ0ZQEibvyIxp"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.21.0/adyen.css"
     integrity="sha384-0JJkPi5WFgV93vC2lk67gb4iRk/U81LdAR2fsTKRTfpILtk0p+AA8HDAyaOQhUAG"
     crossorigin="anonymous">
```

## 2025-08-19 — Android Components/Drop-in — Version 5.14.0

*\<p>We recommend that you use \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=71">Checkout API v71\</a> or later. \</p>*

### Fixed

* For components that require text input from the shopper: there is no longer a compatibility issue with Material (from version [1.13.0-alpha12](https://github.com/material-components/material-components-android/releases/tag/1.13.0-alpha12) or later) that causes a crash.
* When the device font is large, the input fields now get larger to fit the text.
* When the shopper selects the **Pay** button, the keyboard now automatically gets hidden.

### Changed

* For UPI:

  * The input field for the UPI ID is now in a more user-friendly location on the screen.
  * The option to pay by QR code is removed.

* Dependency versions:

  | Name                                                                          | Now          | Previously |
  | ----------------------------------------------------------------------------- | ------------ | ---------- |
  | [Adyen 3DS2](https://github.com/Adyen/adyen-3ds2-android/releases/tag/2.2.25) | ***2.2.25*** | **2.2.24** |

### Deprecated

* The `Threeds2FingerprintAction` and `Threeds2ChallengeAction` actions are now deprecated. Use `Threeds2Action` instead.

* Configuration and configuration builder classes for Drop-in, payment methods, and actions are now deprecated. Use `CheckoutConfiguration` instead.

* Configuration setter methods are replaced by property access syntax. For example:

  ```kotlin
  CheckoutConfiguration(
      environment = environment,
      clientKey = clientKey,
  ) {
      card {
          // Deprecated
          setHolderNameRequired(true)
          // Replacement
          isHolderNameRequired = true
      }
  }
  ```

* The `setSubmitButtonVisible` method for configuration objects is now deprecated. Use `CheckoutConfiguration` instead:

  ```kotlin
      CheckoutConfiguration(
          ...
          isSubmitButtonVisible = false
      ) {
          ...
      }
  ```

## 2025-08-18 — Pay by Link

### New

Pay by Link now uses [Web Components version 6.19.0](/online-payments/release-notes/?title%5B0%5D=Web%2BComponents%2FDrop-in\&version%5B0%5D=6.19.0).

## 2025-08-18 — Hosted Checkout

### New

Hosted Checkout now uses [Web Components version 6.19.0](/online-payments/release-notes/?title%5B0%5D=Web%2BComponents%2FDrop-in\&version%5B0%5D=6.19.0).

## 2025-08-18 — Web Components/Drop-in — Version 5.71.5

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### Fixed

* For the secondary amount label on the Pay button, updated the alignment and font size.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.71.5):

```sh
npm install @adyen/adyen-web@5.71.5
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                           |
| ------------------------------------ | --------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/development-resources/live-endpoints#checkout-js-endpoints), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.71.5/adyen.js"
     integrity="sha384-Q2xzA67q7cDs4uxwLKRAKf7+X0oqVzoheWolhiBRYvDQLbHTaCghgM+UE2Y7d6BZ"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.71.5/adyen.css"
     integrity="sha384-UyhjL3xoxLXYCa8jDKGA9PWlbdSEAC3v0bxvtmtzagzaTy+PJPkY7i9L6hLTCYS8"
     crossorigin="anonymous">
```

## 2025-08-15 — React Native Components/Drop-in — Version 2.7.3

*\<p>We recommend that you use \<a href="/online-payments/release-notes?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=71">Checkout API v71\</a> or later.\</p>*

### Fixed

* **Android Standalone Action**: when the user swipes or taps outside the dialogue view, the redirect action dialog no longer disappears.
* **GooglePay**: the Google Pay sheet no longer opens randomly.

## 2025-08-12 — Web Components/Drop-in — Version 6.20.0

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### Improved

* For UPI:

  * On mobile devices, the QR code flow has been removed. The shopper now pays with their installed UPI apps (intent flow) or by entering their UPI ID.
  * On desktop devices, the QR code flow is now the default. The shopper can choose to pay with UPI ID instead.
  * A validation alert now asks the shopper to select a UPI app before making the payment.
  * For all payment flows, the text labels now give clear instructions.

### Fixed

* For Click to Pay: if the payment card has the **ACTIVE** or **PENDING** status, it is not treated as expired.

* The installments dropdown menu now has the border and background color. Previously, a styling issue caused the border and background color to be missing.

* The Icelandic translation for the `storeDetails` property is now correct.

* TypeScript fixes:

  * The `PaymentData` interface now includes billing address and shopper details.
  * `CardConfiguration` now includes the `onAddressSelected` callback type.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.20.0):

```sh
npm install @adyen/adyen-web@6.20.0
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.20.0/adyen.js"
     integrity="sha384-wwv9sSo6gqlAMGJSdvvAh2o68nLbrY/S/tdiiyCIv2h2WIHVZbaOSidsSslZXKY0"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.20.0/adyen.css"
     integrity="sha384-QsZA2+tsTsmvum+u6LI6zzWz8rMyegkVXjCbtHd7UvoCQG8BSNM55KojZDUHlP66"
     crossorigin="anonymous">
```

## 2025-08-11 — Web Components/Drop-in — Version 5.71.4

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### Fixed

For Click to Pay: if the payment card has the **ACTIVE** or **PENDING** status, it is not treated as expired.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.71.4):

```sh
npm install @adyen/adyen-web@5.71.4
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                           |
| ------------------------------------ | --------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.71.4/adyen.js"
     integrity="sha384-kyC3YSZA7ZvklsASfrZOHcVV73EPCchcdeuwOXXn6s9aSn/f6tN44njg3ubYPgZK"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.71.4/adyen.css"
     integrity="sha384-5MvB4RnzvviA3VBT4KYABZ4HXNZG5LRqREEgd41xt/pf/QvKmsj2O9GuNuywRXx9"
     crossorigin="anonymous">
```

## 2025-08-04 — React Native Components/Drop-in — Version 2.7.2

*\<p>We recommend that you use \<a href="/online-payments/release-notes?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=71">Checkout API v71\</a> or later.\</p>*

### Changed

* * Example app version: [React Native v0.77.1](https://www.reactnative.com/react-native-v0-77-released).

### Fixed

* Drop-in on Android now works with [New Architecture](https://docs.expo.dev/guides/new-architecture/). It no longer requires [bridgeless](https://github.com/reactwg/react-native-new-architecture/discussions/154) mode.

## 2025-07-18 — React Native Components/Drop-in — Version 2.7.1

*\<p>We recommend that you use \<a href="/online-payments/release-notes?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=71">Checkout API v71\</a> or later.\</p>*

### New

* Added **Swift support** for [Expo](https://expo.dev/).

### Improved

* Updated versions:

  | SDK                        | Version                                                                                                                            |
  | -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
  | iOS Drop-in/Components     | [5.19.1](/online-payments/release-notes/?title%5B0%5D=iOS%20Components%2FDrop-in\&version%5B0%5D=5.19.1)                           |
  | Android Drop-in/Components | [5.13.1](https://docs.adyen.com/online-payments/release-notes/?title%5B0%5D=Android%20Components%2FDrop-in\&version%5B0%5D=5.13.1) |

* **Apple Pay:** the amount displayed on the payment sheet is now correctly updated after a partial payment.

### Fixed

* **iOS Drop-in:** Gift cards and meal vouchers are now correctly displayed in the payment method list.
* **Android Redirect:** The redirect action dialog no longer disappears when a user swipes or taps outside the dialog view.
* **Android Drop-in:** The status bar color is now transparent in the base theme.
* **Cards:** The UI for selecting a card brand for a [co-badged card](/online-payments/co-badged-cards-compliance/) now only appears for supported brands.

## 2025-07-14 — iOS Components/Drop-in — Version 5.19.2

*\<p>We recommend that you use \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=71">Checkout API v71\</a> or later. \</p>*

### Fixed

* For Apple Pay: the amount on the payment sheet is now correctly updated after a partial payment.

* For cards: in the payment form, the UI to [select a card brand for a co-badged card](https://docs.adyen.com/online-payments/co-badged-cards-compliance/) now appears only if the the following brands are available:

  * Cartes Bancaires (`cartebancaire`)
  * Bancontact card (`bcmc`)
  * Dankort (`dankort`)

## 2025-07-11 — Web Components/Drop-in — Version 6.19.0

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### New

* For bank transfer payment methods: UI changes give an improved shopper experience and accessibility elements.

### Improved

* For Drop-in: when the shopper selects a stored card, the mechanism to show the name of the brand and `alt` text is improved.
* For ACH: the pay button now has the text **Pay {amount}**. Previously the text was **Continue purchase**.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.19.0):

```sh
npm install @adyen/adyen-web@6.19.0
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.19.0/adyen.js"
     integrity="sha384-SlJx1nDfQ96sc8kVLd5ry7FzM9wMqYrXiLnzC2AZe8V9KBozIeiHujnXB9BAflpI"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.19.0/adyen.css"
     integrity="sha384-cHD6qQJ+2voy6V6f6h5byCjgRXN1N9jdJ9EYO9xxkFulN/dd7hdupC1DehdPYRrp"
     crossorigin="anonymous">
```

## 2025-07-10 — Android Components/Drop-in — Version 5.13.1

*\<p>We recommend that you use \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=71">Checkout API v71\</a> or later. \</p>*

### Fixed

* For Drop-in: in the base theme, the color of the status bar is now transparent.
* For cards: the UI to select the brand for co-badged cards no longer appears for brands that are not supported.

## 2025-07-08 — Flutter Components/Drop-in — Version 1.5.1

*\<p>We recommend that you use \<a href="/online-payments/release-notes?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=71">Checkout API v71\</a> or later.\</p>*

### New

* Android Components/Drop-in version: [5.13.0](/online-payments/release-notes/?title%5B0%5D=Android%20Components%2FDrop-in#releaseNote=2025-07-02-android-componentsdrop-in-5.13.0).

### Fixed

* For card payments on Android, the expiry date field now works correctly when the shopper leaves the app, and resumes it from the background. This fixes the known issue in v1.5.0.

## 2025-07-07 — Checkout API

### New

* For the [/payments/{paymentPspReference}/captures](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments/\(paymentPspReference\)/captures) request: the `enhancedSchemeData` parameter. You can use it, for example, for data required for payments in the airline industry.

  We recommend that you use this instead of the [Classic API /capture](https://docs.adyen.com/api-explorer/Payment/latest/post/capture) endpoint.

## 2025-07-03 — Web Components/Drop-in — Version 6.18.1

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### Improved

* For cards: the UI to select the brand for co-badged cards appears only for brands that are supported.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.18.1):

```sh
npm install @adyen/adyen-web@6.18.1
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.18.1/adyen.js"
     integrity="sha384-RGepcYYsxt51pgY+csjfo4hEh9Rqb6Nz0rz2io1/VjGjGHQSgfwaU8As0IMIrQLi"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.18.1/adyen.css"
     integrity="sha384-lCDmpxn4G68y4vohxVVEuRcbz4iZTDh1u/FLlsCV1wSbibWKs+knhLQpgzPBqap4"
     crossorigin="anonymous">
```

## 2025-07-02 — Android Components/Drop-in — Version 5.13.0

*\<p>We recommend that you use \<a href="/online-payments/release-notes?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=71">Checkout API v71\</a> or later. \</p>*

If you use 3DS2 with Drop-in or Components, and your app targets **SDK version 36 (Android 16)**, upgrading to this version is important to ensure proper compatibility and avoid potential issues during build or runtime.

### New

* For Google Pay, added the `checkoutOption` configuration which you can use to change the submit button text shown in the Google Pay sheet.

### Fixed

* For card payments, the expiry date field now works correctly when the shopper leaves the app, and resumes it from the background. This fixes the known issue in earlier versions.

### Changed

* Dependency versions:

  | Name                                                                          | Version |
  | ----------------------------------------------------------------------------- | ------- |
  | [Adyen 3DS2](https://github.com/Adyen/adyen-3ds2-android/releases/tag/2.2.24) | 2.2.24  |

## 2025-06-27 — Checkout API

### Changed

* For the [/sessions](https://docs.adyen.com/api-explorer/Checkout/latest/post/sessions) endpoint:
  * In the response, the length of the `sessionId` value has increased to 25 characters.

## 2025-06-27 — Pay by Link

### Changed

* For the [/paymentLinks](https://docs.adyen.com/api-explorer/Checkout/latest/post/paymentLinks) endpoint:
  * In the response, the length of the `id` value has increased to 25 characters.

## 2025-06-24 — React Native Components/Drop-in — Version 2.7.0

*\<p>We recommend that you use \<a href="/online-payments/release-notes?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=71">Checkout API v71\</a> or later.\</p>*

### New

* iOS Components/Drop-in version: [5.19.1](/online-payments/release-notes#releaseNote=2025-06-16-ios-componentsdrop-in-5.19.1).
* Android Components/Drop-in version: [5.12.0](/online-payments/release-notes?title%5B0%5D=Android%20Components%2FDrop-in#releaseNote=2025-06-06-android-componentsdrop-in-5.12.0).
* When the shopper enters the details for a co-badged card, the available brand options are now shown in a separate section in the payment form.
* If you use Expo, the minimum version requirement is now 52 due to Android Target API Level requirements.

### Improved

* Improved the UI for stored cards in the [example app](https://github.com/Adyen/adyen-react-native/tree/develop/example).

### Known Issues

* For card payments with Drop-in and the Component, the card expiry date field functions incorrectly when the shopper leaves the app, and resumes it from the background. We will fix this issue in the next release.

## 2025-06-18 — Web Components/Drop-in — Version 6.18.0

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### New

* For bank transfer payment methods: added support for the following payment method types (`TxVariants` values).

  * **bankTransfer\_BE**
  * **bankTransfer\_NL**
  * **bankTransfer\_PL**
  * **bankTransfer\_FR**
  * **bankTransfer\_CH**
  * **bankTransfer\_IE**
  * **bankTransfer\_GB**
  * **bankTransfer\_DE**

### Improved

* To follow [a11y](https://www.a11yproject.com) guidelines: for screen reader errors related to gift card payment methods, improved how errors are handled.
* For Fastlane: the utility function on the Universal Module Definition (UMD) bundle is now exposed.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.18.0):

```sh
npm install @adyen/adyen-web@6.18.0
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.18.0/adyen.js"
     integrity="sha384-ZEPvk8M++Rrf/1zMUvnfdO73cZlnj/u9oAGHSeUIIgOXoW0ZrwfyB6pBcIrhDbdd"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.18.0/adyen.css"
     integrity="sha384-lCDmpxn4G68y4vohxVVEuRcbz4iZTDh1u/FLlsCV1wSbibWKs+knhLQpgzPBqap4"
     crossorigin="anonymous">
```

## 2025-06-18 — Flutter Components/Drop-in — Version 1.5.0

*\<p>We recommend that you use \<a href="/online-payments/release-notes?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=71">Checkout API v71\</a> or later.\</p>*

### New

* Android Components/Drop-in version: [5.12.0](/online-payments/release-notes?title%5B0%5D=Android%20Components%2FDrop-in#releaseNote=2025-06-06-android-componentsdrop-in-5.12.0).
* iOS Components/Drop-in version: [5.19.1](/online-payments/release-notes#releaseNote=2025-06-16-ios-componentsdrop-in-5.19.1).

### Improved

* Improved how the Apple pay bottom sheet closes when dismissing Drop-in.
* When the shopper enters the details for a co-badged card, the available brand options are now shown in a separate section in the payment form.

### Known Issues

* For card payments with Drop-in and the Component, the card expiry date field functions incorrectly when the shopper leaves the app, and resumes it from the background. We will fix this issue in the next release.

## 2025-06-16 — iOS Components/Drop-in — Version 5.19.1

*\<p>We recommend that you use \<a href="/online-payments/release-notes?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=71">Checkout API v71\</a> or later.\</p>*

### Improved

* Small UI improvements for co-badged cards brand selection.

## 2025-06-11 — Web Components/Drop-in — Version 6.17.0

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### New

* Supported payment method:

  | Name                                                     | [Payment method type](/payment-methods/payment-method-types/) |
  | -------------------------------------------------------- | ------------------------------------------------------------- |
  | Electronic Funds Transfer Pre-Authorized Debit (EFT PAD) | **eft\_directdebit\_CA**                                      |

  Use the [`PreAuthorizedDebitCanada`](https://github.com/Adyen/adyen-web/blob/main/packages/lib/src/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.tsx) Component.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.17.0):

```sh
npm install @adyen/adyen-web@6.17.0
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.17.0/adyen.js"
     integrity="sha384-5Osour7FS1pCTlxBjRBebSxRQRc5nqkmGymTwtcyOB/beMzqwoPPXvwQW4zMGWQl"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.17.0/adyen.css"
     integrity="sha384-lCDmpxn4G68y4vohxVVEuRcbz4iZTDh1u/FLlsCV1wSbibWKs+knhLQpgzPBqap4"
     crossorigin="anonymous">
```

## 2025-06-06 — Android Components/Drop-in — Version 5.12.0

*\<p>We recommend that you use \<a href="/online-payments/release-notes?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=71">Checkout API v71\</a> or later.\</p>*

### Improved

* For cards, enhanced the accessibility labels so that the screen reader provides more context on the expiry date and security code fields.
* Small UI improvements for co-badged cards brand selection.

### Known Issues

* For card payments with Drop-in and the Component, the card expiry date field functions incorrectly when the shopper leaves the app, and resumes it from the background. We will fix this issue in the next release.

## 2025-06-06 — iOS Components/Drop-in — Version 5.19.0

*\<p>We recommend that you use \<a href="/online-payments/release-notes?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=71">Checkout API v71\</a> or later.\</p>*

### Improved

* For cards, enhanced the accessibility labels so that the screen reader provides more context on the expiry date and security code fields.

## 2025-06-05 — Web Components/Drop-in — Version 6.16.0

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### New

* For UPI: the input field for the UPI ID now has the label **UPI ID**. Previously, it had the label **Enter UPI ID**.
* For cards: when the shopper pays with a co-badged card, the UI now preselects the brand and clearly gives the shopper the option to choose their preferred brand. This UI complies with guidelines from card schemes.

### Improved

* To follow [a11y](https://www.a11yproject.com) guidelines, when only one payment method is available, Drop-in shows the payment method in a [non-semantic `div` element](https://www.w3schools.com/html/html5_semantic_elements.asp). Previously, Drop-in showed a radio button.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.16.0):

```sh
npm install @adyen/adyen-web@6.16.0
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.16.0/adyen.js"
     integrity="sha384-z+5H2eotWjz4AsUdyech6rIsNed9U4Djg64//8gFcKEjiunGxFX0jbgNT7HnQDU6"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.16.0/adyen.css"
     integrity="sha384-gZ3Y+XUeQvjvfxGVMdSVoxLYfr4QVh51SY+2cSwwl8/GakG70InEV3jaJi0a3Wt7"
     crossorigin="anonymous">
```

## 2025-05-28 — Web Components/Drop-in — Version 6.15.0

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### Improved

For cards: when the payment form loads, the Pay button now loads at the same time as the other UI elements.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.15.0):

```sh
npm install @adyen/adyen-web@6.15.0
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.15.0/adyen.js"
     integrity="sha384-SSCBVX2COaWM0dS0npjwgeRd4hDYHsP4xZszGMevWsI3dj43t8EC+e/dqC+bVbeX"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.15.0/adyen.css"
     integrity="sha384-ODc8GMocQjMZSrUE8EPELbkkKBsF2kOhxWQO2MSpRoh1/X/5V43Dpbv92D1mgYhq"
     crossorigin="anonymous">
```

## 2025-05-28 — iOS Components/Drop-in — Version 5.18.1

*\<p>We recommend that you use \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=71">Checkout API v71\</a> or later. \</p>*

### Fixed

* **Improved card brand display for co-badged cards, for a clearer and more familiar shopper experience.**\
  When the shopper uses a co-badged card, the UI now displays the local brand name (for example, **Bancontact card**). If a local brand name is not available, the generic brand type (for example, **BCMC**) is used as a fallback.

## 2025-05-23 — iOS Components/Drop-in — Version 5.18.0

*\<p>We recommend that you use \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=71">Checkout API v71\</a> or later. \</p>*

### New

* For cards: when the shopper enters the details for a co-badged card in the payment form, they can now select the card brand they want to pay with.
* When you are using an [enforced locale](https://github.com/Adyen/adyen-ios/blob/develop/Adyen.docc/Localization.md#enforcing-locale), you can now add new localizations or override strings.

### Fixed

* For the Bancontact Card Component (`BCMCComponent`): when you specify [custom localization parameters](https://github.com/Adyen/adyen-react-native/blob/develop/docs/Localization.md), the Component now correctly uses them.

## 2025-05-16 — React Native Components/Drop-in — Version 2.6.1

### Fixed

* Fixed an issue where running `expo prebuild` could generate incorrect `imports` in `MainActivity.kt`.
* Running `expo prebuild`, no longer requires the `--clean` flag and does not generate duplicate lines.
* For Android, fixed a crash in `AddressLookup` that was caused by a missing address field in the `onUpdateAddress` array.

## 2025-05-16 — Android Components/Drop-in — Version 5.11.0

*\<p>We recommend that you use \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=71">Checkout API v71\</a> or later. \</p>*

### Fixed

* For Drop-in:

  * [Predictive back navigation](https://developer.android.com/guide/navigation/custom-back/predictive-back-gesture) is disabled to be compatible with Android 16.
  * When the payment form loads, the first input field is now automatically in focus.

* When an analytics event fails to be tracked, because the Component was cleared unexpectedly, Drop-in/Components no longer crashes.

* For the address lookup feature, the full country name in the **Search for your address** field is now shown. Previously, the country code was shown.

### Improved

* For Card Component: when the shopper enters the details for a co-badged card, they can now see the available brand options in a separate section in the payment form.

### Changed

* Dependency versions:

  | Name                                                                                | Version |
  | ----------------------------------------------------------------------------------- | ------- |
  | [Android Gradle Plugin](https://developer.android.com/build/releases/gradle-plugin) | 8.8.1   |

## 2025-05-15 — Web Components/Drop-in — Version 6.14.0

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### New

* The Riverty Component is now a redirect component. When the shopper pays with Riverty, they get redirect to a Riverty-hosted page to complete the payment.

### Improved

* For Drop-in: you can now use the `filterStoredPaymentMethods` callback to choose which stored payment methods are displayed in the payment form.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.14.0):

```sh
npm install @adyen/adyen-web@6.14.0
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.14.0/adyen.js"
     integrity="sha384-/SADosJ6WHBuRzjvhGvxmOn+iH2C+d39X1A8xLehzmcjwonZWxFuvjzj0eGZzuqf"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.14.0/adyen.css"
     integrity="sha384-Uc2+7uMS+7KgxjNMPhpVZquar2b655d1RaUPWe/mJMO94euXqphe5aEzlj70wNS4"
     crossorigin="anonymous">
```

## 2025-05-12 — Web Components/Drop-in — Version 5.71.3

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### Fixed

When using the [Safari 18.4](https://developer.apple.com/documentation/safari-release-notes/safari-18_4-release-notes) browser on mobile, copying to the clipboard and pasting now works.

### Breaking Changes

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.71.3):

```sh
npm install @adyen/adyen-web@5.71.3
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                           |
| ------------------------------------ | --------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.71.3/adyen.js"
     integrity="sha384-h7QxpVlO2smphapKzNlkdxIgFRkuoKQJLZhwfgCpU6Jjy++gKbc+r6mwn90P69Sh"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.71.3/adyen.css"
     integrity="sha384-5MvB4RnzvviA3VBT4KYABZ4HXNZG5LRqREEgd41xt/pf/QvKmsj2O9GuNuywRXx9"
     crossorigin="anonymous">
```

## 2025-05-12 — Web Components/Drop-in — Version 6.13.1

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### Fixed

When using the [Safari 18.4](https://developer.apple.com/documentation/safari-release-notes/safari-18_4-release-notes) browser on mobile, copying to the clipboard and pasting now works.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.13.1):

```sh
npm install @adyen/adyen-web@6.13.1
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.13.1/adyen.js"
     integrity="sha384-RxGQ2speO8mIr2OdCCtePyAvtV1Px+IabbiDa7f3EcYsU5vKOpVXV80/x21lAB4R"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.13.1/adyen.css"
     integrity="sha384-Uc2+7uMS+7KgxjNMPhpVZquar2b655d1RaUPWe/mJMO94euXqphe5aEzlj70wNS4"
     crossorigin="anonymous">
```

## 2025-05-06 — Web Components/Drop-in — Version 6.13.0

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### New

* Supported payment method:

  | Name               | [Payment method type](/payment-methods/payment-method-types/) |
  | ------------------ | ------------------------------------------------------------- |
  | Fastlane by PayPal | **fastlane**                                                  |

* For Apple Pay, you can now disable editing the shipping address. You can use this for checkout options with in-store pickup. Use the [configuration parameter `shippingContactEditingMode`](https://developer.apple.com/documentation/applepayontheweb/applepaypaymentrequest/shippingcontacteditingmode): **storePickup**.

### Fixed

* For Google Pay, `isValid` is now always set to **true**.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.13.0):

```sh
npm install @adyen/adyen-web@6.13.0
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.13.0/adyen.js"
     integrity="sha384-CBUu7OtS6E6Ys1RtLZpGr3lwO0ofNycTs2DRYgEJMuYNMm7SjxUz/4NOzoztMjkw"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.13.0/adyen.css"
     integrity="sha384-Uc2+7uMS+7KgxjNMPhpVZquar2b655d1RaUPWe/mJMO94euXqphe5aEzlj70wNS4"
     crossorigin="anonymous">
```

## 2025-05-06 — Pay by Link

### Fixed

* For Google Pay, Apple Pay, and other payment methods: when a payment is successful, the error message with **request\_timeout** no longer shows up.
* For the **Terms and conditions** modal: when the shopper's `shopperLocale` language is the same as the browser's language setting, the text no longer gets set to English.

## 2025-04-30 — React Native Components/Drop-in — Version 2.6.0

### New

* [Expo Prebuild](https://docs.expo.dev/workflow/continuous-native-generation/#usage) now works with both modern Android API level 52 or later, and earlier levels.
* For cards, you can now configure the `onBinLookup` and `onBinValue` callbacks.
* Android Components/Drop-in version: [5.10.0](/online-payments/release-notes/?title%5B0%5D=Android%2BComponents%2FDrop-in#releaseNote=2025-04-07-android-componentsdrop-in-5.10.0).
* iOS Components/Drop-in version: [5.17.0](/online-payments/release-notes/?title%5B0%5D=iOS%2BComponents%2FDrop-in#releaseNote=2025-04-08-ios-componentsdrop-in-5.17.0).
  * For [native 3D Secure 2](/online-payments/3d-secure/native-3ds2/?platform=iOS\&integration=Drop-in\&version=5.0.0%20and%20later), when a shopper cancels the payment during the payment flow, the `didProvide(...)` delegate method is now triggered.
* Payment method: [PayTo](https://docs.adyen.com/payment-methods/payto/), with support for recurring payments. [Payment method type](https://docs.adyen.com/payment-methods/payment-method-types/): **payto**.

### Fixed

* Fixed an issue where iDeal opened in the Drop-in instead of the instant payment component.
* For iOS, fixed a modal presentation issue when `SFSafariViewController` is dismissed with its presenter.

## 2025-04-22 — Pay by Link

### New

* Supported payment method: PayTo. [Payment method type](/payment-methods/payment-method-types/): **payto**.

## 2025-04-22 — Hosted Checkout

### New

* Supported payment method: PayTo. [Payment method type](/payment-methods/payment-method-types/): **payto**.

## 2025-04-22 — Flutter Components/Drop-in — Version 1.4.0

### New

* For Sessions and Advanced flows, added methods to dismiss Drop-in.
* For the card component and cards within Drop-in, added support for BIN lookup callbacks that will be\
  called when the shopper enters their card details.
* Added a custom card Flutter widget to the example app using CSE and card validators.
* Android Components/Drop-in version: [5.10.0](/online-payments/release-notes/#releaseNote=2025-04-07-android-componentsdrop-in-5.10.0).
* iOS Components/Drop-in version: [5.17.0](/online-payments/release-notes/#releaseNote=2025-04-08-ios-componentsdrop-in-5.17.0).

### Changed

* Minimum SDK version: Flutter [3.16.0](https://docs.flutter.dev/release/release-notes/release-notes-3.16.0)/Dart 3.2.

### Breaking Changes

* For native 3D Secure 2, when a shopper cancels the payment during the payment flow, the\
  `onAdditionalDetails` callback is now triggered. The payment flow no longer ends with\
  **CANCELLED\_BY\_USER**. The `onAdditionalDetails` callback returns the details of the cancelled transaction.

## 2025-04-16 — Web Components/Drop-in — Version 6.12.0

*\<p>We recommend that you use \<a href="/online-payments/release-notes?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=71">Checkout API v71\</a> or later.\</p>*

### Improved

* For ACH, added a drop-down to select account type and input field to verify the account number.
* `browserInfo.ts` no longer calls the deprecated `navigator.javaEnabled` function.

### Fixed

* We made corrections to Finnish translations.
* Added missing Typescript types to `CustomCardConfiguration` and `ApplePayButtonType`.
* For Google Pay, we fixed an issue where the component did not recognize the `paywithgoogle` payment method.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.12.0):

```sh
npm install @adyen/adyen-web@6.12.0
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/development-resources/live-endpoints#checkout-js-endpoints), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.12.0/adyen.js"
     integrity="sha384-lkNObU5mHrs2GJly3O7iZEGFdUdcdAjoH1dKEsQY+ZhO3ojfG14QcO3ikInuD/Dn"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.12.0/adyen.css"
     integrity="sha384-Mqbo+DnFmD8lJkLQR657b0nBydWCO5GobXzKKR1avvEF9UYyoaN7KqiDvUE4epeW"
     crossorigin="anonymous">
```

## 2025-04-11 — Pay by Link

### Changed

* For Google Pay, you can no longer use **paywithgoogle** as a TX variant, use **googlepay** instead.

## 2025-04-11 — Hosted Checkout

### Changed

* For Google Pay, you can no longer use **paywithgoogle** as a TX variant, use **googlepay** instead.

## 2025-04-08 — iOS Components/Drop-in — Version 5.17.0

### New

* Payment method: [PayTo](/payment-methods/payto). [Payment method type](/payment-methods/payment-method-types/): **payto**.

### Changed

* [Adyen Networking for iOS](https://github.com/Adyen/adyen-networking-ios) version: 3.0.1
* [Adyen WeChat Pay for iOS](https://github.com/Adyen/adyen-wechatpay-ios) version: 2.2.0

### Fixed

* For the card component:

  * Updated the separator layout to to be centered in the container view.
  * The security code and card number logo edges are now aligned with the input field edges.

## 2025-04-07 — Hosted Checkout

### Removed

* The back button on the payment page. Previously, the shopper could select the back button while the payment was processing, which caused issues with the payment session.

## 2025-04-07 — Android Components/Drop-in — Version 5.10.0

### New

* Payment method: [PayTo](/payment-methods/payto), with support for recurring payments. [Payment method type](/payment-methods/payment-method-types/): **payto**.

### Fixed

* For 3D Secure 2, the subsequent challenges after an initial failed challenge can still be completed successfully. Previously, the subsequent challenges failed automatically.

## 2025-03-31 — Checkout API

### New

* Added the `encryptedCard` parameter to the [/storedPaymentMethods](https://docs.adyen.com/api-explorer/Checkout/latest/post/storedPaymentMethods) endpoint. This parameter is used for [card encryption with JWE](/online-payments/card-encryption-with-jwe/#encrypt-card-details).

## 2025-03-28 — Pay by Link

### New

* Pay by Link is now using [Web Components v6.9.0](/online-payments/release-notes#releaseNote=2025-02-28-web-componentsdrop-in-6.9.0).

## 2025-03-28 — Hosted Checkout

### New

* Pay by Link is now using [Web Components v6.9.0](/online-payments/release-notes#releaseNote=2025-02-28-web-componentsdrop-in-6.9.0).

## 2025-03-24 — Web Components/Drop-in — Version 6.11.0

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### Improved

* For cards, when the shopper enters their card number in the **Card number** field, the length of the card number is no longer restricted based on the Bank Identification Number (BIN).

### Fixed

* For Apple Pay in apps that use [server-side rendering](https://developer.mozilla.org/en-US/docs/Glossary/SSR): the iframe detection code no longer crashes when rendering. This fixes the known issue from v6.10.0.
* For cards, when you select the icon for an inoput field, the corresponding field now correctly gets the focus state.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.11.0):

```sh
npm install @adyen/adyen-web@6.11.0
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.11.0/adyen.js"
     integrity="sha384-wwiuyx0VwdDwaHvlLtdCKeUuFCNIMDrWrQI24PdEMMMGgOZPHirMZfXHNgrk6DG5"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.11.0/adyen.css"
     integrity="sha384-grpuyJ9vAlVrx/mBLXLO3V2f9W3m5KKYx34MzigvvPqArvi0WqWoD/Pl++yf15EU"
     crossorigin="anonymous">
```

## 2025-03-19 — Web Components/Drop-in — Version 6.10.0

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### New

* You can now offer Apple Pay on third-party browsers. See [offering Apple Pay on the web](/payment-methods/apple-pay/web-drop-in/#offering-apple-pay-on-web) to learn more.

### Fixed

* For Drop-in, when using Google Pay as an instant payment type, the `challengeWindowSize` is now handled correctly.
* Fixed Brazilian social security number translation (CPF/CNPJ) for different languages.
* Fixed an issue where the exposed types for Google Pay and Apple Pay were not being found.

### Improved

* For single branded cards, the error message shown to when there configuration is incorrect is updated.
* Improved the contrast, `aria-expand` attribute for radio buttons, and SVG alt descriptions to follow [a11y](https://www.a11yproject.com/) guidelines.
* For Google Pay, an error is thrown when the configuration is missing the required merchant ID.

### Known Issues

* For Apple Pay in apps that use [server-side rendering](https://developer.mozilla.org/en-US/docs/Glossary/SSR): the iframe detection code crashes when rendering. Fixed in v6.11.0.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.10.0):

```sh
npm install @adyen/adyen-web@6.10.0
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.10.0/adyen.js"
     integrity="sha384-5Ap94ieGmXx0NDabfqCVukN/u71uJF2mMy3tui6ABJutx9cHXjgE6D19C90ajh+5"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.10.0/adyen.css"
     integrity="sha384-grpuyJ9vAlVrx/mBLXLO3V2f9W3m5KKYx34MzigvvPqArvi0WqWoD/Pl++yf15EU"
     crossorigin="anonymous">
```

## 2025-02-28 — Web Components/Drop-in — Version 6.9.0

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### New

* Supported payment method: PayTo. [Payment method type](/payment-methods/payment-method-types/): **payto**.

### Improved

* When the shopper selects the **Pay** button, the Open Invoice and ACH Components become disabled.
* For Boleto: additional properties have been added to the `BoletoConfiguration` TypeScript interface.
* For cards: the `onAutoComplete` type has been added to the `CustomCardConfiguration` type.
* For Google Pay: the `challengeWindowSize` type has been added to the `GooglePayComponent` TypeScript interface.

### Fixed

* For Google Pay: when you call `reject` on the `onClick` event, an unhandled exception can no longer be triggered.
* For gift cards: when the shopper pays with a second gift card the UI no longer becomes unresponsive.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.9.0):

```sh
npm install @adyen/adyen-web@6.9.0
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.9.0/adyen.js"
     integrity="sha384-VB3SxkD+sTFJL36cbTToRDKrdvAJWmdf7t42zY4Z7wU9BdqvRjNtAof2qTQjPa/n"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.9.0/adyen.css"
     integrity="sha384-Qy8fmdXhmf9H2Pgbmr7b0UkpeSvi7n3RFhpoZXYQPGpKIn9SH+0fT4905fsSA8Am"
     crossorigin="anonymous">
```

## 2025-02-24 — Android Components/Drop-in — Version 5.9.1

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=71">Checkout API v71\</a> or later.\</p>*

### Improved

* For the [address lookup feature](/payment-methods/cards/android-component/#address-lookup):

  * The input is now retained when changing countries.
  * The loading spinner moved to the search bar to prevent "jumping" of the view.
  * The keyboard is now hidden when:
  * An address is selected.
  * A search query is submitted
  * The manual entry button is selected.

### Changed

* For the address lookup feature, the address format is now two lines.

* For Google Pay, when a user cancels the flow, you now get `GooglePayCancellationException` in `onError`.

* The minimum supported [SDK versions](/online-payments/upgrade-your-integration#android):

  | Name                | Version |
  | ------------------- | ------- |
  | Compile SDK version | 35      |
  | Target SDK version  | 35      |

* Dependency versions:

  | Name                                                                                                 | Version       |
  | ---------------------------------------------------------------------------------------------------- | ------------- |
  | [AndroidX Activity](https://developer.android.com/jetpack/androidx/releases/activity#1.10.0)         | `1.10.0`      |
  | [AndroidX RecyclerView](https://developer.android.com/jetpack/androidx/releases/recyclerview#1.4.0)  | `1.4.0`       |
  | [AndroidX Activity Compose](https://developer.android.com/jetpack/androidx/releases/activity#1.10.0) | `` `1.10.0 `` |
  | [Android Gradle Plugin](https://developer.android.com/build/releases/gradle-plugin)                  | `8.8.0`       |

### Fixed

* For Twint with [Sessions flow](/online-payments/build-your-integration/#sessions-flow-a-single-api-request), setting `storePaymentMethodMode`: **enabled** now correctly stores the payment method.
* For the [address lookup feature](/payment-methods/cards/android-component/#address-lookup), when selecting a different address, it now correctly updates the input fields on the payment form.

## 2025-02-03 — Pay by Link

### New

* The payment page now contains a country selector. When a payment link does not contain country information, shoppers are now prompted to select their country.

## 2025-02-03 — Hosted Checkout

### New

* The payment page now contains a country selector. When a payment link does not contain country information, shoppers are now prompted to select their country.

## 2025-02-03 — Flutter Components/Drop-in — Version 1.3.0

### New

* For custom card with API only integration, added validators for the following.

  * Card number.
  * Card expiry date.
  * Card security code.

* iOS Components/Drop-in version: [5.15.0](/online-payments/release-notes/?title%5B0%5D=iOS%20Components%2FDrop-in#releaseNote=2025-01-07-ios-componentsdrop-in-5.15.0).

### Fixed

* For the Card Component, on Android 8 (API level 26) or earlier, the pay button no longer has ripple animations to prevent an animation crash.

## 2025-01-29 — iOS Components/Drop-in — Version 5.16.0

*\<p>We recommend you use \<a href="/online-payments/release-notes#releaseNote=2023-11-01-checkout-api-71">Checkout API v71\</a> or later. \</p>*

### Changed

* For [native 3D Secure 2](https://docs.adyen.com/online-payments/3d-secure/native-3ds2/?platform=iOS\&integration=Drop-in\&version=5.0.0%20and%20later), when a shopper cancels the payment during the payment flow, the `didProvide()` delegate method is now triggered. What this means for your integration depends on whether you already make a `/payments/details` call to handle 3D Secure 2 errors:

  * If yes, you do not need to make any changes to your integration.
  * If not, update your integration to make a `/payments/details` request to get the details of the canceled transaction.

### New

* Support to distinguish between the regular redirect flow where you redirect the shopper through the browser and native redirects to improve the handling of failed native redirects.

## 2025-01-27 — Pay by Link

### Changed

For iDEAL, the shopper now gets redirected to an iDEAL-hosted page to select their issuer and finish the payment.

## 2025-01-27 — Hosted Checkout

### Changed

* For iDEAL, the shopper now gets redirected to an iDEAL-hosted page to select their issuer and finish the payment.

## 2025-01-20 — Web Components/Drop-in — Version 6.8.0

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### Known Issues

* Style issues no longer occur due to font scaling, because `rem` is now used for the font size unit.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.8.0):

```sh
npm install @adyen/adyen-web@6.8.0
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.8.0/adyen.js"
     integrity="sha384-bxVQwK8MZv5Nf5/TghsCZJ23F+FnlBAKG/6/8XE4SIThMQVLWys04oJ/HhJ+bXKD"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.8.0/adyen.css"
     integrity="sha384-1wJDkAPA2mYXJa7x50LZnHo7oWi5ykc0h7co761i7dtY5Wg4LPCg2i/Q6xDQX02X"
     crossorigin="anonymous">
```

## 2025-01-17 — Android Components/Drop-in — Version 5.9.0

*\<p>We recommend you use \<a href="/online-payments/release-notes#releaseNote=2023-11-01-checkout-api-71">Checkout API v71\</a> or later. \</p>*

### New

* Simplified integration for Google Pay:

  * The Component now includes the Google Pay button, and you no longer have to display the button with your own configuration.
  * The Component now does the availability check on initialization.
  * The deprecated `onActivityResult` is no longer needed.\
    See the [migration guide](https://docs.adyen.com/payment-methods/google-pay/android-component/migrate/) to learn about the changes you have to make to your integration to support Google Pay on this version.

* Drop-in now shows a toolbar on more intermediary screens to let shoppers navigate back easily.

### Changed

* For [native 3D Secure 2](/online-payments/3d-secure/native-3ds2/?platform=Android\&integration=Drop-in\&version=latest), when a shopper cancels the payment during the payment flow, the `onAdditionalDetails()` event is now triggered. What this means for your integration depends on whether you already make a `/payments/details` call to handle 3D Secure 2 errors:

  * If yes, you do not need to make any changes to your integration. You can remove the `Cancelled3DS2Exception` handler.
  * If not, update your integration to make a `/payments/details` request to get the details of the canceled transaction.

* Dependency versions:

  | Name                                                                                                                                    | Version    |
  | --------------------------------------------------------------------------------------------------------------------------------------- | ---------- |
  | [Android Gradle Plugin](https://developer.android.com/build/releases/past-releases/agp-8-7-0-release-notes#android-gradle-plugin-8.7.3) | 8.7.3      |
  | [AndroidX Compose BoM](https://developer.android.com/develop/ui/compose/bom/bom-mapping)                                                | 2024.12.01 |
  | [AndroidX ConstraintLayout](https://developer.android.com/jetpack/androidx/releases/constraintlayout#constraintlayout-2.2.0)            | 2.2.0      |
  | [AndroidX Lifecycle](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.8.7)                                           | 2.8.7      |
  | [AndroidX Lifecycle ViewModel Compose](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.8.7)                         | 2.8.7      |
  | [KotlinX Coroutines Play Services](https://github.com/Kotlin/kotlinx.coroutines/releases/tag/1.9.0)                                     | 1.9.0      |

* We are changing the default branch of our SDK repository from `develop` to `main`. If you use our SDK repository and work with the `develop` branch, we recommend to switch to `main`. The `develop` branch will be removed within the next few weeks.

### Deprecated

* The styles and strings for the Cash App Pay loading indicator. use the new styles and strings instead.

  | Previous                                              | Now                                                              |
  | ----------------------------------------------------- | ---------------------------------------------------------------- |
  | `AdyenCheckout.CashAppPay.ProgressBar`                | `AdyenCheckout.ProcessingPaymentView.ProgressBar`                |
  | `AdyenCheckout.CashAppPay.WaitingDescriptionTextView` | `AdyenCheckout.ProcessingPaymentView.WaitingDescriptionTextView` |
  | `cash_app_pay_waiting_text`                           | `checkout_processing_payment`                                    |

## 2025-01-13 — Web Components/Drop-in — Version 6.7.0

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### Improved

* Added [tracking for API errors for internal endpoints](https://github.com/Adyen/adyen-web/pull/3035) for analytics purposes.
* During the process of handling the payment response, Drop-in/Components no longer makes a duplicated internal API request.
* For the Custom Card Component, TypeScript types for configuration parameters are now more explicitly declared.

### Fixed

* For cards, the styling for the confirmation message to remove a stored card no longer causes responsiveness issues.
* For Click to Pay, button elements that appeared as links now appear as buttons.
* For Google Pay, when the value of the `GooglePayButton` attribute `buttonRadius` is **0**, it no longer fails to be passed to the `createButton` function.
* The Klarna Component now initializes the Klarna Widget SDK correctly. This fixes the known issue from v6.6.0.
* For Trustly, missing [translations](https://github.com/Adyen/adyen-web/pull/3055) have been added.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.7.0):

```sh
npm install @adyen/adyen-web@6.7.0
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.7.0/adyen.js"
     integrity="sha384-ITZIgHJ5K2cVdFCkpczWOwONYRfIA+HlOtf0rZgbpQf+eflYEQyRUfkADXzB98uc"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.7.0/adyen.css"
     integrity="sha384-doVpqzOY427QdnUkJv99tJai77q7jDFNulXGFtAhA6FHRvtu6W/nKtlOmTP1tlQQ"
     crossorigin="anonymous">
```

## 2025-01-13 — Web Components/Drop-in — Version 5.71.2

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### Fixed

* For Trustly, missing [translations](https://github.com/Adyen/adyen-web/pull/3055) have been added.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.71.2):

```sh
npm install @adyen/adyen-web@5.71.2
```

### Tab: Embed script and stylesheet

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.71.2):

```sh
npm install @adyen/adyen-web@5.71.1
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                           |
| ------------------------------------ | --------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.71.2/adyen.js"
     integrity="sha384-jc/mYZi/5W1D4/eM5hc6xo0EWCbvV1AuWlZvXesp1c+ouFgGLk0eMlBzBT5mKGcN"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.71.2/adyen.css"
     integrity="sha384-5MvB4RnzvviA3VBT4KYABZ4HXNZG5LRqREEgd41xt/pf/QvKmsj2O9GuNuywRXx9"
     crossorigin="anonymous">
```

## 2025-01-07 — iOS Components/Drop-in — Version 5.15.0

*\<p>We recommend that you use \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=71">Checkout API v71\</a> or later. \</p>*

### New

* When using Drop-In: the `maxIssuerNumber` for Twint can now be set.

### Changed

* You can now highlight a list item by changing its background color when the shopper selects it. To do this, use the new optional `ListItemStyle.highlightedBackgroundColor` property. *Contribution by Github user.*

### Fixed

* For Drop-in, some components that are used in the same Drop-in session no longer have stale parts such as the following:

  * For gift cards, error messages.
  * For cards, brand logos.

* If your app uses more than one payment service provider SDK that uses the TwintSDK, a potential runtime crash no longer occurs.

## 2025-01-06 — Flutter Components/Drop-in — Version 1.2.0

### New

* iOS Components/Drop-in version: [5.14.0](/online-payments/release-notes/?title%5B0%5D=iOS%20Components%2FDrop-in#releaseNote=2024-12-03-ios-componentsdrop-in-5.14.0).
* Android Components/Drop-in version: [5.8.0](/online-payments/release-notes/#releaseNote=2024-12-06-android-componentsdrop-in-5.8.0). Gradle v8 is now required.
* iDEAL is now available through the Instant Component.
* For the Google Pay Component on Advanced flow, added loading bottom sheet.
* The `paymentSessionFinished` payment result now contains `sessionResult`.
* You can now make partial payments with Drop-in also on the Advanced flow.

### Improved

* For the Card Component, improved the dynamic viewport.

### Removed

* Removed the alert message that appeared when deleting a stored payment method fails.

## 2024-12-10 — Web Components/Drop-in — Version 6.6.0

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### Known Issues

* The Klarna Component encounters an error when initializing the Klarna Widget SDK. Fixed in v6.7.0.

### New

* For the online banking payment methods in Slovakia and the Czech Republic, bank logo icons now appear in the list of banks.

### Improved

* For WeChat Pay QR codes, updated the text indicating the time left to pay for the `zh-CN` locale.
* For ACH Direct Debit, removed the text under the **Account holder name** field.
* When you set the **Country** and **State** fields to required in the payment form, the setting now correctly applies to the fields.
* For [donations](/online-payments/donations/web-component/), the nonprofit logo and description no longer cover the donation banner, and the banner now maintains it's aspect ratio when scaling according to the shopper's screen size.

### Fixed

* For cards, when the card is detected in the **Card number** field,

* When multiple variants of Klarna are available in the payment methods list, you can now make sure that the payment is made with the correct variant with the new `activate()` method.

  * For Drop-in: this happens automatically.
  * For Components: you must call `active()` when the shopper selects a variant of Klarna.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.6.0):

```sh
npm install @adyen/adyen-web@6.6.0
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.6.0/adyen.js"
     integrity="sha384-Oa2agnE48SFtDpzmEK8mbhbmEA1X4WH6afLBbypUhFU8oDhJWAIGvLQTBrqgls4A"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.6.0/adyen.css"
     integrity="sha384-UAD/QSv1wQyfA60svLYxJ0OJAPl9TpkksO+HEOUX8YJcD+MYzNmn+q4XL7YBeHcr"
     crossorigin="anonymous">
```

## 2024-12-10 — React Native Components/Drop-in — Version 2.5.0

### New

* Drop-in now supports [partial payments](/online-payments/partial-payments/), including partial payments with gift cards and meal vouchers. You can also hide the PIN.

* Android Components/Drop-in version: [5.8.0](/online-payments/release-notes/#releaseNote=2024-12-06-android-componentsdrop-in-5.8.0), this version includes:

  * Support for Pay by Bank US.
  * Fix for the address lookup feature crash that happens when the shopper presses back when the postal code field is in focus.

* iOS Components/Drop-in version: [5.14.0](/online-payments/release-notes/#releaseNote=2024-12-03-ios-componentsdrop-in-5.14.0), this version includes support for the following [payment method types](/payment-methods/payment-method-types/):

  * Boleto Bancario Itaú: **boletoBancarioItau**
  * PrimeiroPay Boleto: **primeiroPayBoleto**
  * Boleto Bancario: **boletoBancario**

### Fixed

* Corrected the TypeScript description and code auto-completion for `component` within the `onSubmit` callback.
* For the Sessions flow, the `sessionResult` for is now contains the full signature.
* The 3D Secure 2 configuration (`threeDS2`), now works correctly with code auto-completion.

## 2024-12-06 — Android Components/Drop-in — Version 5.8.0

*\<p>We recommend you use \<a href="/online-payments/release-notes#releaseNote=2023-11-01-checkout-api-71">Checkout API v71\</a> or later. \</p>*

### New

* Payment method: Pay by Bank US. [Payment method type](/payment-methods/payment-method-types/): **paybybank\_AIS\_DD**.

### Changed

* Dependency versions:

  | Name                                                                                                            | Version          |
  | --------------------------------------------------------------------------------------------------------------- | ---------------- |
  | [Android Gradle Plugin](https://developer.android.com/build/releases/gradle-plugin#android-gradle-plugin-8.7.1) | **8.7.1**        |
  | [AndroidX Fragment](https://developer.android.com/jetpack/androidx/releases/fragment#1.8.5)                     | **1.8.5**        |
  | [AndroidX Activity](https://developer.android.com/jetpack/androidx/releases/activity#1.9.3)                     | **1.9.3**        |
  | [AndroidX Autofill](https://developer.android.com/jetpack/androidx/releases/autofill#1.3.0-beta01).             | **1.3.0-beta01** |
  | [AndroidX Annotation](https://developer.android.com/jetpack/androidx/releases/annotation#1.9.1).                | **1.9.1**.       |
  | [AndroidX Compose Activity](https://developer.android.com/jetpack/androidx/releases/activity#1.9.3)             | **1.9.3**        |
  | [AndroidX Compose BOM](https://developer.android.com/develop/ui/compose/bom/bom-mapping)                        | **2024.10.00**   |
  | [AndroidX Lifecycle](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.8.6)                   | **2.8.6**        |
  | [AndroidX Lifecycle ViewModel Compose](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.8.6) | **2.8.6**        |

### Fixed

* For cards, the address lookup functionality no longer crashes if the shopper presses back when the postal code field is in focus.
* For Drop-in, fixed an issue where the error dialog showed loading state in some edge cases.

## 2024-12-03 — iOS Components/Drop-in — Version 5.14.0

*\<p>We recommend you use \<a href="/online-payments/release-notes#releaseNote=2023-11-01-checkout-api-71">Checkout API v71\</a> or later.\</p>*

### New

* For Component integrations, you can now implement a custom pay button. Use the following:

  |                     | Description                                                         |
  | ------------------- | ------------------------------------------------------------------- |
  | `showsSubmitButton` | Set to **false** to hide the default pay button. Default: **true**. |
  | `validate()`        | Validates the payment data.                                         |
  | `submit()`          | Submits the payment data.                                           |

* For Twint, you can now reduce the required number of `LSApplicationQueriesSchemes` values. In `TwintActionComponent.Configuration`, set the new `maxIssuerNumber` property.

* For Boleto Bancario, support for the following [payment method types](/payment-methods/payment-method-types):

  * Boleto Bancario Itaú: **boletoBancarioItau**
  * PrimeiroPay Boleto: **primeiroPayBoleto**
  * Boleto Bancario: **boletoBancario**

* For Pay by Bank in the US, support for stored payment methods.

### Changed

* For Pay by Bank payments in the US ([payment method type](/payment-methods/payment-method-types/):**paybybank\_AIS\_DD**): Drop-in now shows supported bank logos and a confirmation screen, before redirecting the shopper to the issuer.
* For Delegated Authentication: during Secure Checkout, you can now optionally reset credentials on the error screen.
* Twint SDK version: v8.0.2.

### Fixed

* For Titres-restaurant meal vouchers, the correct `type` and `brand` values are now included in the payment details.

## 2024-11-15 — Web Components/Drop-in — Version 6.5.1

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### Fixed

* For cards, when the `expiryDate` is only one digit, the `onBlur` validation now gets triggered.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.5.1):

```sh
npm install @adyen/adyen-web@6.5.1
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.5.1/adyen.js"
     integrity="sha384-kKi5oC+MLdctgVeBymqz1uQIX1gYkmei23kD29MxAgrn1TOVGWpiC0QYjkX9c2R8"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.5.1/adyen.css"
     integrity="sha384-uufhzWG2RuRQO7+XOvcalWqc1tuu9jdTMeO5nMwXTHB1p/EJuxTwRfhA3Q8aLEGe"
     crossorigin="anonymous">
```

## 2024-11-14 — Android Components/Drop-in — Version 5.7.1

*\<p>We recommend you use \<a href="/online-payments/release-notes#releaseNote=2023-11-01-checkout-api-71">Checkout API v71\</a> or later. \</p>*

### Fixed

* For the address lookup functionality:

  * Address data is now correctly saved to `PaymentComponentData`.
  * Address fields that were edited manually no longer lose their state when starting lookup mode.

## 2024-11-05 — iOS Components/Drop-in — Version 5.13.0

*\<p>We recommend that you use \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=71">Checkout API v71\</a> or later. \</p>*

### New

* Support for tokenization in Twint payments, allowing shoppers to securely save their Twint payment details for future transactions.

### Improved

* For testing during development, the `UISwitch` testability is now enabled for external tools like Appium.
* For delegated authentication, payment information is consumed so that the UI shows the card number, brand logo, and payment amount.

### Changed

* CashAppPay SDK Version: 0.6.2

### Fixed

* For cards:

  * In the **Expiry date field**, when the shopper tries to enter additional characters to the field after having already entered characters, the field no longer ends up in an invalid state.
  * In the **Card number field**, the shopper can now move the cursor and edit the number where the cursor is positioned.

## 2024-11-04 — Online Payments

### Changed

* If you use Call Center for Mail Order/Telephone Order (MOTO) transactions: when you go to the Call Center URL, you are now redirected to the [Virtual Terminal](/unified-commerce/mail-order-telephone-order/) URL.

## 2024-10-31 — Web Components/Drop-in — Version 6.5.0

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### Improved

* For PayMe, when the shopper pays, the UI shows instructions to complete the transaction.

  [![](/images/d/2/b/b/c/d2bbcb0632ab604ac9f81193299aa0311136a0d0-paymeinstructionsscreen.png)](/user/pages/docs/02.online-payments/04.release-notes/2024-11-01-kzdu2/payme_instructions_screen.png)

* For PayNow, when the shopper pays on a tablet or mobile device, the UI now shows instructions to complete the transaction.

  [![](/images/a/f/9/3/3/af93343195d51cfe622af34b244013e67b5af6f2-paynowinstructionsscreen.png)](/user/pages/docs/02.online-payments/04.release-notes/2024-11-01-kzdu2/paynow_instructions_screen.png)

### Fixed

* When creating a production build, the `auto.js` code is no longer tree-shaken by bundlers.
* For integrations using the [address lookup feature](/payment-methods/cards/web-component/#optional-configuration) for cards: the **State or province** field no longer resets when the shopper selects a value for the **Country** field.
* The [Iceland Krona currency (ISK)](/development-resources/currency-codes/) now correctly uses minor units.
* For UPI, the initial value for `isValid` is now **true** only for UPI QR.
* To support earlier iOS versions, the ECMAScript version is now the [2020 version](https://262.ecma-international.org/11.0/index.html).
* For Payconiq, the UI now includes instructions for the QR code, and an unused button label is now removed.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.5.0):

```sh
npm install @adyen/adyen-web@6.5.0
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.5.0/adyen.js"
     integrity="sha384-XS7xTa1zeFadKWQceyCI+If+qgqSpiE2z7fnFJyznti1yloAmaxHFUkf3K8/Av0+"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.5.0/adyen.css"
     integrity="sha384-uufhzWG2RuRQO7+XOvcalWqc1tuu9jdTMeO5nMwXTHB1p/EJuxTwRfhA3Q8aLEGe"
     crossorigin="anonymous">
```

## 2024-10-29 — Web Components/Drop-in — Version 5.71.1

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### Fixed

* For integrations using the [address lookup feature](/payment-methods/cards/web-component/#optional-configuration) for cards: the **State or province** field no longer resets when the shopper selects a value for the **Country** field.
* For UPI, the default value for `isValid` is now **true** only for UPI QR.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.71.1):

```sh
npm install @adyen/adyen-web@5.71.1
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                           |
| ------------------------------------ | --------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.71.1/adyen.js"
     integrity="sha384-yvY2yFNR4WqIjPqP9MzjI+gJimmaJnAvj4rLHKvgJbgFD5fMuf8zIJrFJOW8Lhhf"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.71.1/adyen.css"
     integrity="sha384-5MvB4RnzvviA3VBT4KYABZ4HXNZG5LRqREEgd41xt/pf/QvKmsj2O9GuNuywRXx9"
     crossorigin="anonymous">
```

## 2024-10-28 — Checkout API

### New

* The [/cardDetails](https://docs.adyen.com/api-explorer/Checkout/latest/post/cardDetails) response now includes:

  * `fundingSource`: the funding source of the card, for example **DEBIT**, **CREDIT**, or **PREPAID**.
  * `isCardCommercial`: indicates if the card is a commercial card or a consumer card.

## 2024-10-22 — Web Components/Drop-in — Version 5.71.0

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### New

* For ACH, the shopper can now select the **Savings** or **Checking** account type.

### Fixed

* `get-process-message.handler.js` no longer causes exceptions. The new optional chaining operator for the `postMessage` handler function now prevents improperly formed events.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.71.0):

```sh
npm install @adyen/adyen-web@5.71.0
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                           |
| ------------------------------------ | --------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.71.0/adyen.js"
     integrity="sha384-dWEY2tVCXulu2GCC8SbLQTgNhGCGiNQW9Ffmdszax2gBobN0jALHJxCOI29tgIxZ"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.71.0/adyen.css"
     integrity="sha384-5MvB4RnzvviA3VBT4KYABZ4HXNZG5LRqREEgd41xt/pf/QvKmsj2O9GuNuywRXx9"
     crossorigin="anonymous">
```

## 2024-10-22 — Web Components/Drop-in — Version 6.4.0

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### New

* All [action types](/online-payments/build-your-integration/advanced-flow/?platform=Web\&integration=Components#additional-action) now trigger the `onActionHandled` callback.
  * For all action types, except for **threeds2**, the original `action` object is passed to the callback.
* For ACH, the shopper can now select the **Savings** or **Checking** account type.

### Improved

* For improved developer experience, we now export the `CustomTranslations` type.
* `document.querySelector` is now called only once, instead of three times.

### Fixed

* `get-process-message.handler.js` no longer causes exceptions. The new optional chaining operator for the `postMessage` handler function now prevents improperly formed events.
* When you call `actions.reject()` in the `beforeSubmit` callback, the UI no longer set the UI in an error state. Previously, it caused a call to `handleFailedResult`, which caused the `onPaymentFailed` callback to be called and set the UI in an error state.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.4.0):

```sh
npm install @adyen/adyen-web@6.4.0
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.4.0/adyen.js"
     integrity="sha384-dLpBKhDBlDJFwJRikmtQ9LknN1dEXm6TQwkCgV4IEZn5uspRXkjLwpaiy2bxhdFO"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.4.0/adyen.css"
     integrity="sha384-usSLqgyBadvUs8EgbXytJFWGI49spO8U2XYgplIuF4ktNNNoo77d7CB2mesCVH/U"
     crossorigin="anonymous">
```

## 2024-10-14 — Android Components/Drop-in — Version 5.7.0

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=71">Checkout API v71\</a> or later.\</p>*

### New

* You can now use [Adyen Test Cards Android](https://github.com/Adyen/adyen-testcards-android) to autofill test payment method information, to test your integration more quickly.

* For Twint:

  * For Components integrations, you must now use [`TwintComponent`](https://github.com/Adyen/adyen-android/blob/5.7.0/docs/payment-methods/TWINT.md#stored-twint-payments) instead of `InstantPaymentComponent`.
  * You can now [store payment details](https://github.com/Adyen/adyen-android/blob/5.7.0/docs/payment-methods/TWINT.md#optional-configurations) and [pay with stored payment details](https://github.com/Adyen/adyen-android/blob/5.7.0/docs/payment-methods/TWINT.md#stored-twint-payments).

* For French meal vouchers, the following payment method types are now available:

  * Up. Payment method type: **mealVoucher\_FR\_groupeup**.
  * Natixis. Payment method type: **mealVoucher\_FR\_natixis**.
  * Sodexo. Payment method type: **mealVoucher\_FR\_sodexo**.\
    Learn to [configure French meal vouchers](https://github.com/Adyen/adyen-android/blob/5.7.0/docs/payment-methods/FRENCH_MEAL_VOUCHER.md).

* For [API-only integrations with encrypted card details](https://docs.adyen.com/payment-methods/cards/custom-card-integration/?tab=candroid_3), you can now use the following classes to validate corresponding fields:

  | Class                       | Description                        |
  | --------------------------- | ---------------------------------- |
  | `CardNumberValidator`       | Validates the card number field.   |
  | `CardExpiryDateValidator`   | Validates the expiry date field.   |
  | `CardSecurityCodeValidator` | Validates the security code field. |

* Support for the following locales:

  | Locale     | Values    |
  | ---------- | --------- |
  | Catalan    | **ca-ES** |
  | Icelandic  | **is-IS** |
  | Bulgarian  | **bg-BG** |
  | Estonian   | **et-EE** |
  | Latvian    | **lv-LV** |
  | Lithuanian | **lt-lT** |

### Improved

* For UPI Intent, if the shopper selects the **Continue** button without selecting an UPI option, an error message now shows.
* For Drop-in, in the navigation bar, the accessibility of the **Back/Close** button is improved.

### Changed

* For Drop-in, headers of preselected stored payment screen and payment methods list screen are updated.

* Dependency versions:

  | Name                                                                                                                                    | Version        |
  | --------------------------------------------------------------------------------------------------------------------------------------- | -------------- |
  | [Adyen 3DS2](https://github.com/Adyen/adyen-3ds2-android/releases/tag/2.2.21)                                                           | **2.2.21**     |
  | [Cash App Pay](https://github.com/cashapp/cash-app-pay-android-sdk/releases/tag/v2.5.0)                                                 | **2.5.0**      |
  | [Android Gradle Plugin](https://developer.android.com/build/releases/past-releases/agp-8-5-0-release-notes#android-gradle-plugin-8.5.1) | **8.5.1**      |
  | [AndroidX Fragment](https://developer.android.com/jetpack/androidx/releases/fragment#1.8.3)                                             | **1.8.3**      |
  | [AndroidX Activity](https://developer.android.com/jetpack/androidx/releases/activity#1.9.2)                                             | **1.9.2**      |
  | [AndroidX Compose Activity](https://developer.android.com/jetpack/androidx/releases/activity#1.9.2)                                     | **1.9.2**      |
  | [AndroidX Compose BOM](https://developer.android.com/develop/ui/compose/bom/bom-mapping)                                                | **2024.06.00** |
  | [AndroidX Lifecycle](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.8.3)                                           | **2.8.3**      |
  | [AndroidX Lifecycle ViewModel Compose](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.8.3)                         | **2.8.3**      |
  | [AndroidX AppCompat](https://developer.android.com/jetpack/androidx/releases/appcompat#1.7.0)                                           | **1.7.0**      |

### Fixed

* When parsing JSON objects with explicit null values, JSON deserialization no longer returns the coerced `null` string.

### Deprecated

* The style for payment method list headers. Use the new style instead.

  | Previous                                   | Now                                        |
  | ------------------------------------------ | ------------------------------------------ |
  | `AdyenCheckout.TextAppearance.HeaderTitle` | `AdyenCheckout.TextAppearance.HeaderLabel` |

* The `com.adyen.checkout.instant.ActionHandlingMethod` method. Use the new method instead.

  | Previous                                          | Now                                                       |
  | ------------------------------------------------- | --------------------------------------------------------- |
  | `com.adyen.checkout.instant.ActionHandlingMethod` | `com.adyen.checkout.components.core.ActionHandlingMethod` |

## 2024-10-07 — Flutter Components/Drop-in — Version 1.1.0

### New

* For Drop-in, you can now display custom names for the payment methods in your checkout. Use the [`paymentMethodNames`](/online-payments/build-your-integration/sessions-flow?platform=Flutter\&integration=Drop-in\&version=1.1.0#optional-configuration) object to set the name for each payment method.
* When a shopper cancels the payment during the 3D Secure 2 flow, the payment result is now **PaymentCancelledByUser**.

### Improved

* For Apple Pay, improved the instantiation of the payment method component.
* For Google Pay, improved configuration parsing.

## 2024-10-07 — iOS Components/Drop-in — Version 5.12.0

### Fixed

* On iOS 18, if the shopper has two identical stored payment methods, Drop-in/Component no longer crashes when the shopper selects a payment method that's not the default stored one.

### Improved

* You can now use the `AdyenEncryption` module independently with a reduced size, because it no longer depends on `AdyenCore`.

### New

* Support for [Library Evolution in Swift](https://www.swift.org/blog/library-evolution/).

### Changed

* When you set `isEnabled` = **false**, only [Drop-in/Components analytics](/online-payments/analytics-and-data-tracking#data-we-are-collecting) are not sent to Adyen.

## 2024-10-07 — iOS Components/Drop-in — Version 4.14.0

### New

* On iOS 18, if the shopper has two identical stored payment methods, Drop-in/Component no longer crashes when the shopper selects a payment method that's not the default stored one.

## 2024-10-01 — Web Components/Drop-in — Version 6.3.0

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### Improved

* For Pay by Bank payments in the US, the payment form now shows US bank logos.
* For Click to Pay with Visa, custom timeouts now get reported to the Visa SDK.

### Fixed

* For Click to Pay with Visa, when the shopper selects **Enter**, the event no longer propagates to other views.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.3.0):

```sh
npm install @adyen/adyen-web@6.3.0
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.3.0/adyen.js"
     integrity="sha384-PpkKjJdtlCZuAK7HWeMaOwzrQMGgAWThLG+QZe0sxlohYwfVPP+G65HBrWbgwSoE"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.3.0/adyen.css"
     integrity="sha384-pC2TKxh6gMtWIUiXzlw5Jnq9ZtnyuPT0ymaHY6skdegLVNDMNiiQ7/NFixA87/Wb"
     crossorigin="anonymous">
```

## 2024-10-01 — Web Components/Drop-in — Version 5.70.0

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### Improved

* For Pay by Bank payments in the US, the payment form now shows US bank logos.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.70.0):

```sh
npm install @adyen/adyen-web@5.70.0
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                           |
| ------------------------------------ | --------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.adyen.com`   |

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.70.0/adyen.js"
     integrity="sha384-N4W6Y4K3vGbiqQmdDoM/SF1RvRHG0FRmMmszNnVqEMDZMJR+wunTZTZdNLHCljwQ"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.70.0/adyen.css"
     integrity="sha384-vnFzKtL6or8feSmGXv74mP3BXRwZrU/ajQUdEDNM/9aYu96j29wUpUupFqr1Hyo3"
     crossorigin="anonymous">
```

## 2024-10-01 — React Native Components/Drop-in — Version 2.4.1

### Improved

* Removed the unused `getReturnURL` declaration from the SessionHelper module to compile the library correctly when [React Native New Architecture](https://reactnative.dev/docs/the-new-architecture/landing-page) is enabled.

### Fixed

* Bumped [`serve-static`](https://www.npmjs.com/package/serve-static) version to 1.16.2 to address security vulnerability.

## 2024-09-23 — Web Components/Drop-in — Version 5.69.1

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### Improved

* For Click to Pay with Visa, custom timeouts now get reported to the Visa SDK.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.69.1):

```sh
npm install @adyen/adyen-web@5.69.1
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/5.69.1/adyen.js"
     integrity="sha384-5MBKsqjYE3Exk46DniXt66YDqf8aGmiH0w8eMh1MHTkuKOKZaxpbZTzEgIo3YZq2"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/5.69.1/adyen.css"
     integrity="sha384-V9kYkdR/YBBSSAvtflZc9EhUrQuedsjqrh/cRgdF7qYElV+Ns39aj92Zz+qVu9aJ"
     crossorigin="anonymous">
```

## 2024-09-23 — Pay by Link

### Changed

* Reverted the new iDeal payment flow that was released in [2 September, 2024](/online-payments/release-notes/?title%5B0%5D=Pay%20by%20Link#releaseNote=2024-09-02-pay-by-link).

## 2024-09-23 — Checkout API

### Fixed

* Fixed an issue where payments with the following `paymentMethod.type` would break in some cases:

  * **klarna**
  * **klarna\_account**
  * **klarna\_paynow**
  * **klarna\_b2b**
  * **walley**
  * **walley\_b2b**
  * **ebanking\_FI**

* When [blockedPaymentMethods](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments#request-blockedPaymentMethods) is set to **scheme**, Bancontact is no longer blocked.

## 2024-09-16 — Web Components/Drop-in — Version 6.2.0

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### Improved

* When loading, during the internal setup requests, the `browserInfo` information is included.
* For Drop-in, when loading, payment methods that are not supported are filtered out before the individual payment method Components are created.
* For Apple Pay, the `ApplePaySession` property is now optional in the [`Window` interface](https://developer.mozilla.org/en-US/docs/Web/API/Window).

### Fixed

* For Apple Pay, `ApplePayService` no longer causes reliability issues with [SonarCloud](https://docs.sonarsource.com/sonarcloud/).
* Projects that use [webpack 4](https://v4.webpack.js.org/guides/getting-started/) can now directly import styles from the `adyen.css` file.
* For cards, the **Enter** key now correctly triggers validation and submission. Previously, a regression issue prevented the actions from being triggered.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.2.0):

```sh
npm install @adyen/adyen-web@6.2.0
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.2.0/adyen.js"
     integrity="sha384-D2a9elrzh5aA3ZKUHNy1El71tHftlGcJParXoQyaBDcwmcsWn8y8TFjT3axXIiig"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.2.0/adyen.css"
     integrity="sha384-1DZgt5aKWxwX2jnOKDDpfVq8XQpnsaAr+tC/WMxeLx61TpRuPTKpo6Bo+uHboQTo"
     crossorigin="anonymous">
```

### Changed

* When you set `analytics.enabled` = **false**, only [Drop-in/Components analytics](/online-payments/analytics-and-data-tracking#data-we-are-collecting) are not sent to Adyen.

## 2024-09-16 — Web Components/Drop-in — Version 5.69.0

### Improved

* For Drop-in, when loading, payment methods that are not supported are filtered out before the individual payment method Components are created.
* When loading, during the internal setup requests, the `browserInfo` information is included.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.69.0):

```sh
npm install @adyen/adyen-web@5.69.0
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.69.0/adyen.js"
     integrity="sha384-5UEhRi3wr27ofwooDXpnPbUvkDJNm9BZiVzF6aFVtrwrNW3m0Z7+8XztCxspeL+a'"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.69.0/adyen.css"
     integrity="sha384-V9kYkdR/YBBSSAvtflZc9EhUrQuedsjqrh/cRgdF7qYElV+Ns39aj92Zz+qVu9aJ'"
     crossorigin="anonymous">
```

### Changed

* When you set `analytics.enabled` = **false**, only [Drop-in/Components analytics](/online-payments/analytics-and-data-tracking#data-we-are-collecting) are not sent to Adyen.

## 2024-09-11 — Flutter Components/Drop-in — Version 1.0.2

### New

* iOS Components/Drop-in version: [5.11.0](/online-payments/release-notes/#releaseNote=2024-09-09-ios-componentsdrop-in-5.11.0).

### Improved

* For Android, improved component bottom sheet behavior.
* For cards, improved the component for shopper devices that use large font and display sizes.
* Migrated the Android example to use Flutter Gradle plugins through the Plugin DSL.

## 2024-09-11 — React Native Components/Drop-in — Version 2.4.0

### New

* Support for [Apple Pay](/payment-methods) recurring payments.
* For Drop-in, you can now set `showRemovePaymentMethodButton` to **true** to allow your shoppers to remove their stored payment details.
* iOS Components/Drop-in version: [5.11.0](/online-payments/release-notes/#releaseNote=2024-09-09-ios-componentsdrop-in-5.11.0).

### Fixed

* `AdyenAction` is now exported correctly.
* Fixed an issue where `AdyenInstant` and other components were not loading correctly on React Native versions earlier than 73. This fixes the known issue in v2.3.0.

## 2024-09-09 — iOS Components/Drop-in — Version 5.11.0

### Changed

* The following protocol and classes that were recently made internal `(@_spi(AdyenInternal))` are now public again:

  * `Validator`
  * `CardNumberValidator`
  * `CardExpiryDateValidator`
  * `CardSecurityCodeValidator`
  * `LengthValidator`
  * `NumericStringValidator`

* TWINT SDK version: 8.0.1

### Fixed

* The privacy manifest path in Package.swift now ensures correct Swift Package Manager (SPM) integration.

## 2024-09-03 — Web Components/Drop-in — Version 6.1.1

### Improved

* Removed the unused **region** role from the payment method item to follow [a11y](https://www.a11yproject.com/) guidelines.

### Fixed

* Fixed validation for Lithuanian postal codes to support inputs with 4 digits, 5 digits, and the **LT** prefix.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.1.1):

```sh
npm install @adyen/adyen-web@6.1.1
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.1.1/adyen.js"
     integrity="sha384-Rt+qpnGVoFYm9Eix2qFMGOQB1ge1/4VehF5oO4Ur/Do2ti4JeOkQc3CIy26c7/P+"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.1.1/adyen.css"
     integrity="sha384-1DZgt5aKWxwX2jnOKDDpfVq8XQpnsaAr+tC/WMxeLx61TpRuPTKpo6Bo+uHboQTo"
     crossorigin="anonymous">
```

## 2024-09-03 — Web Components/Drop-in — Version 5.68.1

### Improved

* Removed the unused **region** role from the payment method item to follow [a11y](https://www.a11yproject.com/) guidelines.

### Fixed

* Fixed validation for Lithuanian postal codes to support inputs with 4 digits, 5 digits, and the **LT** prefix.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.68.1):

```sh
npm install @adyen/adyen-web@5.68.1
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.68.1/adyen.js"
     integrity="sha384-QkK0CS8pEbadSchTGqPFqOSGeBMChDmnJt97FQ856IOy39QhJLfomwxKFU0gNfEC"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.68.1/adyen.css"
     integrity="sha384-V9kYkdR/YBBSSAvtflZc9EhUrQuedsjqrh/cRgdF7qYElV+Ns39aj92Zz+qVu9aJ"
     crossorigin="anonymous">
```

## 2024-09-02 — Pay by Link

### New

* The new iDEAL payment flow where the shopper is redirected to the iDEAL payment page to select their bank and authorize the payment.\
  This change is reverted in a [later release](/online-payments/release-notes?title%5B0%5D=Pay%20by%20Link#releaseNote=2024-09-02-pay-by-link).

## 2024-08-28 — Web Components/Drop-in — Version 6.1.0

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### New

* For ANCV, after the shopper makes a partial payment, the ANCV ID and deducted balance is shown on the screen where they select the payment method for the remaining balance.

### Improved

* Updated currency information for the following locales:

  * Iceland (ISK)
  * Bulgaria (BGN)

### Fixed

For stored cards, the holder name is now correctly passed when making the payment.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.1.0):

```sh
npm install @adyen/adyen-web@6.1.0
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.1.0/adyen.js"
     integrity="sha384-HhjuRWG1nWQ3+L4T9/1ffnnjlRgEtg3VG22uIZD3JOfbLm1YZDoZNvRftK/moxa3"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.1.0/adyen.css"
     integrity="sha384-Gngchfiq4JxdVPMOwrUaDK70raLnMJ7IgBKi2OE0VSlbUeHysN7Mwd4aHREEvEAw"
     crossorigin="anonymous">
```

## 2024-08-26 — Web Components/Drop-in — Version 5.68.0

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### New

* For ANCV, after the shopper makes a partial payment, the ANCV ID and deducted balance is shown on the screen where they select the payment method for the remaining balance.

### Fixed

For stored cards, the holder name is now correctly passed when making the payment.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.68.0):

```sh
npm install @adyen/adyen-web@5.68.0
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.68.0/adyen.js"
     integrity="sha384-U9GX6Oa3W024049K86PYG36/jHjkvUqsRd8Y9cF1CmB92sm4tnjxDXF/tkdcsk6k"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.68.0/adyen.css"
     integrity="sha384-gpOE6R0K50VgXe6u/pyjzkKl4Kr8hXu93KUCTmC4LqbO9mpoGUYsrmeVLcp2eejn"
     crossorigin="anonymous">
```

## 2024-08-14 — React Native Components/Drop-in — Version 2.3.0

### New

* iOS Components/Drop-in version: [5.10.0](/online-payments/release-notes/?title%5B0%5D=iOS%20Components%2FDrop-in#releaseNote=2024-08-07-ios-componentsdrop-in-5.10.0).
* For cards, you can now set [`addressVisibility`](/payment-methods/cards/react-native-component#optional-configuration): **lookup** to suggest addresses to the shopper when they are inputing their address.

### Known Issues

* For React Native v73 and earlier, `AdyenInstant` and other components do not load correctly. This issue is fixed in [v2.4.0](/online-payments/release-notes/#releaseNote=2024-09-11-react-native-componentsdrop-in-2.4.0)

### Changed

* The example app now uses React Native v74.

## 2024-08-13 — Web Components/Drop-in — Version 6.0.3

### New

* For Riverty, the consent checkbox now includes a link to the Riverty privacy policy.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.0.3):

```sh
npm install @adyen/adyen-web@6.0.3
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.0.3/adyen.js"
     integrity="sha384-B3A2o0a6pEs1OS5I4a9kd6kwWbf+Ez27nDOfVS9p3kfhEL7xehPo0r3rfUUYBgFX"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.0.3/adyen.css"
     integrity="sha384-Gngchfiq4JxdVPMOwrUaDK70raLnMJ7IgBKi2OE0VSlbUeHysN7Mwd4aHREEvEAw"
     crossorigin="anonymous">
```

## 2024-08-12 — Web Components/Drop-in — Version 5.67.1

### New

* For Riverty, the consent checkbox now includes a link to the Riverty privacy policy.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.67.1):

```sh
npm install @adyen/adyen-web@5.67.1
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.67.1/adyen.js"
     integrity="sha384-Eyc3CxCvPhMC5+VlOJ12DY2gFBMr0eX0sqniUe2TmfvPTm+jCw59uepJUzK49XAp"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.67.1/adyen.css"
     integrity="sha384-gpOE6R0K50VgXe6u/pyjzkKl4Kr8hXu93KUCTmC4LqbO9mpoGUYsrmeVLcp2eejn"
     crossorigin="anonymous">
```

## 2024-08-07 — iOS Components/Drop-in — Version 5.10.0

### New

* Support for the UPI Intent flow, where the shopper can choose a UPI app to pay through. They are redirected to and complete the payment on the selected app.

* For Drop-in with Sessions flow, the shopper can now remove their stored payment methods. To do so:

  * In the `/sessions` request, include `showRemovePaymentMethodButton`: **true**.
  * Set the `StoredPaymentMethodsDelegate` to `session`:
    ```swift
    dropInComponent.StoredPaymentMethodDelegate = self.session
    ```

* Support for the following locales: `bg-BG`,`ca-ES`, `et-EE`,`is-IS`,`lt-LT`,`lv-LV`.

### Fixed

* For cards, when the shopper selects **Cancel** to exit the address input screen, the address fields no longer gets reset.

## 2024-08-06 — Web Components/Drop-in — Version 6.0.2

*\<p>This release requires \<a href="/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### Fixed

For UPI, the TypeScript type error for `formatProps` has been fixed.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.0.2):

```sh
npm install @adyen/adyen-web@6.0.2
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.0.2/adyen.js"
     integrity="sha384-UtcEOToKFO2Gy+i7A7zau3Zu0DTtygJdSRVRlQQfEpHL1bYD9uYkaVKeilC81avu"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.0.2/adyen.css"
     integrity="sha384-Gngchfiq4JxdVPMOwrUaDK70raLnMJ7IgBKi2OE0VSlbUeHysN7Mwd4aHREEvEAw"
     crossorigin="anonymous">
```

## 2024-07-29 — Web Components/Drop-in — Version 6.0.1

*\<p>This release requires \<a href="https\://docs.adyen.com/online-payments/release-notes/?title%5B0%5D=Checkout%20API\&amp;version%5B0%5D=69#releaseNote=2022-05-24-checkout-api-69">Checkout API v69\</a> or later. We recommend that you use the latest version of Checkout API.\</p>*

### Fixed

For PayPal, the bug where the payment didn't get finalized after the PayPal lightbox closed no longer occurs.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/6.0.1):

```sh
npm install @adyen/adyen-web@6.0.1
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

```
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.0.1/adyen.js"
     integrity="sha384-Uz9kJ7MP7hR4osV9qZgnqzAUaqeNOjwtCvpcQYvXmi61KPRg1EwdT+G1gYpVuEok"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.0.1/adyen.css"
     integrity="sha384-Gngchfiq4JxdVPMOwrUaDK70raLnMJ7IgBKi2OE0VSlbUeHysN7Mwd4aHREEvEAw"
     crossorigin="anonymous">
```

## 2024-07-24 — Web Components/Drop-in — Version 6.0.0

*\<p>This release requires \<a href="/online-payments/release-notes#checkout-api-v69">Checkout API v69\</a> or later. We recommend using the latest Checkout API version.\</p>*

### Breaking Changes

**General**

* Drop-in/Components is no longer supported on Internet Explorer 11.
* If you integrate with npm, we've changed [how you import Drop-in/Components](/online-payments/upgrade-your-integration/migrate-to-web-v6/#update-import-statements) to reduce the bundle size.
* If you integrate with embedded scripts, we [changed how we expose the `AdyenCheckout` and Drop-in/Components on the window object](/online-payments/upgrade-your-integration/migrate-to-web-v6/?tab=dropin-step2_1#import-using-embedded-scripts).
* We've changed [how you create an instance](/online-payments/upgrade-your-integration/migrate-to-web-v6/#update-creating-an-instance) of Drop-in or Component.
* For the `onSubmit()` event handler, you now need to [resolve/reject an `actions` object](/online-payments/upgrade-your-integration/migrate-to-web-v6/#onsubmit-and-onadditionaldetails) to continue or halt the payment flow.
* For the `onAdditionalDetails()` event handler, you now need to [resolve/reject an `actions` object](/online-payments/upgrade-your-integration/migrate-to-web-v6/#onsubmit-and-onadditionaldetails) to continue or halt the payment flow.
* The `onPaymentCompleted()` event is no longer triggered for failed payments, instead the [`onPaymentFailed()` event is triggered](/online-payments/upgrade-your-integration/migrate-to-web-v6#onpaymentfailed).
* The `showPayButton` parameter now defaults to true.
* The `onValid()` event is removed.
* The [`setStatusAutomatically` property](/online-payments/build-your-integration/sessions-flow?platform=Web\&integration=Drop-in\&version=5.63.0#drop-in-configuration) is no longer supported. If a payment is successful or if it fails, the component is kept in loading state and merchant must handle it accordingly.
* We've changed how you style Drop-in/Components to give you more fine-grained control by using custom CSS properties. [Update your CSS styles](/online-payments/upgrade-your-integration/migrate-to-web-v6#update-your-styling) accordingly.
* The `countryCode` property is now mandatory. It must be set directly in the `AdyenCheckout` configuration object, or in the [/sessions](https://docs.adyen.com/api-explorer/Checkout/latest/post/sessions) request.
* The `showFormInstruction` property is no longer supported.
* When instantiating `AdyenCheckout`, you can no longer set the configuration property 'installmentOptions'. It must be set in the Card Component configuration instead.
* You can no longer set the configuration property `paymentMethodsConfiguration` when initializing `AdyenCheckout`. Instead, set it in the Drop-in configuration.
* The `locale` in your [global configuration object](/online-payments/build-your-integration/sessions-flow/?platform=Web\&integration=Drop-in\&version=latest#configure) must follow the **xx-YY** format, where **xx** specifies the language, and **YY** specifies the region. Locales that are not formatted correctly will be ignored and fallback to **en-US**. See all [supported locales on our GitHub](https://github.com/Adyen/adyen-web/tree/main/packages/server/translations).\
  Exception: For Arabic, the `locale` must be set to **ar**.
* TypeScript types are now imported directly from the root of the package, for example:
  ```js
  import type { CardConfiguration } from '@adyen/adyen-web';
  ```

**Payment method specific**

Express payment methods

* For [Google Pay express](/payment-methods/google-pay/web-component/express-checkout/), the event handler `onPaymentDataChanged` now works only when the Component configuration property `isExpress` is set to **true**.
* For [Apple Pay express](/payment-methods/apple-pay/web-component/express-checkout/), the event handlers `onShippingContactSelected` and `onShippingMethodSelected` now work only when the Component configuration property `isExpress` is set to **true**.
* For [Paypal Express](/payment-methods/paypal/web-component/express-checkout/), the `onShippingChange()` event handler is no longer supported. Migrate to the `onShippingAddressChange()` and `onShippingOptionsChange()` event handlers.
* The `onShopperDetails()` event for PayPal is renamed to `onAuthorized()` and it must be resolved or rejected to finalize the payment.
* For Google Pay, the `isAvailable()` method does not return a boolean flag anymore. Instead, the promise is resolved when the payment is available and rejected otherwise.

Card payment methods

* The Card Component configuration property `showBrandsUnderCardNumber` is no longer supported.
* The `challengeWindowSize` configuration parameter can now be set in the `card` object within `paymentMethodsConfiguration` instead of the `threeDS2` object.
* The Custom Card Component is renamed from `securedfields` to `CustomCard` and created as:
  ```js
  new CustomCard()
  ```

Other payment methods

* For PayPal, the `onCancel()` event handler is no longer supported. To detect when the PayPal lightbox is closed, listen to the `onError` event with error type **CANCEL**.
* For Klarna, the `token` property is replaced with the `authorization_token` from the [/payments/details](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments/details) request.
* For Adyen Giving, you now need to integrate with the [Giving Campaign Manager Component](/online-payments/donations/campaign-manager-web-component/#get-details-of-donation-campaigns).
* We no longer support the payment method QiwiWallet.

**Partial payments**

* The `onOrderCreated()` event is [renamed to `onOrderUpdated()`](/online-payments/upgrade-your-integration/migrate-to-web-v6#onordercreated-and-onpaymentmethodsrequest).

### New

* [`onPaymentMethodsRequest()` is a new event](/online-payments/upgrade-your-integration/migrate-to-web-v6#onordercreated-and-onpaymentmethodsrequest), which is triggered when a partial payment is made and the associated order isn't fully paid. Use the even handler to request payment methods for a new payment.
* [`onPaymentFailed()` is a new event](/online-payments/upgrade-your-integration/migrate-to-web-v6#onpaymentfailed), which is triggered when a payment fails. Previously, this event was part of `onPaymentCompleted()`.
* You can now disable the final animation after a successful or failed payment in Drop-in, by setting `disableFinalAnimation` to **true**.
* Shoppers can now confirm the payment by pressing the **Enter** key. If the payment has a validation issue, an error is shown in the Drop-in/Components interface.
  * You can customize, or prevent, the Enter keypress behavior by implementing an `onEnterKeyPressed()` event handler on `AdyenCheckout`.
* Support for six more locales: Catalan (`ca-ES`), Icelandic (`is-IS`), Bulgarian (`bg-BG`), Estonian (`et-EE`), Latvian (`lv-LV`) and Lithuanian (`lt-lT`).
* Support for Apple Pay Order tracking [in Drop-in](/payment-methods/apple-pay/web-drop-in/#optional-apple-pay-wallet-order-tracking) and [in the Apple Pay Component](/payment-methods/apple-pay/web-component/#optional-apple-pay-wallet-order-tracking).
* Support for [tree shaking when integrating through `npm`](/online-payments/upgrade-your-integration/migrate-to-web-v6?tab=dropin-step2_1#npm-reduced-bundle-size).

### Changed

* [`onPaymentCompleted()` now works for](/online-payments/upgrade-your-integration/migrate-to-web-v6#onpaymentcompleted) both Sessions and Advanced flow.
* We have [replaced input field placeholder texts with permanently visible contextual elements](/online-payments/upgrade-your-integration/migrate-to-web-v6/#update-placeholder-texts) to enhance the accessibility and UX. You *can* still apply and customize placeholders.
* For Google Pay and Apple Pay, the `onAuthorized` event is now triggered before the `onSubmit` event. The `onAuthorized` event must be resolved in order to proceed with the payment flow.
* We have improved AVS checks for GooglePay and ApplePay by adding the billing address to `state.data` if available during payment method authorization.
* Drop-in no longer uses radio buttons by default.
* The WeChatPay timer now defaults to 30 minutes.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Drop-in/Components Node.js package](https://www.npmjs.com/package/@adyen/adyen-web):

```bash
npm install @adyen/adyen-web@6.0.0 --save
```

### Tab: Embed script and stylesheet

The base URLs for the script source are different for each environment. Use the one that corresponds to your [live endpoint](/development-resources/live-endpoints#checkout-endpoints):

| Environment                          | URL                                               |
| ------------------------------------ | ------------------------------------------------- |
| Test                                 | `https://checkoutshopper-test.cdn.adyen.com`      |
| Europe (EU) live                     | `https://checkoutshopper-live.cdn.adyen.com`      |
| United States (US) live              | `https://checkoutshopper-live-us.cdn.adyen.com`   |
| Australia (AU) live                  | `https://checkoutshopper-live-au.cdn.adyen.com`   |
| Asia Pacific & Southeast (APSE) live | `https://checkoutshopper-live-apse.cdn.adyen.com` |
| India (IN) live                      | `https://checkoutshopper-live-in.cdn.adyen.com`   |

```bash
<script src="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.0.0/adyen.js"
     integrity="sha384-GDA6txYXS6ka6zCgDtLmgI80TQMlYST32KjDtdiyFi/k/zp9rXP64qbziIXVOI5h"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.cdn.adyen.com/checkoutshopper/sdk/6.0.0/adyen.css"
     integrity="sha384-Gngchfiq4JxdVPMOwrUaDK70raLnMJ7IgBKi2OE0VSlbUeHysN7Mwd4aHREEvEAw"
     crossorigin="anonymous">
```

## 2024-07-22 — Web Components/Drop-in — Version 5.67.0

*\<p>This release requires \<a href="/online-payments/release-notes#checkout-api-v68">Checkout API v68\</a> or later.\</p>*

### New

* For the Card Component, the `info` event now has the `configData` object that includes details about the configuration of the Component.
* Google Pay now supports the `borderRadius` property.

### Fixed

For installments, the text above the radio buttons or dropdown menu now shows correctly.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.67.0):

```sh
npm install @adyen/adyen-web@5.67.0
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.67.0/adyen.js"
     integrity="sha384-pEpAlfRdqqZyim6j/sDmOv79WY+Wc4iVmhlRqPZcsse3/xXgneqppgsa0Y2MXHa4"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.67.0/adyen.css"
     integrity="sha384-gpOE6R0K50VgXe6u/pyjzkKl4Kr8hXu93KUCTmC4LqbO9mpoGUYsrmeVLcp2eejn"
     crossorigin="anonymous">
```

## 2024-07-20 — React Native Components/Drop-in — Version 2.2.0

### Breaking Changes

* Starting August 31 2024, Google introduces [Target API level requirements for Google Play apps](https://support.google.com/googleplay/android-developer/answer/11926878?hl=en). If you use:

  * React Native **v73** or later, you do not need to take any action.
  * React Native **v72**, you have to:
  * * In `android/build.gradle`, update `compileTarget` to **34**, and set `classpath("com.android.tools.build:gradle:8.1.4”)`.
  * * In `android/app/build.gradle`, add `android.buildFeatures.buildConfig` = **true** to enable `buildConfig`.
  * React Native **v71** or earlier:
  * * In `android/build.gradle`, update `compileTarget` to **34**.

### New

* Android Components/Drop-in version: [5.6.0](/online-payments/release-notes/?title%5B0%5D=Android%20Components%2FDrop-in\&version%5B0%5D=5.6.0#releaseNote=2024-07-09-android-componentsdrop-in-5.6.0).

### Fixed

* Updated the `gradle.build` to fix potential compatibility issues with old and new versions of React Native.

## 2024-07-09 — Android Components/Drop-in — Version 4.13.6

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=71">Checkout API v71\</a> or later.\</p>*

### Fixed

* On Android API versions 21 to 25, the `NoSuchMethodError` no longer occurs during the 3D Secure 2 challenge flow.

### Changed

* Dependency versions:

  | Name                                                                          | Version    |
  | ----------------------------------------------------------------------------- | ---------- |
  | [Adyen 3DS2](https://github.com/Adyen/adyen-3ds2-android/releases/tag/2.2.19) | **2.2.19** |

## 2024-07-09 — Android Components/Drop-in — Version 5.6.0

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=71">Checkout API v71\</a> or later.\</p>*

### New

* For Google Pay on Advanced flow, `onSubmit` now returns `threeDS2SdkVersion` in the `paymentMethod` object that you must pass in your [/payments](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments) request to correctly trigger the 3D Secure 2 flow.

### Fixed

* On Android API versions 21 to 25, the `NoSuchMethodError` no longer occurs during the 3D Secure 2 challenge flow.
* When [using R8 to shrink your code](https://developer.android.com/build/shrink-code), `CIRCULAR REFERENCE: com.android.tools.r8.utils.b: Missing class...` errors no longer occur.

### Changed

* Dependency versions:

  | Name                                                                                                         | Version    |
  | ------------------------------------------------------------------------------------------------------------ | ---------- |
  | [Adyen 3DS2](https://github.com/Adyen/adyen-3ds2-android/releases/tag/2.2.19)                                | **2.2.19** |
  | [Android Gradle plugin](https://developer.android.com/build/releases/gradle-plugin)                          | **8.4.1**  |
  | [AndroidX Fragment](https://developer.android.com/jetpack/androidx/releases/fragment#1.7.1)                  | **1.7.1**  |
  | [AndroidX Compose Compiler](https://developer.android.com/jetpack/androidx/releases/compose-compiler#1.5.14) | **1.5.14** |
  | [Kotlin](https://github.com/JetBrains/kotlin/releases/tag/v1.9.24)                                           | **1.9.24** |
  | [Kotlin coroutines](https://github.com/Kotlin/kotlinx.coroutines/releases/tag/1.8.1)                         | **1.8.1**  |

## 2024-06-28 — React Native Components/Drop-in — Version 2.1.0

### Fixed

* For Google Pay, [configurations related to the billing and shipping addresses](/payment-methods/google-pay/react-native-drop-in/#optional-configuration) now work correctly.
* On Android, the `Inconsistent JVM-target compatibility` build issue no longer occurs.

### New

* iOS Components/Drop-in version: [5.9.0](/online-payments/release-notes/?title%5B0%5D=iOS%20Components%2FDrop-in\&version%5B0%5D=5.9.0#releaseNote=2024-05-27-ios-componentsdrop-in-5.9.0).
* Android Components/Drop-in version: [5.5.0](/online-payments/release-notes/?title%5B0%5D=Android%20Components%2FDrop-in\&version%5B0%5D=5.5.0).
* The new iDEAL payment flow where the shopper is redirected to the iDEAL payment page to select their bank and authorize the payment.

## 2024-06-21 — Android Components/Drop-in — Version 5.5.0

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=71">Checkout API v71\</a> or later.\</p>*

### New

* Support for the UPI Intent flow, where the shopper can choose a UPI app to pay through. They are redirected to and complete the payment on the selected app.
* The new iDEAL payment flow where the shopper is redirected to the iDEAL payment page to select their bank and authorize the payment.

### Improved

* Autofill support for the following:

  * For gift cards, the gift card number and PIN fields.
  * For UPI Virtual Payments, the address field.
  * For payment methods that use them, the address input fields.

* Drop-in navigation:

  * Added the top navigation bar.
  * Disabled the dragging gesture that caused Drop-in to be dismissed.
  * When the shopper navigates from an additional action screen (for example 3D Secure), Drop-in is dismissed.

### Changed

Dependency versions:

| Name                                                                                                       | Version        |
| ---------------------------------------------------------------------------------------------------------- | -------------- |
| [AndroidX Compose BoM](https://developer.android.com/develop/ui/compose/bom/bom-mapping)                   | **2024.05.00** |
| [AndroidX Lifecycle](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.8.2)              | **2.8.2**      |
| [Material Design](https://github.com/material-components/material-components-android/releases/tag/1.12.0/) | **1.12.0**     |

### Deprecated

We recommend that you remove the following from your integration, because they no longer have an effect on the iDEAL payment method.

* For `IdealComponent`:

  * `isConfirmationRequired()`
  * `submit()`

* For iDEAL configuration:

  * `setViewType()`
  * `setHideIssuerLogos()`
  * `setSubmitButtonVisible()`

## 2024-06-17 — React Native Components/Drop-in — Version 2.0.1

### Fixed

* For [Expo](https://expo.dev/) v47 and later, version conflicts no longer occur.

## 2024-06-10 — Web Components/Drop-in — Version 5.66.1

*\<p>This release requires \<a href="/online-payments/release-notes#checkout-api-v68">Checkout API v68\</a> or later.\</p>*

### Improved

* For the Sessions flow: when a fatal error occurs while setting up the session, the `onError` callback now includes the full error object. Previously, it included only a hard-coded error message.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.66.1):

```sh
npm install @adyen/adyen-web@5.66.1
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.66.1/adyen.js"
     integrity="sha384-1hIjspaI91zaZaaFP4++yNNBE9emITOdAAnKcDsVFvA8agUeXq/b9Fh+9q0fx2/2"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.66.1/adyen.css"
     integrity="sha384-gpOE6R0K50VgXe6u/pyjzkKl4Kr8hXu93KUCTmC4LqbO9mpoGUYsrmeVLcp2eejn"
     crossorigin="anonymous">
```

## 2024-06-03 — Web Components/Drop-in — Version 5.66.0

*\<p>This release requires \<a href="/online-payments/release-notes#checkout-api-v68">Checkout API v68\</a> or later.\</p>*

### New

* Support for the UPI Intent flow, where the shopper on a mobile device can choose a UPI app to pay through. They are redirected to and complete the payment on the selected app.

### Fixed

* For Click to Pay, previously used cards now shown above newly created cards.
* For ACH, the `showPayButton` configuration is no longer ignored.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.66.0):

```sh
npm install @adyen/adyen-web@5.66.0
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.66.0/adyen.js"
     integrity="sha384-KCKTZ7O5a2BAP0NaUFwlARS3BItlRNeUT4WtHuxdBBNoOXPRIZe4StOm6wzkdKbE"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.66.0/adyen.css"
     integrity="sha384-gpOE6R0K50VgXe6u/pyjzkKl4Kr8hXu93KUCTmC4LqbO9mpoGUYsrmeVLcp2eejn"
     crossorigin="anonymous">
```

## 2024-05-31 — React Native Components/Drop-in — Version 2.0.0

### New

* Drop-in now supports the [Sessions flow](/online-payments/build-your-integration/), where you make a single [/sessions](https://docs.adyen.com/api-explorer/Checkout/latest/post/sessions) request.
* You can now specify a locale instead of using the shopper device locale.
* Support for [Expo](https://expo.dev/).
* You can now use the `AdyenAction.handle()` method to handle additional actions.
* For Native 3D Secure 2, you can now configure the [`requestorAppUrl`](https://github.com/Adyen/adyen-react-native/blob/develop/docs/Configuration.md#3d-security-2).
* For Drop-in on iOS, you can now [configure a custom title](https://github.com/Adyen/adyen-react-native/blob/develop/docs/Configuration.md#drop-in) for the pre-selected stored payment method view. 

### Improved

* For [Apple Pay](/payment-methods/apple-pay), you can now configure `shippingContact`, `shippingType`, `shippingMethods`, and `supportedCountries`.
* The `AdyenCheckout` theme is now separated from the `AppTheme`, which makes it easier to integrate with Drop-in.

### Changed

* For Android, you no longer need to have `<service android:name="com.adyenreactnativesdk.component.dropin.AdyenCheckoutService" android:exported="false" />` in your app's manifest file.

### Deprecated

* For Android, `adyenReactNativeRedirectScheme` is deprecated, you can use any [intent filter](https://developer.android.com/guide/components/intents-filters). When it is required, you get a `returnUrl` in `onSubmit.data`. To get the `returnUrl`, you can also use the `await AdyenDropIn.getReturnURL()` function.

### Breaking Changes

* For Android, your app theme must have [Material Components](https://developer.android.com/develop/ui/views/theming/look-and-feel) as `parent` to work with payment methods that use the **InstantPaymentComponent**, for example:
  ```
  <style name="AppTheme" parent="Theme.MaterialComponents.DayNight.NoActionBar"> 
  ```

## 2024-05-30 — Android Components/Drop-in — Version 5.4.0

### New

* For external redirects, you can now [customize the colors of the toolbar and navigation bar](https://github.com/Adyen/adyen-android/blob/main/docs/UI_CUSTOMIZATION.md#styling-custom-tabs) shown in [Custom Tabs](https://developer.chrome.com/docs/android/custom-tabs).

* TWINT is now supported with a native flow, and you no longer need to redirect shoppers through the browser. To use the redirect flow, set the following configuration:

  ```kotlin
  CheckoutConfiguration(
      environment = environment,
      clientKey = clientKey,
      ..
  ) {
      // Optionally pass the payment method type to configure it for the specific payment method.
     instantPayment(PaymentMethodTypes.TWINT) {
         setActionHandlingMethod(ActionHandlingMethod.PREFER_WEB)
     }
  }
  ```

### Fixed

* Fixed some memory leaks.
* In case of a debug build, Drop-in no longer overrides the log level.
* For cards, when a shopper does not select an address, the address lookup function now shows a validation error.
* Actions no longer crash when your app uses obfuscation.
* When handling a 3D Secure 2 challenge using Checkout API v66 or earlier, Drop-in no longer throws an error.
* If the app process unexpectedly terminates when handling actions, the state is now restored and you can proceed with the payment flow.
* For [/sessions](https://docs.adyen.com/api-explorer/Checkout/latest/post/sessions), fixed an issue where the `setEnableRemovingStoredPaymentMethods` flag in the [Drop-in configuration](/online-payments/build-your-integration/sessions-flow/?platform=Android\&integration=Drop-in\&version=5.4.0#3-optional-add-a-configuration-object) was ignored.

### Changed

* The phone number input field in the payment form now shows ISO codes instead of flags.

* The UI elements that were previously labelled **Country** are now **Country/Region**.

* Dependency versions:

  | Name                                                                                                         | Version        |
  | ------------------------------------------------------------------------------------------------------------ | -------------- |
  | [Adyen 3DS2](https://github.com/Adyen/adyen-3ds2-android/releases/tag/2.2.18)                                | **2.2.18**     |
  | [Android Gradle plugin](https://developer.android.com/build/releases/gradle-plugin)                          | **8.3.2**      |
  | [AndroidX Browser](https://developer.android.com/jetpack/androidx/releases/browser#1.8.0)                    | **1.8.0**      |
  | [AndroidX Compose Activity](https://developer.android.com/jetpack/androidx/releases/activity#1.9.0)          | **1.9.0**      |
  | [AndroidX Compose BoM](https://developer.android.com/develop/ui/compose/bom/bom-mapping)                     | **2024.04.01** |
  | [AndroidX Compose Compiler](https://developer.android.com/jetpack/androidx/releases/compose-compiler#1.5.12) | **1.5.12**     |
  | [AndroidX Lifecycle](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.7.0)                | **2.7.0**      |
  | [Google Pay](https://developers.google.com/pay/api/android/support/release-notes#feb-24)                     | **19.3.0**     |
  | [Google Pay Compose Button](https://github.com/google-pay/compose-pay-button/releases/tag/v1.0.0)            | **1.0.0**      |
  | [Kotlin](https://github.com/JetBrains/kotlin/releases/tag/v1.9.23)                                           | **1.9.23**     |
  | [Kotlin coroutines](https://github.com/Kotlin/kotlinx.coroutines/releases/tag/1.8.0)                         | **1.8.0**      |

## 2024-05-30 — Pay by Link

### Improved

* For payment links with only one payment method that does not require additional shopper input, the shopper no longer needs to select an additional button to pay.

## 2024-05-27 — Web Components/Drop-in — Version 5.65.0

*\<p>This release requires \<a href="/online-payments/release-notes#checkout-api-v68">Checkout API v68\</a> or later.\</p>*

### New

* The new iDEAL payment flow where the shopper is redirected to the iDEAL payment page to select their bank and authorize the payment.

### Improved

* For 3D Secure 2, the analytics events now include the following information:

  * `subType`: the type of event.
  * `result`: the outcome of the event.

* For Google Pay, when the shopper pays with card, the `state.data` now includes the `origin` to trigger the 3D Secure 2 native flow.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.65.0):

```sh
npm install @adyen/adyen-web@5.65.0
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.65.0/adyen.js"
     integrity="sha384-6qEAHFy5klBO9QE1zhxuGAKiAe7fVK7SAW7KnLSaYxj2UedBLGHsnNi7NrNcKIQR"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.65.0/adyen.css"
     integrity="sha384-Dk62669n9Ic7V6K8X7MBAOEZ5IQ9Qq29nW/zPkfwg1ghqyZLiuSc5QYQJ6M72iNR"
     crossorigin="anonymous">
```

## 2024-05-27 — iOS Components/Drop-in — Version 5.9.0

*\<p>We recommend you use \<a href="/online-payments/release-notes#releaseNote=2023-11-01-checkout-api-71">Checkout API v71\</a> or later. \</p>*

### New

* The new iDEAL payment flow where the shopper is redirected to the iDEAL payment page to select their bank and authorize the payment.\
  You must now use `InstantPaymentComponent` for iDEAL:

  ```swift
  let paymentMethods = session.sessionContext.paymentMethods
  // Check that the payment method is supported before showing the Component.
  guard let paymentMethod = paymentMethods.paymentMethod(ofType: .ideal) else { return }
  let component = InstantPaymentComponent(paymentMethod: paymentMethod,
                                        context: context,
                                        order: nil)
  self.currentComponent = component
  // Set the session as the delegate.
  component.delegate = session
  component.initiatePayment() 
  ```

* When shoppers select the prefix picker in the phone number input field, they can now search through the prefix list using their ISO code, prefix, or country/region name.

### Known Issues

iDEAL does not work in the test environment if your test Adyen merchant account is not configured to use the new payment flow. You must first contact our [Support Team](https://ca-test.adyen.com/ca/ca/contactUs/support.shtml?form=other) to configure your test merchant account.

### Removed

* `IdealComponent` is no longer available. Use `InstantPaymentComponent` instead.

## 2024-05-27 — iOS Components/Drop-in — Version 4.13.0

*\<p>We recommend you use \<a href="/online-payments/release-notes#releaseNote=2023-11-01-checkout-api-71">Checkout API v71\</a> or later. \</p>*

### New

* The new iDEAL payment flow where the shopper is redirected to the iDEAL payment page to select their bank and authorize the payment.

### Known Issues

iDEAL does not work in the test environment if your test Adyen merchant account is not configured to use the new payment flow. You must first contact our [Support Team](https://ca-test.adyen.com/ca/ca/contactUs/support.shtml?form=other) to configure your test merchant account.

## 2024-05-16 — iOS Components/Drop-in — Version 5.8.0

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=71">Checkout API v71\</a> or later.\</p>*

### New

Support for Twint SDK integration through the [`TwintComponent` module](https://github.com/Adyen/adyen-ios/tree/develop/AdyenTwint).

### Changed

* Flag icons are removed from the UI.
* The text **Country** is now replaced with **Country/Region**.

### Fixed

Fixed an issue that incorrectly cancelled successful redirect payments in some cases.

## 2024-05-02 — Android Components/Drop-in — Version 4.13.5

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=71">Checkout API v71\</a> or later.\</p>*

### Changed

Dependency versions:

| Name                                                                              | Version |
| --------------------------------------------------------------------------------- | ------- |
| [Adyen 3DS2 SDK](https://github.com/Adyen/adyen-3ds2-android/releases/tag/2.2.17) | 2.2.17  |

## 2024-04-30 — iOS Components/Drop-in — Version 4.12.1

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=71">Checkout API v71\</a> or later.\</p>*

### Changed

* 3D Secure 2 SDK version: 2.4.2.

### Fixed

* The privacy manifest file issue that blocked the App Store upload process has been fixed by upgrading the 3D Secure 2 SDK version to 2.4.2.

## 2024-04-30 — iOS Components/Drop-in — Version 5.7.1

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=71">Checkout API v71\</a> or later.\</p>*

### Fixed

* 3D Secure 2 SDK version: 2.4.2.

### Breaking Changes

* The privacy manifest file issue that blocked the App Store upload process has been fixed by upgrading the 3D Secure 2 SDK version to 2.4.2.

## 2024-04-29 — Web Components/Drop-in — Version 5.64.0

*\<p>This release requires \<a href="/online-payments/release-notes#checkout-api-v68">Checkout API v68\</a> or later.\</p>*

### Fixed

* For open invoice payment methods:

  * When the shopper selects and deselects the consent checkbox, the `Uncaught TypeError: Cannot use 'in' operator to search for 'errorI18n' in true` error no longer occurs.
  * Errors related to the screen reader panel no longer causes issues with the logic of the `OpenInvoice` Component.

* For ANCV, a new order is no longer created when it is used as the second payment of a partial payment. The custom `payButton` now submits the correct data.

### New

* When the shopper checks out, the `checkoutAttemptId`object is now always passed in the initial API request.
* For cards, the unencrypted expiry date can now be passed to the `onFieldValid` callback. To enable this, set `exposeExpiryDate` to **true**.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.64.0):

```sh
npm install @adyen/adyen-web@5.64.0
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.64.0/adyen.js"
     integrity="sha384-sMGpagK0z1bjcfZfff+YN53lBOwP4Cmh6exNnmkiBegM4oil5xetgPHP+JJ+bbrf"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.64.0/adyen.css"
     integrity="sha384-Dk62669n9Ic7V6K8X7MBAOEZ5IQ9Qq29nW/zPkfwg1ghqyZLiuSc5QYQJ6M72iNR"
     crossorigin="anonymous">
```

## 2024-04-10 — Web Components/Drop-in — Version 5.63.0

*\<p>This release requires \<a href="#/online-payments/release-notes#checkout-api-v68">Checkout API v68\</a> or later.\</p>*

### Changed

* For the phone number field in the payment form:

  * The **Country** selector for the phone number field is now called **Country/Region**.
  * Flag icons are no longer included in the selector.

### Fixed

* For voucher payment methods, the voucher now shows expiration the date and time.
* For wallet payment methods used as express payment methods, the function to submit analytics now works as expected.
* Drop-in no longer fails to render when only express payment methods are available.

### Updating

Upgrading to this version

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.63.0):

```sh
npm install @adyen/adyen-web@5.63.0
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.63.0/adyen.js"
     integrity="sha384-wEt/Yz/g97VSgMpNDVCPTyr8FYuIpeOgh42UNr346/yK3z2yfaIixeuLWXG6q0XU"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.63.0/adyen.css"
     integrity="sha384-Dk62669n9Ic7V6K8X7MBAOEZ5IQ9Qq29nW/zPkfwg1ghqyZLiuSc5QYQJ6M72iNR"
     crossorigin="anonymous">
```

## 2024-04-10 — Android Components/Drop-in — Version 5.3.1

### Fixed

* For Drop-in and Components, when `?android:attr/textColor` is not defined in your own theme, the Card Component no longer crashes.
* The `onAdditionalDetails` event is now triggered only once. Previously, the event was triggered multiple times in some edge cases.
* The build output no longer contains warnings about multiple substitutions specified in non-positional format in string resources.
* For the Card Component, we fixed localization issues that occurred when using the Address Lookup functionality.
* Overriding some of the XML styles without specifying a parent style no longer causes a build error.

### Removed

* You can no longer use functions like `CheckoutConfiguration.getCardConfiguration()` or `CheckoutConfiguration.getDropInConfiguration()` to get configurations from the `CheckoutConfiguration` object. When starting Drop-in or Components, pass the full `CheckoutConfiguration` object.

### Changed

* Dependency versions:

  | Name                                                                                | Version   |
  | ----------------------------------------------------------------------------------- | --------- |
  | [Android Gradle Plugin](https://developer.android.com/build/releases/gradle-plugin) | **8.3.1** |

## 2024-04-03 — Web Components/Drop-in — Version 5.62.0

*\<p>This release requires \<a href="/online-payments/release-notes#checkout-api-v68">Checkout API v68\</a> or later.\</p>*

### Improved

For cards, the shopper can now enter a 19-digit Diners card number.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.62.0):

```sh
npm install @adyen/adyen-web@5.62.0
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.62.0/adyen.js"
     integrity="sha384-/V0/SOhL6pgSBl4vdduqpACnFhnyHcsnny9iLQPer6Ll0XCWpeIcDcoGTHEOYhMK"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.62.0/adyen.css"
     integrity="sha384-zgFNrGzbwuX5qJLys75cOUIGru/BoEzhGMyC07I3OSdHqXuhUfoDPVG03G+61oF4"
     crossorigin="anonymous">
```

## 2024-03-25 — Web Components/Drop-in — Version 5.61.0

*\<p>This release requires \<a href="/online-payments/release-notes#checkout-api-v68">Checkout API v68\</a> or later.\</p>*

### New

* For [analytics and data tracking](/online-payments/analytics-and-data-tracking/), the information collected now includes data about whether wallet payment methods are used as express payment methods.

### Improved

* For the address fields of the payment form, the forward slash character (`/`) is now allowed.

### Fixed

* For open invoice payment methods (like Riverty), the `SRPanel` for screen readers now correctly includes the first name and last name fields in the delivery address.
* For [combobox](https://en.wikipedia.org/wiki/Combo_box) UI elements, when nothing is selected, `aria-activedescendant` is now **null**.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.61.0):

```sh
npm install @adyen/adyen-web@5.61.0
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.61.0/adyen.js"
     integrity="sha384-zFQEbSKuuwkEODuLNO/ttyx9nffjHMUsdBycqSAfeqbOvMULrOcxvUBj6YhwF7Jx"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.61.0/adyen.css"
     integrity="sha384-zgFNrGzbwuX5qJLys75cOUIGru/BoEzhGMyC07I3OSdHqXuhUfoDPVG03G+61oF4"
     crossorigin="anonymous">
```

## 2024-03-22 — iOS Components/Drop-in — Version 4.12.0

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=71">Checkout API v71\</a> or later.\</p>*

### New

`PrivacyInfo.xcprivacy` lists all the data collected by Drop-in and Components.

### Changed

3D Secure 2 SDK version: 2.4.1

## 2024-03-22 — iOS Components/Drop-in — Version 5.7.0

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=71">Checkout API v71\</a> or later.\</p>*

### New

* `PrivacyInfo.xcprivacy` lists all the data collected by Drop-in and Components.

* In the country/region picker for the payment form, you can now choose if the images of flags are shown using `showCountryFlags`.

  For Drop-in:

  ```
  var style = DropInComponent.Style()
  style.formComponent.addressStyle.showCountryFlags = cardSettings.showsCountryFlags
  let dropInConfiguration = DropInComponent.Configuration(style: style)
  let dropInComponent = DropInComponent(paymentMethods: paymentMethods,
                                       context: context,
                                       configuration: dropInConfiguration)
  ```

  For Components (the Card Component, for example):

  ```
  let cardConfiguration = CardComponent.Configuration()
  cardConfiguration.style.addressStyle.showCountryFlags = true/false
  let cardComponent = CardComponent(paymentMethod: paymentMethod,
                                   context: context,
                                   configuration: cardConfiguration)
  ```

### Changed

* 3D Secure 2 SDK version: 2.4.1.

### Breaking Changes

* When `clientKey` is invalid or mismatched with the environment, `PublicKeyProvider` now returns a corresponding error message.

## 2024-03-12 — Android Components/Drop-in — Version 5.3.0

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=71">Checkout API v71\</a> or later.\</p>*

### New

* A new way to create a configuration using DSL to be more declarative and concise:

  ```kotlin
  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` 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.

* Payment methods:

  * Multibanco. Payment method type: **multibanco**.
  * Pay-easy ATM. 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 do not set it, the shopper locale is set to the value included in the [/sessions](https://docs.adyen.com/api-explorer/Checkout/latest/post/sessions) request.
  * Advanced flow: when you do not 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](https://kotlinlang.org/docs/releases.html#release-details)                                         | **1.9.22** |
  | [AndroidX Compose compiler](https://developer.android.com/jetpack/androidx/releases/compose-compiler#1.5.8) | **1.5.8**  |
  | [AndroidX Compose Activity](https://developer.android.com/jetpack/androidx/releases/activity#1.8.2)         | **1.8.2**  |
  | [Material Design](https://github.com/material-components/material-components-android/releases/tag/1.11.0/)  | **1.11.0** |

### Known Issues

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

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

## 2024-03-11 — Web Components/Drop-in — Version 5.60.0

*\<p>This release requires \<a href="/online-payments/release-notes#checkout-api-v68">Checkout API v68\</a> or later.\</p>*

### Fixed

* For cards, Boleto, and ACH: when making the [/payments](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments) request, the `billingAddress.firstName` and `billingAddress.lastName` parameters are no longer included.
* For the Sessions flow: when making a zero-auth transaction (`amount`: 0) the payment details are stored only when the [`storePaymentMethodMode`](https://docs.adyen.com/api-explorer/Checkout/71/post/sessions#request-storePaymentMethodMode) parameter in the [/sessions](https://docs.adyen.com/api-explorer/Checkout/latest/post/sessions) request is set to do so. This fixes the known issue from [v5.59.0](https://docs.adyen.com/online-payments/release-notes/?title%5B0%5D=Web%2BComponents%2FDrop-in\&version%5B0%5D=5.59.0).

### Improved

* For Apple Pay: you no longer get warnings in your integrated development environment (IDE) because of TypeScript type issues.
* For cards: the shopper can now enter a Discover card number with the length of 19 digits.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.60.0):

```sh
npm install @adyen/adyen-web@5.60.0
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.60.0/adyen.js"
     integrity="sha384-v6S0qEV99owe4JAJcIFjJS+fo18AFEjuJGA7cntolG3nJV5260/6LbYX9/qwP/sV"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.60.0/adyen.css"
     integrity="sha384-zgFNrGzbwuX5qJLys75cOUIGru/BoEzhGMyC07I3OSdHqXuhUfoDPVG03G+61oF4"
     crossorigin="anonymous">
```

## 2024-02-26 — Web Components/Drop-in — Version 5.59.0

*\<p>This release requires \<a href="/online-payments/release-notes#checkout-api-v68">Checkout API v68\</a> or later.\</p>*

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.59.0):

```sh
npm install @adyen/adyen-web@5.59.0
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.59.0/adyen.js"
     integrity="sha384-O8p0CLZyOw1jkmYN7ZwJxWzd+sDYRFGpLEffqc+dKye24gFImbU72did4PC7ysTY"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.59.0/adyen.css"
     integrity="sha384-zgFNrGzbwuX5qJLys75cOUIGru/BoEzhGMyC07I3OSdHqXuhUfoDPVG03G+61oF4"
     crossorigin="anonymous">
```

### Fixed

When making a zero-auth transaction (`amount`: **0**) to store payment details, we now always pass the `storePaymentMethod` object to our server.

### Known Issues

* For the Sessions flow: if your [/sessions](https://docs.adyen.com/api-explorer/Checkout/latest/post/sessions) request included either `enableRecurring` or `enableOneClick`, making a zero-auth transaction fails.
* For the Advanced flow: if your [/payments](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments) request included either `enableRecurring` or `enableOneClick`, making a zero-auth transaction fails.

### New

* [PayPal Express Checkout](/payment-methods/paypal/web-component/express-checkout/) is now supported with the Web Component.

## 2024-02-19 — Web Components/Drop-in — Version 5.58.0

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.58.0):

```sh
npm install @adyen/adyen-web@5.58.0
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.58.0/adyen.js"
     integrity="sha384-e0EBlzLdOXxOJimp2uut2z1m98HS2cdhQw+OmeJDp7MRCPRNrQhjIWZiWiIscJvf"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.58.0/adyen.css"
     integrity="sha384-zgFNrGzbwuX5qJLys75cOUIGru/BoEzhGMyC07I3OSdHqXuhUfoDPVG03G+61oF4"
     crossorigin="anonymous">
```

### New

* New payment method: Online Banking Finland. [Payment method type](/payment-methods/payment-method-types): **ebanking\_FI**.
* Support for the new Riverty component (`riverty`) in AT, CH, and DE. This component will replace `afterpay_default` in the future.
* For Drop-in, when `countryCode` is set to **FI**, no payment method is selected by default and all payment methods are collapsed to comply with Finnish regulations.

### Fixed

* Fixed an issue where clicking on Card fields caused console errors for shoppers using an iOS device.

## 2024-02-13 — Pay by Link

### New

* You can now send your shoppers a confirmation email after they complete a payment and the payment gets authorized. The email is for customer service purposes, but it is not an official payment confirmation or receipt.

## 2024-02-12 — Checkout API

### Fixed

For integrations using Drop-in or the Gift card Component:\
Drop-in and the Component now correctly get the last four digits of gift cards from the API response and show them on the payment form.

## 2024-02-02 — iOS Components/Drop-in — Version 4.11.2

### Fixed

* For stored card payments using Drop-in, the pay button is now enabled correctly when entering the security code with the [traditional Chinese Cantonese keyboard](https://developer.apple.com/forums/thread/741038).

## 2024-01-30 — Android Components/Drop-in — Version 5.2.0

### New

* [UI customization guide](https://github.com/Adyen/adyen-android/blob/5.2.0/docs/UI_CUSTOMIZATION.md) which explains how to customize the styles and string resources.

### Improved

* The integration now uses JSON Web Encryption (JWE) with RSA OAEP 256 and AES GCM 256 for encryption. You do not need to make any changes to your integration.

### Fixed

* For Drop-in, error dialogs no longer display user unfriendly messages when using the Sessions flow.
* Overriding some of the XML styles without specifying a parent style no longer causes a build error.
* The Await and QR Code action components no longer get stuck in a loading state after the payment is completed.

### Changed

* Dependency versions:

  | Name                                                                                                  | Version    |
  | ----------------------------------------------------------------------------------------------------- | ---------- |
  | [Kotlin](https://kotlinlang.org/docs/releases.html#release-details)                                   | **1.9.21** |
  | [Android Gradle plugin](https://developer.android.com/build/releases/gradle-plugin)                   | **8.2.0**  |
  | [AndroidX Compose Compiler](https://developer.android.com/jetpack/androidx/releases/compose-compiler) | **1.5.7**  |
  | [AndroidX Compose Activity](https://developer.android.com/jetpack/androidx/releases/activity#1.8.1)   | **1.8.1**  |
  | [AndroidX Browser](https://developer.android.com/jetpack/androidx/releases/browser#1.7.0)             | **1.7.0**  |

## 2024-01-26 — iOS Components/Drop-in — Version 5.6.0

### Improved

* For all payment methods that include input fields for the shopper's address, the address input fields are now on a separate screen. This declutters the payment screen to improve user experience.

### Changed

* Custom conformances to [`PaymentMethod`](https://adyen.github.io/adyen-ios/5.0.0/documentation/adyen/paymentmethod/) and [`StoredPaymentMethod`](https://adyen.github.io/adyen-ios/5.0.0/documentation/adyen/storedpaymentmethod/) are now required to be [`Encodable`](https://developer.apple.com/documentation/swift/encodable).

### Fixed

* For Apple Pay, when the `allowOnboarding` property of `ApplePayConfiguration.init` is set to **true**, the onboarding check now runs correctly.
* In landscape mode, the search bar height no longer expands and obstructs other visual elements like the issuer list on the screen.
* For stored card payments using Drop-in, the pay button is now enabled correctly when entering the security code with the [traditional Chinese Cantonese keyboard](https://developer.apple.com/forums/thread/741038).

## 2024-01-22 — Web Components/Drop-in — Version 5.57.0

### Improved

* For [Blik](/payment-methods/blik/), the Drop-in/Component now shows identifiers next to stored payment methods.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.57.0):

```sh
npm install @adyen/adyen-web@5.57.0--save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.57.0/adyen.js"
     integrity="sha384-Csd5uuH7Wb1Dw+qPGWcJIw4N9FXI6M2DU+rVqax3HS3572BOyO1+okbR5JE4+htC"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.57.0/adyen.css"
     integrity="sha384-zgFNrGzbwuX5qJLys75cOUIGru/BoEzhGMyC07I3OSdHqXuhUfoDPVG03G+61oF4"
     crossorigin="anonymous">
```

## 2024-01-15 — Web Components/Drop-in — Version 5.56.1

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### Improved

* For card, when making a [zero-auth transaction](/get-started-with-adyen/adyen-glossary/#zero-value-auth):

  * The text on the pay button is now **Save details**.
  * A checkbox no longer shows.

* For Drop-in, after a [zero-auth transaction](/get-started-with-adyen/adyen-glossary/#zero-value-auth), the text for the success message is **Details saved**.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.56.1):

```sh
npm install @adyen/adyen-web@5.56.1--save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.56.1/adyen.js"
     integrity="sha384-ooyykkiG6hsCD+b97FrD/yvSSA4BHJv4I1mvz4KJEaAyJufGfooKzuLVotjKsEpP"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.56.1/adyen.css"
     integrity="sha384-zgFNrGzbwuX5qJLys75cOUIGru/BoEzhGMyC07I3OSdHqXuhUfoDPVG03G+61oF4"
     crossorigin="anonymous">
```

## 2024-01-15 — Pay by Link

### Improved

* For [zero-value auth](/get-started-with-adyen/adyen-glossary/#zero-value-auth) transactions, the submit button text is now **Save details**, and shoppers see the **Details saved** text after successfully submitting their payment details.

## 2024-01-08 — Web Components/Drop-in — Version 5.56.0

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### New

Payment method: PayMe. [Payment method type](/payment-methods/payment-method-types/): **payme**.

### Improved

* For QR code payment methods, the payment status check now calculates elapsed time more accurately.
* For the custom [card integration with encryption](/payment-methods/cards/custom-card-integration/), the Component now gives a console warning for an unsupported value in the `data-cse` attribute.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.56.0):

```sh
npm install @adyen/adyen-web@5.56.0--save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.56.0/adyen.js"
     integrity="sha384-FH6O2OIvweZSC1fPaUWUCDbUKFQDxyz1fVYFbCT0zpkb9YdeK1cY2wol355qWMq+"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.56.0/adyen.css"
     integrity="sha384-zgFNrGzbwuX5qJLys75cOUIGru/BoEzhGMyC07I3OSdHqXuhUfoDPVG03G+61oF4"
     crossorigin="anonymous">
```

## 2023-12-13 — Web Components/Drop-in — Version 5.55.1

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### Fixed

For QR code payment methods, the payment method logo now loads and shows correctly.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.55.1):

```sh
npm install @adyen/adyen-web@5.55.1 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.55.1/adyen.js"
     integrity="sha384-VsQjaTz8qABHk/hSOClt3JMbMRcJegaDNps4nZsu833faiVeFppygi21iPDpbVWW"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.55.1/adyen.css"
     integrity="sha384-IuCgWQHiduOAT+8kjAx1zca6/0QOA6vzdX5urkq9cZHiP9OpNd7cwBBnXRyNb+bO"
     crossorigin="anonymous">
```

## 2023-12-12 — Web Components/Drop-in — Version 5.55.0

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### Improved

For cards, the startup log includes more detailed information that can be used to debug issues.

### Updating

Upgrading to this version

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.55.0):

```sh
npm install @adyen/adyen-web@5.55.0--save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.55.0/adyen.js"
     integrity="sha384-Bi7NEP7QvOzEM1la4Kp6wvEurPCDNRdv46Rttkqa5c9MvC8Mruye7SeUJYFJNGB5"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.55.0/adyen.css"
     integrity="sha384-IuCgWQHiduOAT+8kjAx1zca6/0QOA6vzdX5urkq9cZHiP9OpNd7cwBBnXRyNb+bO"
     crossorigin="anonymous">
```

## 2023-12-11 — Android Components/Drop-in — Version 5.1.0

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=71">Checkout API v71\</a> or later.\</p>*

### New

* The [`BcmcComponent`](https://adyen.github.io/adyen-android/bcmc/com.adyen.checkout.bcmc/-bcmc-component/index.html) now supports co-badged Bancontact cards and card brand detection.
  * The [`BcmcComponentState`](https://adyen.github.io/adyen-android/bcmc/com.adyen.checkout.bcmc/-bcmc-component-state/index.html) now contains 3 extra fields: `cardBrand`, `binValue` and `lastFourDigits`.

* You can now override payment method names in Drop-in by using [`DropInConfiguration.Builder.overridePaymentMethodName(type, name)`](https://adyen.github.io/adyen-android/drop-in/com.adyen.checkout.dropin/-drop-in-configuration/-builder/override-payment-method-name.html).

* 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`](https://adyen.github.io/adyen-android/card/com.adyen.checkout.card/-installment-configuration/show-installment-amount.html) in [`CardConfiguration.Builder.setInstallmentConfigurations()`](https://adyen.github.io/adyen-android/card/com.adyen.checkout.card/-card-configuration/-builder/set-installment-configurations.html).

* For gift cards, you can now hide the PIN text field by setting [`GiftCardConfiguration.Builder.setPinRequired()`](https://adyen.github.io/adyen-android/giftcard/com.adyen.checkout.giftcard/-gift-card-configuration/-builder/set-pin-required.html) to **false**.

* For Google Pay:

  * When initializing the [Google Pay button](/payment-methods/google-pay/android-component/#2-show-the-google-pay-button), you can now use [`GooglePayComponent.getGooglePayButtonParameters()`](https://adyen.github.io/adyen-android/googlepay/com.adyen.checkout.googlepay/-google-pay-component/get-google-pay-button-parameters.html) to get the `allowedPaymentMethods` attribute.
  * You can now use [`AllowedAuthMethods`](https://adyen.github.io/adyen-android/googlepay/com.adyen.checkout.googlepay/-allowed-auth-methods/index.html) and [`AllowedCardNetworks`](https://adyen.github.io/adyen-android/googlepay/com.adyen.checkout.googlepay/-allowed-card-networks/index.html) to easily access to the possible values for [`GooglePayConfiguration.Builder.setAllowedAuthMethods()`](https://adyen.github.io/adyen-android/googlepay/com.adyen.checkout.googlepay/-google-pay-configuration/-builder/set-allowed-auth-methods.html) and [`GooglePayConfiguration.Builder.setAllowedCardNetworks()`](https://adyen.github.io/adyen-android/googlepay/com.adyen.checkout.googlepay/-google-pay-configuration/-builder/set-allowed-card-networks.html).

### Fixed

Fixed a bug where components would not be shown in Jetpack Compose lazy lists.

### Changed

Dependency versions:

| Name                                                                                                | Version        |
| --------------------------------------------------------------------------------------------------- | -------------- |
| [AndroidX Compose Activity](https://developer.android.com/jetpack/androidx/releases/activity#1.8.0) | **1.8.0**      |
| [Material Design](https://m2.material.io/)                                                          | **1.10.0**     |
| [Gradle](https://docs.gradle.org/8.4/release-notes.html)                                            | **8.4**        |
| [Android Gradle plugin](https://developer.android.com/build/releases/gradle-plugin)                 | **8.1.2**      |
| [AndroidX Compose BoM](https://developer.android.com/jetpack/compose/bom/bom-mapping)               | **2023.10.01** |
| [AndroidX Recyclerview](https://developer.android.com/jetpack/androidx/releases/recyclerview#1.3.2) | **1.3.2**      |
| [AndroidX Fragment](https://developer.android.com/jetpack/androidx/releases/fragment#1.6.2)         | **1.6.2**      |

## 2023-12-11 — Pay by Link

### Fixed

The logo no longer appears twice in the payment link email sent to your shoppers.

### Improved

Shopper last names are now included in the payment link emails sent to your shoppers. Previously, only first name was used to address the recipient.

## 2023-12-11 — iOS Components/Drop-in — Version 5.5.0

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=71">Checkout API v71\</a> or later.\</p>*

### New

* When you offer installment payments, you can now show the number of installments and the amount of each installment in the picker. For example, **3x $20**.

  * For Sessions flow, when you make a [/sessions](https://docs.adyen.com/api-explorer/Checkout/latest/post/sessions) request, include [showInstallmentAmount](https://docs.adyen.com/api-explorer/Checkout/latest/post/sessions#request-showInstallmentAmount):**true** and [installmentOptions](https://docs.adyen.com/api-explorer/Checkout/latest/post/sessions#request-installmentOptions). We use these values to show installment options in the picker.
  * For Advanced flow, in the `InstallmentConfiguration` object, set `showInstallmentAmount` to **true** when you initialize it.

* Support for [Library Evolution](https://www.swift.org/blog/library-evolution/).

### Changed

For cards, the address lookup feature now supports a 2-step lookup process (for example, used by the Google Maps API):

1. Providing suggested addresses that might be incomplete.
2. Optionally, making another API request to complete the suggestions.

You must change the callback:

| 5.4.1 or earlier          | 5.5.0                            |
| ------------------------- | -------------------------------- |
| `.lookup(LookupProvider)` | `.lookup(AddressLookupProvider)` |

### Fixed

* When the shopper's phone number is included in the `shopperInformation` object, the pre-filled phone number prefix on the payment form automatically updates to match the correct country code.
* Drop-in now updates the payment method list after the shopper applies a gift card, in case the available payment methods change because of the updated payment amount.
* When you define custom localizations in your app bundle using `Localizable.strings`, they are now applied correctly.
* Bizum is no longer shown as an available payment method.

## 2023-12-04 — Web Components/Drop-in — Version 5.54.0

*\<p>This release requires \<a href="#/online-payments/release-notes#releaseNote=2021-10-06-checkout-api-68">Checkout API v68\</a> or later.\</p>*

### New

* For the card Component: the [address lookup feature](https://docs.adyen.com/payment-methods/cards/web-component/#implementing-the-address-lookup-feature) now includes the new `onAddressSelected` callback to handle additional information for address completion services that require a second callback, like Google Place Autocomplete API.
* For Click to Pay, if the shopper gives consent, you can now enable the cookie for Mastercard and Visa.

### Improved

* For Click to Pay, the loading image is now an animated [`SVG` file](https://en.wikipedia.org/wiki/SVG).

### Fixed

* For Drop-in:

  * Payment methods that are not cards no longer include the `fundingSource` object with **credit** or **debit**.
  * For Klarna B2B, the logo is now correct.

* For redirect payment methods, the `browserInfo` parameter is now included in the `state.data`. Previously, some redirect payment methods didn't work on mobile.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.54.0):

```sh
npm install @adyen/adyen-web@5.54.0 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.54.0/adyen.js"
     integrity="sha384-rq2KTnkjLgur5KsHdYDD9NGWL6sLBSG7DjFc224uTKIjXJXOw1GBHb7hOIS1c/iG"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.54.0/adyen.css"
     integrity="sha384-IuCgWQHiduOAT+8kjAx1zca6/0QOA6vzdX5urkq9cZHiP9OpNd7cwBBnXRyNb+bO"
     crossorigin="anonymous">
```

## 2023-12-04 — Pay by Link

### New

Payment method:Cash App Pay. [Payment method type](/payment-methods/payment-method-types): **cashapp**.

### Changed

To comply with EU consumer choice regulations, when card payment methods are available, the payment method list shows the group as Cards instead of Credit Cards.

## 2023-12-04 — Checkout API

### Changed

To be compliant with regulations, the [logo you can download](/online-payments/build-your-integration/advanced-flow?platform=Web\&integration=API%20only\&version=71#downloading-logos) for [Visa/Dankort](https://danskebank.dk/en/personal/products/cards/visadankort) has been updated.

## 2023-11-23 — Android Components/Drop-in — Version 4.13.4

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=71">Checkout API v71\</a> or later.\</p>*

### Fixed

* WeChat Pay now works correctly on [Android 11](https://www.android.com/android-11/) and later. This fixes the issue introduced in [v4.0.0](/online-payments/release-notes?integration_type=android\&version=4.0.0)

### Changed

* Dependency version:

  | Name                                                                                                 | Version   |
  | ---------------------------------------------------------------------------------------------------- | --------- |
  | [WeChat Pay](https://developers.weixin.qq.com/doc/oplatform/en/Mobile_App/Access_Guide/Android.html) | **6.8.0** |

## 2023-11-20 — Web Components/Drop-in — Version 5.53.3

*\<p>This release requires \<a href="/online-payments/release-notes#releaseNote=2021-10-06-checkout-api-68">Checkout API v68\</a> or later.\</p>*

### Fixed

* For Riverty, in the space for the consent checkbox:

  * The link for **payment conditions** now correctly goes to the terms and conditions.
  * For **Afterpay**, the terms and condition box now shows **Riverty** as the payment method name.

* For Afterpay B2B, the consent checkbox is now removed.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.53.3):

```sh
npm install @adyen/adyen-web@5.53.3 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.53.3/adyen.js"
     integrity="sha384-CSBSWtfdsTY1G+R7kuPLwB9n5wwswxe819nXJSuN75AyCAaajvLh7tMnaIf/2teS"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.53.3/adyen.css"
     integrity="sha384-9EdBqZRrjozkt+Be5ycjHBTi+4DYrafpC1KyPnNyTBfjBIZ5+oMp8BbgvPLGgsE0"
     crossorigin="anonymous">
```

## 2023-11-16 — React Native Components/Drop-in — Version 1.2.0

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=71">Checkout API v71\</a> or later.\</p>*

### New

* For Apple Pay, on the payment form, you can now require the fields for the shopper's billing and shipping address, email and name. Use `requiredShippingContactFields` and `requiredBillingContactFields`.
* For Google Pay, on the payment form, you can now require the fields for the shopper's billing and shipping address, email and name. Use `billingAddressRequired`, `billingAddressParameters`, `shippingAddressRequired` and `shippingAddressParameters`.
* For cards, you can now control the options that appear in the picker for the Country field in the payment form. Use `allowedAddressCountryCodes`, passing a list of ISO 3166-1 alpha-2 country codes.
* For cards on Android, the picker for the Country field is pre-selected with the value specified in the `countryCode` parameter.
* Support for [Xcode 15](https://developer.apple.com/xcode/).

### Changed

Library versions:

* [iOS v4.11.1](https://github.com/Adyen/adyen-ios/releases/tag/4.11.1).
* [Android v4.13.0](https://github.com/Adyen/adyen-android/releases/tag/4.13.3).

### Fixed

* The Android SDK no longer crashes when it receives invalid `Action` data.
* The `AdyenAppearance` class can now be used with app bundle IDs containing the [en dash (**-**)](https://www.ascii-code.com/character/–) character.
* You can now start Drop-in by calling `start('dropIn')`.

## 2023-11-10 — iOS Components/Drop-in — Version 4.11.1

### Fixed

* A card encryption issue no longer occurs if you use [Xcode 15](https://developer.apple.com/xcode/) when a shopper pays from a device using [iOS 17](https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-17-release-notes).\
  This fixes the issue introduced in [v4.11.0](/online-payments/release-notes?integration_type=ios\&version=4.11.0).

## 2023-11-10 — Android Components/Drop-in — Version 5.0.1

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=70">Checkout API v70\</a> or later.\</p>*

### 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](https://developer.android.com/jetpack/compose/bom/bom-mapping) | 2023.09.01 |

## 2023-11-10 — Pay by Link

### Fixed

Background images are no longer in payment links sent through email.

## 2023-11-01 — Checkout API — Version 71

### Changed

* **POST** [/paymentMethods](https://docs.adyen.com/api-explorer/Checkout/latest/post/paymentMethods):
  * To comply with EU consumer choice regulations, The `name` of the payment method group for cards is now **Cards** instead of **Credit Card**. When you use Drop-in with this API version, the payment method list shows this payment method group as **Cards**.

* **POST** [/payments](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments):
  * When you make a [partial payment](/online-payments/partial-payments/) with a gift card, and the shopper gets [redirected for 3D Secure 2](/online-payments/3d-secure) authentication, the return URL includes `redirectResult` instead of `MD` and `PaRes`. This aligns with other 3D Secure redirect flows.

* **POST** [/paymentLinks](https://docs.adyen.com/api-explorer/Checkout/latest/post/paymentLinks):

  * When you create a payment link through the API, the setting to store payment method details in the Customer Area no longer works. Instead, you have to use the `storePaymentMethodMode` parameter to indicate if the details of the payment method will be stored.
  * `metadata`: more than 80 characters will result in a validation error.

### Breaking Changes

* **POST** [/paymentLinks](https://docs.adyen.com/api-explorer/Checkout/latest/post/paymentLinks):

  * `expiresAt` format is now [ISO 8601](https://www.w3.org/TR/NOTE-datetime) with a time zone offset indicator (`YYYY-MM-DDThh:mm:ss+TZD`). For example, **2020-12-18T10:15:30+01:00**. This format is consistent with the other timestamps that we return.

    Previously, the format included the timezone indicator **Z**.

## 2023-10-31 — iOS Components/Drop-in — Version 5.4.1

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=70">Checkout API v70\</a> or later.\</p>*

### Fixed

* For Apple Pay using Drop-in, the Apple Pay payment form is now properly dismissed when the shopper cancels the payment.\
  This fixes the issue introduced in [v5.4.0](/online-payments/release-notes?integration_type=ios\&version=5.4.0).

## 2023-10-24 — Web Components/Drop-in — Version 5.53.2

*\<p>This release requires \<a href="/online-payments/release-notes/#releaseNote=2021-10-06-checkout-api-68">Checkout API v68\</a> or later.\</p>*

### Fixed

[Types are resolved](https://github.com/Adyen/adyen-web/pull/2313) when using different `moduleResolution` values within the Typescript config.

### Improved

Payment methods that show a QR code and redirect button in checkout [now show the redirect button before the QR code image](https://github.com/Adyen/adyen-web/pull/2359).

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.53.2):

```sh
npm install @adyen/adyen-web@5.53.2 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.53.2/adyen.js"
     integrity="sha384-ng3HLoZIlQ3BLgyGyGNiwWSx6LEPIlmxVuGRw72skZFt9mL8OweRjp7vcPzSqxTj"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.53.2/adyen.css"
     integrity="sha384-9EdBqZRrjozkt+Be5ycjHBTi+4DYrafpC1KyPnNyTBfjBIZ5+oMp8BbgvPLGgsE0"
     crossorigin="anonymous">
```

## 2023-10-18 — Web Components/Drop-in — Version 5.53.1

*\<p>This release requires \<a href="/online-payments/release-notes/#releaseNote=2021-10-06-checkout-api-68">Checkout API v68\</a> or later.\</p>*

### Fixed

A Typescript issue with the `paymentMethodConfiguration` object types.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.53.1):

```sh
npm install @adyen/adyen-web@5.53.1 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.53.1/adyen.js"
     integrity="sha384-cO92uqGZZqSFW9t8pUJjN5+A8si0RQ8Bmkhga81d6qiKGXnGeDk7jpXuPXLqR3lz"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.53.1/adyen.css"
     integrity="sha384-+9Waf1jRCvtk7PhY4TMQo0OAqhvS2/nqrjMpGUFlI/Q7UYwhBf0mg1nGlj09sbTq"
     crossorigin="anonymous">
```

## 2023-10-18 — Android Components/Drop-in — Version 5.0.0

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=70">Checkout API v70\</a> or later.\</p>*

### Breaking Changes

To migrate from an earlier version, follow the [migration guide](/online-payments/build-your-integration/migrate-to-android-5-0-0).

* For Drop-in, you can now configure if you show a dialog to dismiss Drop-in with a finished state or error state.

  * `DropInServiceResult.Error` now requires the `ErrorDialog` parameter.
  * `DropInServiceResult.Finished` now has an optional `FinishedDialog` parameter.

* `PaymentMethodDetails` and its sub-classes now have the `checkoutAttemptId` field.

* You can no longer manually instantiate the `Environment` class and the `baseUrl` field has been removed.

* Restructured packages and moved classes. If you are upgrading, you only need to re-import them because most classes names haven't changed.

* All classes in `com.adyen.checkout.action` are now in `com.adyen.checkout.action.core`. If you import the classes, you must update import statements.

* All public classes that should not be directly used are now marked as internal.

* 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:

  ```java
  implementation 'com.adyen.checkout:3ds2:YOUR_VERSION'
  implementation 'com.adyen.checkout:wechatpay:YOUR_VERSION'  
  ```

  Exceptions: `CardComponent` and `BcmcComponent` are able to handle the 3D Secure 2 action. They do not require the additional dependencies.

* For Drop in, you can no longer get the result using `onActivityResult()`. Drop-in now uses the [Activity Result API](https://developer.android.com/training/basics/intents/result) instead.

* For Components, you can no longer use `requiresView()` for action Component providers.

* You now must configure `environment`. The default value is no longer **TEST**.

* Build configuration: [`compileSdkVersion` and `targetSdkVersion`](https://developer.android.com/about/versions/11/setup-sdk#update-build): **34**.

* [Dependency versions](/online-payments/build-your-integration/migrate-to-android-5-0-0#update-dependencies).

* `requiresConfiguration()` in action Component providers. For all Components, configuration is optional.

* `CardConfiguration.Builder.setAddressVisibility()`. Use `CardConfiguration.Builder.setAddressConfiguration()` instead.

* `Environment.LIVE`. Use the same live environment as your backend instead. You can find that value in your Customer Area.

* `saveState()` and `restoreState()` in action components. The component will automatically handle the state now.

* `DropInServiceResult.Action` constructor from JSON string. Use the constructor with the `Action` and `Action.SERIALIZER` instead.

* `Amount.EMPTY` is removed. Pass amounts with a valid value and currency.

* In the `UnencryptedCard` class, `setExpiryDate(month, year)` now replaces `setExpiryMonth` and `setExpiryYear`.

### New

* Payment methods:

  * [ACH Direct Debit](/payment-methods/ach-direct-debit). Payment method type: **ach**.
  * [Boleto Bancario](/payment-methods/boleto-bancario). Payment method type: **boletobancario**.
  * [DuitNow](/payment-methods/duitnow). Payment method type: **duitnow**.
  * [Open banking](/payment-methods/open-banking). Payment method type: **paybybank**.
  * [Online banking Czech Republic](/payment-methods/online-banking-czech-republic). Payment method type: **onlineBanking\_CZ**.
  * [Online banking Slovakia](/payment-methods/online-banking-slovakia). Payment method type: **onlineBanking\_SK**.
  * [Pay Now](/payment-methods/paynow). Payment method type: **paynow**.
  * [PromptPay](/payment-methods/promptpay). [Payment method type](/payment-methods/payment-method-types): **promptpay**.
  * [UPI Collect](/payment-methods/upi): The shopper pays by entering their virtual payment address (VPA). Payment method type: **upi\_collect**.
  * [UPI QR](/payment-methods/upi): The shopper pays by scanning a QR code. Payment method type: **upi\_qr**.

* Analytics are turned on by default. Find out [what we track and how you can configure it](/online-payments/analytics-and-data-tracking).

  * The method for setting analytics configuration has changed:

  | v5.0.0                                                                      | Earlier versions                                   |
  | --------------------------------------------------------------------------- | -------------------------------------------------- |
  | `setAnalyticsConfiguration(analyticsConfiguration: AnalyticsConfiguration)` | `setAnalyticsEnabled(isAnalyticsEnabled: Boolean)` |

* [Jetpack Compose](https://developer.android.com/jetpack/compose) compatibility.

  * For Drop-in, use the `drop-in-compose` module.
  * For Components, use the `components-compose` module.

* For Components:

  * Payment method Components now handle actions. You no longer need a payment Component and action Components for a payment method with additional actions.
  * The `GenericActionComponent` that can handle all action types. You no longer need to implement separate Components for redirects and 3D Secure 2 authentication, for example.
  * A **Pay** button that you can configure to be hidden.
  * The `submit()` method that can be used to add your own pay/submit button.
  * You can now add `amount` to the configuration to show it on the pay/submit button.
  * The `onSubmit()` event that gets emitted when the shopper pays.

* For cards:

  * The [BIN value callback](https://github.com/Adyen/adyen-android/blob/4fe3ddbfdfa29c702037bcd7d1bf48f4fb965a4d/card/src/main/java/com/adyen/checkout/card/CardComponent.kt#L98) is invoked while the shopper inputs their card number. The callback uses up to the first 8 digits.
  * The [BIN lookup callback](https://github.com/Adyen/adyen-android/blob/4fe3ddbfdfa29c702037bcd7d1bf48f4fb965a4d/card/src/main/java/com/adyen/checkout/card/CardComponent.kt#L108) is invoked when brands are detected on the card.
  * The `brand` attribute is now included in the `paymentMethod` object for all cards. Previously, it was just included for co-badged ones.

* When the shopper is redirected to another app or browser, [a new callback](https://github.com/Adyen/adyen-android/blob/a1d5b55ad048581e86eccd8f3f6c95b6c8e6a7eb/action-core/src/main/java/com/adyen/checkout/action/core/internal/ActionHandlingComponent.kt#L48C8-L48C8) is invoked.

* When the shopper is redirected back from an external app or website, an intermediate view with a loading spinner and a **Cancel** button now shows. The shopper can select to cancel the redirect back to your app.

* 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](https://github.com/Adyen/adyen-android/blob/a1d5b55ad048581e86eccd8f3f6c95b6c8e6a7eb/drop-in/src/main/java/com/adyen/checkout/dropin/DropInServiceResult.kt#L96).

* 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:

  ```Groovy
  implementation('com.adyen.checkout:drop-in:YOUR_VERSION') {
     exclude group: 'com.adyen.checkout', module: 'card'
     exclude group: 'com.adyen.checkout', module: 'ideal'
  }   
  ```

* 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:

  ```Groovy
  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 do not include a payment method that corresponds to the module that you exclude.

* For Google Pay, new configuration in `GooglePayConfiguration`:

| Function                      | Description                                                                                                                                        |
| ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| `setAllowCreditCards`         | Specify if you allow credit cards.                                                                                                                 |
| `setAssuranceDetailsRequired` | Specify if you [require assurance details](https://developers.google.com/pay/api/web/reference/response-objects#assurance-details-specifications). |

* Sessions flow using the single `/sessions` request is now supported.
* Localization for the Portuguese (Portugal) language.

### Fixed

* QR code payment methods no longer crash in some cases.
* Rotating a device during the redirect flow no longer causes a crash.
* `@RestrictTo` annotations no longer cause false [lint check warnings](https://developer.android.com/studio/write/lint).
* `@RestrictTo` annotations no longer cause false errors with Android Studio Hedgehog (Beta).
* The Drop-in bottom sheet no longer shifts position on the screen when launching some flows, like redirect and 3D Secure 2.
* The redirect flow on Android 11.

### Improved

* The email address input field now has more specific validation rules.
* You can now instantiate more than one instance of the same Component within the same lifecycle. Passing the `key` parameter to the Component provider `get()` method. For example, you can show cards and stored cards on the same screen.
* For Components, you no longer need to handle duplicate events such as submit callbacks or errors with because they are only emitted once. [Flows](https://developer.android.com/kotlin/flow) are now used instead of [LiveData](https://developer.android.com/topic/libraries/architecture/livedata).
* More UI theme customization options like dark mode.
* The expiry date input field now has more specific validation rules and error messages.

## 2023-10-16 — Web Components/Drop-in — Version 5.53.0

*\<p>This release requires \<a href="/online-payments/release-notes/#releaseNote=2021-10-06-checkout-api-68">Checkout API v68\</a> or later.\</p>*

### New

Payment method variant:

* Klarna B2B (Billie). [Payment method type](/payment-methods/payment-method-types): **klarna\_b2b**.

### Fixed

* For SEPA, accessing `component.data`, no longer causes a crash. The properties `ibanNumber` and `ownerName` are now automatically populated with empty strings.
* For Click to Pay, the button to resend the confirmation code now works.
* The `paymentMethodConfiguration` typescript definition no longer causes a linter warning.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.53.0):

```sh
npm install @adyen/adyen-web@5.53.0 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.53.0/adyen.js"
     integrity="sha384-YLLiL/P4p+eP9GnazrF8bIvrxe/999quZMG9Sx8ta9EtLJVjAd4Pu7TUMlWoU1Me"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.53.0/adyen.css"
     integrity="sha384-+9Waf1jRCvtk7PhY4TMQo0OAqhvS2/nqrjMpGUFlI/Q7UYwhBf0mg1nGlj09sbTq"
     crossorigin="anonymous">
```

## 2023-10-16 — Checkout API

### Fixed

For the [/sessions](https://docs.adyen.com/api-explorer/Checkout/latest/post/sessions) request using a stored payment method with `recurringProcessingModel`:**CardOnFile**, the `shopperInteraction` is now correctly set to **ContAuth** for subsequent payments.

## 2023-10-11 — Web Components/Drop-in — Version 5.52.0

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### New

Adds support for the payment method ANCV.

### Improved

* Timeouts on `SecuredFieldsProvider` [are now reset](https://github.com/Adyen/adyen-web/pull/2334) after unmounting the Component. This avoids an error when mounting and immediately unmounting.

### Fixed

* An issue [removed inline styles from iframe](https://github.com/Adyen/adyen-web/pull/2343) when the **nonce** attribute was set on the `<style>` tag. This is now resolved.
* The classes applied to the `dateOfBirth` field in `personalDetails` component [are now correct](https://github.com/Adyen/adyen-web/pull/2344).
* The Polish translations for the terms and conditions for [Online Banking Poland](/payment-methods/online-banking-poland/) are fixed.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.52.0):

```sh
npm install @adyen/adyen-web@5.52.0 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.52.0/adyen.js"
     integrity="sha384-+CUDVcP7fHp84hHEDtlWS6bDIVud++nSbOL6NroAaLaGAZ9n7QWWq84GMDNj+fOE"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.52.0/adyen.css"
     integrity="sha384-+9Waf1jRCvtk7PhY4TMQo0OAqhvS2/nqrjMpGUFlI/Q7UYwhBf0mg1nGlj09sbTq"
     crossorigin="anonymous">
```

## 2023-09-29 — iOS Components/Drop-in — Version 5.4.0

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=70">Checkout API v70\</a> or later.\</p>*

**Known issue**\
For Apple Pay using Drop-in, the Apple Pay payment form is not dismissed when the shopper cancels the payment.\
Fixed in [v5.4.1](/online-payments/release-notes?integration_type=ios\&version=5.4.1).

### New

* For redirect payment methods, when the shopper opens the current payment web page in the default browser by tapping the toolbar button, `RedirectComponent` now triggers `ActionComponentDelegate.didOpenExternalApplication`.
* Bancontact cards are now supported in the `CardComponent`.
* Dual-branded Bancontact cards now allow brand selection in the `BCMCComponent`.

### Changed

* Support for [Xcode 15](https://developer.apple.com/xcode/).
* iOS 11 is no longer supported because it is [not supported by Xcode 15](https://developer.apple.com/support/xcode/).
* The [minor units](/development-resources/currency-codes/) for the following currencies:

| Currency code | Minor units |
| ------------- | ----------- |
| ISK           | 2           |
| RSD           | 2           |
| MRU           | 2           |
| GHS           | 2           |

### Fixed

* A problem no longer occurs where, when the shopper cancelled a payment in progress, `DropInComponentDelegate` didn't call `didCancel`.
* Cash App payments are no longer refused because of the missing `customerId` field in the `/payments/details` request.
* The `SwiftUI` helper now supports `AlertViewController`.
* The `formValueItemView` no longer has a memory leak.

## 2023-09-25 — Android Components/Drop-in — Version 4.13.3

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=70">Checkout API v70\</a> or later.\</p>*

### Fixed

Cash App payments are no longer refused because of the missing `customerId` field in the `/payments/details` request.

## 2023-09-19 — iOS Components/Drop-in — Version 4.11.0

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=70">Checkout API v70\</a> or later.\</p>*

**Known issue**\
If you use [Xcode 15](https://developer.apple.com/xcode/), an issue with card encryption sometimes occurs when shoppers pay from a device using [iOS 17](https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-17-release-notes).\
Fixed in [v4.11.1](/online-payments/release-notes?integration_type=ios\&version=4.11.0).

### Changed

* 3D Secure 2 SDK version: 2.3.3
* Support for [Xcode 15](https://developer.apple.com/xcode/).
  * `@Observable` renamed to `@AdyenObservable`.
* iOS 11 is no longer supported because it is [not supported by Xcode 15](https://developer.apple.com/support/xcode/).

## 2023-09-14 — Android Components/Drop-in — Version 4.13.2

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=70">Checkout API v70\</a> or later.\</p>*

### Improved

Updated device information collection during the 3D Secure 2 device fingerprinting process.

## 2023-09-11 — Web Components/Drop-in — Version 5.51.0

*\<p>This release requires \<a href="/online-payments/release-notes/#releaseNote=2021-10-06-checkout-api-68">Checkout API v68\</a> or later.\</p>*

### New

If Drop-in or Component is inside of an [iframe element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe) on your website, you can now configure redirects to be performed on the top level window. To do this, set `redirectFromTopWhenInIframe` to **true**.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.43.1):

```sh
npm install @adyen/adyen-web@5.51.0 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.51.0/adyen.js"
     integrity="sha384-FJWX32BY0zx3KKed9gdiWxoEAEsA3uh1ixchmdkflgtcDo+SoYg5ZD6uqvDmnafO"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.51.0/adyen.css"
     integrity="sha384-k6qYnmoHaucEm97eQQAs3MK5e44JQ2sksrue2tfdDOnnedKzc0VYQwxzdYWZu8Mj"
     crossorigin="anonymous">
```

## 2023-09-04 — Web Components/Drop-in — Version 5.50.1

*\<p>We recommend you use \<a href="/online-payments/release-notes/?version%5B0%5D=70\&amp;integration\_type=api">Checkout API v70\</a> or later.\</p>*

### Improved

* Added additional safety checks to validate the user input when shoppers use [co-badged cards](/payment-methods/cards/custom-card-integration/#showing-co-badged-cards).

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.50.1):

```sh
npm install @adyen/adyen-web@5.50.1 --save
```

### Tab: Embed script and stylesheet

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.50.1/adyen.js"
     integrity="sha384-JvkBT42YmJTlpFv3S+nJHfYL0aqlb38nKKi2idyGo8XzKkRTJFrQz0vwF0+m7+B+"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.50.1/adyen.css"
     integrity="sha384-k6qYnmoHaucEm97eQQAs3MK5e44JQ2sksrue2tfdDOnnedKzc0VYQwxzdYWZu8Mj"
     crossorigin="anonymous">
```

## 2023-09-04 — iOS Components/Drop-in — Version 4.10.5

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=70">Checkout API v70\</a> or later.\</p>*

If you use [Xcode 15](https://developer.apple.com/xcode/), use [v4.11.1](/online-payments/release-notes?integration_type=ios\&version=4.11.1) or later for compatibility.

### New

* Bancontact cards are now supported in the `CardComponent`.
* Dual-branded Bancontact cards now allow brand selection in the `BCMCComponent`.

### Changed

* 3D Secure 2 SDK version: 2.3.2. Includes enhancements to authentication flows and improved error handling during the in-app 3D Secure 2 challenge.

* The [minor units](/development-resources/currency-codes/) for the following currencies:

  | Currency code | Minor units |
  | ------------- | ----------- |
  | ISK           | 2           |
  | RSD           | 2           |
  | MRU           | 2           |
  | GHS           | 2           |

## 2023-09-01 — Android Components/Drop-in — Version 4.13.1

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=70">Checkout API v70\</a> or later.\</p>*

### 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 no longer shows no options. Previously, an error sometimes caused the menu to have no options, so the transaction couldn't be submitted.

## 2023-08-30 — Android Components/Drop-in — Version 4.13.0

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=70">Checkout API v70\</a> or later.\</p>*

### New

For 3D Secure 2 transactions, when a challenge is unsuccessful because of error or timeout, the details are propogated in an object instead of returning an error. You can make a [/payments/details](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments/details) request from your server to submit these details.

### Fixed

* For cards, whgen 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`](https://github.com/Adyen/adyen-android/blob/4.13.0/await/src/main/java/com/adyen/checkout/await/AwaitComponent.java) handles an action, it no longer causes a crash when resuming your app from the background.

### Changed

* 3D Secure 2 SDK version: v2.2.15.
* `compileSdkVersion` and `targetSdkVersion`: 33.

## 2023-08-28 — Web Components/Drop-in — Version 5.50.0

*\<p>This release requires \<a href="/online-payments/release-notes/#releaseNote=2021-10-06-checkout-api-68">Checkout API v68\</a> or later.\</p>*

### Changed

For Bancontact cards, the `paymentMethod.type` is now **bcmc**. Previously, it was **scheme**.

### Fixed

If there's no expiry date included for a stored card, the payment form no longer shows the **Expiry date** field. Previously, it showed **undefined/undefined**.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.50.0):

```sh
npm install @adyen/adyen-web@5.50.0 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.50.0/adyen.js"
     integrity="sha384-mlPih3LNuGzopABhn4tIqvQlPj8odHPXJoSX2EC9ZTh+7GpEuNR0Jg7rpv8V56Uj"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.50.0/adyen.css"
     integrity="sha384-k6qYnmoHaucEm97eQQAs3MK5e44JQ2sksrue2tfdDOnnedKzc0VYQwxzdYWZu8Mj"
     crossorigin="anonymous">
```

## 2023-08-22 — Checkout API

### Fixed

Fixed an issue rare internal issue that caused the `/payments` response to not include a `resultCode`.

## 2023-08-22 — Web Components/Drop-in — Version 5.49.6

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### Fixed

For cards, the `storeDetails` property is no longer mistakenly set to **true** in some cases.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.49.6):

```sh
npm install @adyen/adyen-web@5.49.6 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.49.6/adyen.js"
     integrity="sha384-KgVSWqaBqeTaVw0GyHUJIN8BpfyzJSnYiMTKMia52o6fW2X64GVodqu80glUw11Z"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.49.6/adyen.css"
     integrity="sha384-k6qYnmoHaucEm97eQQAs3MK5e44JQ2sksrue2tfdDOnnedKzc0VYQwxzdYWZu8Mj"
     crossorigin="anonymous">
```

## 2023-08-21 — Web Components/Drop-in — Version 5.49.5

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### Fixed

An error no longer causes the **Postal Code** field for some regions to accept zero characters, leading to failed validation.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.49.5):

```sh
npm install @adyen/adyen-web@5.49.5 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.49.5/adyen.js"
     integrity="sha384-MGdA+h0e3Kb54l8x/6WV2lUqfaJOQWcgVpsbFZJ0uNWnt6a0QAkp23/kN/v6gHQr"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.49.5/adyen.css"
     integrity="sha384-k6qYnmoHaucEm97eQQAs3MK5e44JQ2sksrue2tfdDOnnedKzc0VYQwxzdYWZu8Mj"
     crossorigin="anonymous">
```

## 2023-08-15 — iOS Components/Drop-in — Version 5.3.0

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=70">Checkout API v70\</a> or later.\</p>*

If you use [Xcode 15](https://developer.apple.com/xcode/), use [v5.4.0](/online-payments/release-notes?integration_type=ios\&version=5.4.0) or later for compatibility.

### Removed

```
func didComplete(with resultCode: SessionPaymentResultCode, component: Component, session: AdyenSession)
```

Use the new `didComplete` method with the `AdyenSessionResult` object instead.

### Changed

* The `countryCode` property of `AdyenSession.Context` is now optional to allow not including it in the `/sessions` request. Because this property isn't meant to be read, this breaking change shouldn't cause any build errors.
* 3D Secure 2 SDK version: 2.3.2. Includes enhancements to authentication flows and improved error handling during the in-app 3D Secure 2 challenge.

### New

* The Session delegate has a new `didComplete` method with the `AdyenSessionResult` object. This ensures that the callback is compatible with potential backend changes.

  ```
  func didComplete(with result: AdyenSessionResult, component: Component, session: AdyenSession)
  ```

  This replaces the removed `didComplete` function.

* For Apple Pay, `ApplePayConfiguration` now supports the capabilities of [`PKPaymentRequest`](https://developer.apple.com/documentation/passkit/pkpaymentrequest). Pass `PKPaymentRequest` when initializing Apple Pay. For example:

  ```
  public init(paymentRequest: PKPaymentRequest, allowOnboarding: Bool = false)
  ```

* You can now set the formatting for monetary values. Use the `locale` property on `LocalizationParameters`.

* You can now enforce a specific locale and formatting for monetary values regardless of the locale used by the shopper's device. Use `LocalizationParameters(enforcedLocale: MY_LOCALE)`.

* You can now configure the payment form to suggest billing addresses when the shopper starts to enter their address. Set the `configuration.card.billingAddress.mode` to `.lookup(handler:)`.

* For gift cards using Drop-in, you can now configure the visibility of the security code field. Set `showsSecurityCodeField` (boolean) in the `giftcard` [payment method configuration](/online-payments/build-your-integration/sessions-flow?platform=iOS\&integration=Drop-in#configure-drop-in).

### Improved

* When the shopper selects a country and region in the payment form, the selection is now fullscreen and includes a search input field where the shopper can enter a value to search for.

* For cards:

  * The address input form now shows on a separate screen.
  * Icons now have accessibility labels. When the shopper selects the **Pay** button, and an input field is invalid, focus moves to the field.

## 2023-08-14 — Web Components/Drop-in — Version 5.49.4

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### Improved

* If you opt out of [sending telemetry data](/online-payments/analytics-and-data-tracking/) and set `analytics.enabled` to **false**, the `paymentMethod.checkoutAttemptId` is set to **do-not-track**.
* Internal refactoring for some of the payment form inputs to improve the Typescript type safety.

### Fixed

When a page has more than one Card Component, the `cvcPolicy` and `expiryDatePolicy` properties can no longer be overwritten.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.49.4):

```sh
npm install @adyen/adyen-web@5.49.4 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.49.4/adyen.js"
     integrity="sha384-d1v/wRMUNANDhzR20kHGtnx86gbnDaaapLrZbUPslYG6GoVU0feyDpKHnNE0348V"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.49.4/adyen.css"
     integrity="sha384-k6qYnmoHaucEm97eQQAs3MK5e44JQ2sksrue2tfdDOnnedKzc0VYQwxzdYWZu8Mj"
     crossorigin="anonymous">
```

## 2023-08-07 — Web Components/Drop-in — Version 5.49.3

*\<p>This release requires \<a href="/online-payments/release-notes/#releaseNote=2021-10-06-checkout-api-68">Checkout API v68\</a>or later.\</p>*

### Fixed

* For issuer lists, all [logos now load correctly](https://github.com/Adyen/adyen-web/pull/2278).
* The **Refused** result code is [no longer missing](https://github.com/Adyen/adyen-web/pull/2284).

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.49.3):

```sh
npm install @adyen/adyen-web@5.49.3 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.49.3/adyen.js"
     integrity="sha384-bKD+GXPoF8VHiI52gIVGzNzb33jMln6z2l3qHuynMsa2HKKRH2Yi11YiU+37g02j"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.49.3/adyen.css"
     integrity="sha384-sQ8/lOPVFONlKDpCw2bDYrhB2aptad1O2q049MwT+6WAXUVkTu1QNFstVdsECQuV"
     crossorigin="anonymous">
```

## 2023-08-01 — React Native Components/Drop-in — Version 1.1.0

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=70">Checkout API v70\</a> or later.\</p>*

This version doesn't support [Xcode 15](https://developer.apple.com/xcode/).

### New

* Adyen client-side library versions:

  * iOS [v4.10.4](/online-payments/release-notes?integration_type=ios\&version=4.10.4)
  * Android [v4.12.1](/online-payments/release-notes?integration_type=android\&version=4.12.1)

* For Apple Pay, the [`summaryItems`](https://developer.apple.com/documentation/passkit/pkpaymentrequest/1619231-paymentsummaryitems) configuration property is now used.

* In debug mode, when there is a code change, Drop-in dismisses itself when [hot reloading](https://reactnative.dev/blog/2016/03/24/introducing-hot-reloading).

* For the Components integration, if a payment method isn't available or is unsupported, you now get an error.

### Fixed

* `AdyenCheckout` can now find payment method types that contain uppercase characters.
* A bug no longer causes `AdyenCheckout` to sometimes not find the `AdyenAppearance` class.
* In debug, `AdyenCSE` for iOS no longer shows a main thread warning in the log.

## 2023-07-31 — Web Components/Drop-in — Version 5.49.2

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### Improved

* For Trustly, some text that describes payment method is shown above the **Continue** button.\
  ![](/user/pages/docs/02.online-payments/04.release-notes/2023-07-28-2zfoi/trustly_text.png)

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.49.2):

```sh
npm install @adyen/adyen-web@5.49.2 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.49.2/adyen.js"
     integrity="sha384-CtbOrMoQX2TLo1YJOFkRYymJjh0fQkd9Bu7MxvO7R6v8iZJsfABYJKPFjQymkejn"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.49.2/adyen.css"
     integrity="sha384-sQ8/lOPVFONlKDpCw2bDYrhB2aptad1O2q049MwT+6WAXUVkTu1QNFstVdsECQuV"
     crossorigin="anonymous">
```

## 2023-07-24 — Web Components/Drop-in — Version 5.49.1

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### Fixed

* To follow [a11y](https://www.a11yproject.com/) guidelines, some [HTML markup elements changed](https://github.com/Adyen/adyen-web/pull/2270/files).

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.49.1):

```sh
npm install @adyen/adyen-web@5.49.1 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.49.1/adyen.js"
     integrity="sha384-PA7LR8pwm9kb9GmzDZZC0omYo22Z49P5AVUb5M9VPdcVZL0csQ1rioYpg9T2V8uP"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.49.1/adyen.css"
     integrity="sha384-qnBE7PYKjoczkCnsKztuq5/oFKUqP98X25aVmTb5YpMCci4yqktWu7PTu0pdcW2G"
     crossorigin="anonymous">
```

## 2023-07-17 — Web Components/Drop-in — Version 5.49.0

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### Fixed

* For the Advanced flow, if the `update` function changes the available payment methods, the payment method list reloads and shows the new payment methods.
* The `aria-labelledby` tag is no longer duplicated, so screen readers no longer read the tag twice.
* For Klarna, Drop-in no longer gets stuck in the loading state.

### Improved

For card payments, if Click to Pay doesn't load after 5 seconds, the card payment form is loaded and shown instead.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.49.0):

```sh
npm install @adyen/adyen-web@5.49.0 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.49.0/adyen.js"
     integrity="sha384-j985BuUlWlw+qDuxum1jpGVb4PVCKUdYIsqncdJn9/BbL9947Foo3/A3fXzKtXKd"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.49.0/adyen.css"
     integrity="sha384-qnBE7PYKjoczkCnsKztuq5/oFKUqP98X25aVmTb5YpMCci4yqktWu7PTu0pdcW2G"
     crossorigin="anonymous">
```

## 2023-07-11 — Web Components/Drop-in — Version 5.48.0

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### Improved

* For screen readers:

  * Alt tags for card brand logos can now be read.
  * When a QR code loads, the **Scan QR code** text can now be read.
  * Refactored [screen reader panel and provider type definitions](https://github.com/Adyen/adyen-web/pull/2217/files).

* For cards, the **securedFields** label is now a decorative `div` element.

* Labels are [no longer implicitly associated with the elements they label](https://github.com/Adyen/adyen-web/pull/2243).

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.48.0):

```sh
npm install @adyen/adyen-web@5.48.0 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.48.0/adyen.js"
     integrity="sha384-wvwpOBTCI7TDOWLqwmi5LAsI998q3l9ELPrDe9mHNnAkCHyErgsKqTfMedQga84B"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.48.0/adyen.css"
     integrity="sha384-qnBE7PYKjoczkCnsKztuq5/oFKUqP98X25aVmTb5YpMCci4yqktWu7PTu0pdcW2G"
     crossorigin="anonymous">
```

## 2023-07-03 — Web Components/Drop-in — Version 5.47.0

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### New

By default, input fields that aren't required now have indicators to show that they aren't required. To turn off the indicators, set `showFormInstruction` to **false**.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.47.0):

```sh
npm install @adyen/adyen-web@5.47.0 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.47.0/adyen.js"
     integrity="sha384-kAenwTjBl+LjzL4SR6pnW6g86ECKgokxyNnJBNQHQUajDdTJ+9VSnEQnq2qb/2HL"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.47.0/adyen.css"
     integrity="sha384-vUp9ZwlTAYyayltG5UTQ1da4pyC5f/pNg1fYUbzKNLNoy2eq6QB7aHnJFh2HaD5N"
     crossorigin="anonymous">
```

## 2023-06-28 — Web Components/Drop-in — Version 5.46.1

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### Improved

* [More translations](https://github.com/Adyen/adyen-web/pull/2239/files) for many locales.

### Fixed

* For 3D Secure 2, authentication no longer fails because of [`threeDSServerTransID` validation](https://github.com/Adyen/adyen-web/pull/2231/files#diff-ca87a5cd6d42d71af7a0262781f37f88588961361c1d559ee6778bb83fc78c45L88). Previously, some payments failed authentication because of a false mismatch of the `threeDSServerTransID`.
* For the Sessions flow, [telemetry data](/online-payments/analytics-and-data-tracking) now includes payment currency and amount.
* For QR code payment using Drop-in, the screen reader can now read information about payment status.
* The `SRPanel` for screen readers is no longer duplicated.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.46.1):

```sh
npm install @adyen/adyen-web@5.46.1 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.46.1/adyen.js"
     integrity="sha384-bLBlWaJ7SQMa6slm9lX0ZT0Tvsr75t+UX6czcWoEMJn7NEuB6e/bQePBtNpqQAF7"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.46.1/adyen.css"
     integrity="sha384-esnWMngIpjbW63tTpT0d2xNestFp/c2+i/bCHnNSaCCrZ+xVNcBsmT3hn5mzmbTN"
     crossorigin="anonymous">
```

## 2023-06-23 — Android Components/Drop-in — Version 4.12.1

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=70">Checkout API v70\</a> or later.\</p>*

### Fixed

For 3D Secure 2, consecutive payments no longer fail. Previously, if the challenge failed, retrying the payment failed in some cases.

## 2023-06-22 — iOS Components/Drop-in — Version 4.10.4

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=70">Checkout API v70\</a> or later.\</p>*

If you use [Xcode 15](https://developer.apple.com/xcode/), use [v4.11.1](/online-payments/release-notes?integration_type=ios\&version=4.11.1) or later for compatibility.

### New

[Live environment](/online-payments/build-your-integration/sessions-flow?platform=iOS\&integration=Components\&version=5.1.0#test-and-go-live) for the Asia Pacific and South East region. Set `environment` to **Environment.liveApse**.

### Changed

* The Icelandic Krona currency (ISK) now has the number of minor units according to [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217).
* 3D Secure 2 SDK version: 2.3.1.

### Fixed

* For gift cards, the shopper can now enter more than 20 digits in the **Card number** field.
* In `DropInComponent.Configuration`, when `allowsSkippingPaymentList` is set to **true**, Drop-in now stays in the `loading` state until the shopper cancels or completes the payment.

## 2023-06-19 — Web Components/Drop-in — Version 5.46.0

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.46.0):

```sh
npm install @adyen/adyen-web@5.46.0 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.46.0/adyen.js"
     integrity="sha384-QuFvAaUKpmQZhIXXEF6wgXUTQB6zV+CofeU7C6E7+oexvgcZbsZMOW1f8fKwm18r"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.46.0/adyen.css"
     integrity="sha384-esnWMngIpjbW63tTpT0d2xNestFp/c2+i/bCHnNSaCCrZ+xVNcBsmT3hn5mzmbTN"
     crossorigin="anonymous">
```

## 2023-06-15 — Web Components/Drop-in — Version 5.45.0

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### Changed

* For [French meal vouchers](/payment-methods/titres-restaurant), the **PIN** input field label is now **Security code**.

### Improved

* Postal code input fields now includes regex validation that accepts hyphens between the 5th and 6th digits for Brazilian postal codes.

### Fixed

* For gift cards, when you use a custom brand logo, it now shows correctly.
* When using Drop-in in an iframe element, Apple Pay no longer causes Drop-in to crash.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.45.0):

```sh
npm install @adyen/adyen-web@5.45.0 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.45.0/adyen.js"
     integrity="sha384-43zp+VZNwD6zmlaKcbkAVVcFBjjzv0kD1x6X17Wqc7TlIh+6Yg7Fwcp3Q90/Bwm+"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.45.0/adyen.css"
     integrity="sha384-esnWMngIpjbW63tTpT0d2xNestFp/c2+i/bCHnNSaCCrZ+xVNcBsmT3hn5mzmbTN"
     crossorigin="anonymous">
```

### New

You can now enable suggesting billing addresses when the shopper starts to enter their address in the payment form. Implement the new [`onAddressLookup` function](/payment-methods/cards/web-component#implementing-the-address-lookup-feature).

## 2023-06-12 — Pay by Link

### New

When configuring [creation settings](/unified-commerce/pay-by-link/settings#creation-settings) for payment links created through the Customer Area, you can now choose if payment links include the **Service date** input field.

## 2023-06-07 — iOS Components/Drop-in — Version 5.2.0

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=70">Checkout API v70\</a> or later.\</p>*

If you use [Xcode 15](https://developer.apple.com/xcode/), use [v5.4.0](/online-payments/release-notes?integration_type=ios\&version=5.4.0) or later for compatibility.

### New

* Payment methods:

  * CashApp Pay. Payment method [type](/payment-methods/payment-method-types): **cashapp**.

  * [Titres-restaurant](/payment-methods/titres-restaurant) (French Meal Vouchers).

    * Apetiz (Natixis). Payment method [type](/payment-methods/payment-method-types): **mealVoucher\_FR\_natixis**.
    * Sodexo. Payment method [type](/payment-methods/payment-method-types): **mealVoucher\_FR\_sodexo**.
    * Up Déjeuner. Payment method [type](/payment-methods/payment-method-types): **mealVoucher\_FR\_groupeup**.

* For Drop-in, you can now configure the ACH Direct Debit payment method. When creating a Drop-in configuration, set the following in `ach` properties:

  * `showsStorePaymentMethodField`
  * `showsBillingAddress`
  * `billingAddressCountryCodes`

* For Apple Pay, you can now choose to only accept either debit cards or\
  credit cards.

### Changed

* The Icelandic Krona currency (ISK) now has the number of minor units according to [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217).
* 3D Secure 2 SDK version: 2.3.1.

### Fixed

* For gift cards, the shopper can now enter more than 20 digits in the **Card number** field.

* Drop-in now shows the correct size when used in split screen mode on iPad or on a [Mac application designed for iPad](https://support.apple.com/en-gb/guide/app-store/fird2c7092da/mac).

* For alerts under input fields, you can now see full messages that do not fit on one line.

* For UPI, when in dark mode:

  * For QR codes, the image now shows correctly. Previously, the image appeared completely black.
  * The background color is now black.
  * The background color of the search bar is now black.

### Deprecated

* The `amountToPay` property of `PaymentComponentData`. Use the `amount` property instead.

## 2023-06-05 — Web Components/Drop-in — Version 5.44.0

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### New

Payment method: Cash App Pay. [Payment method type](/payment-methods/payment-method-types): **cashapp**.

### Improved

For QR codes, the countdown timer can now be read by screen readers.

### Fixed

For screen readers:

* Drop-down menus options can now be read accurately.
* Payment method names in the Drop-in payment methods list now get read once. Previously, payment method names were read twice.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.44.0):

```sh
npm install @adyen/adyen-web@5.44.0 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.44.0/adyen.js"
     integrity="sha384-EedHbKYY/Ev3kVMABmp+l25jEaNxkVg45aee29kCwCpd4DAQaNsVd3pgArwZX3JJ"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.44.0/adyen.css"
     integrity="sha384-ncGh5IPNy7Xx9N0SGgkQn36wdbE16y1E/iHvYdCiJqdNldS7gusM2QlbIIN77h1X"
     crossorigin="anonymous">
```

## 2023-05-31 — Android Components/Drop-in — Version 4.12.0

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=70">Checkout API v70\</a> or later.\</p>*

### New

Payment method: Cash App Pay. [Payment method type](/payment-methods/payment-method-types): **cashapp**.

### Removed

For 3D Secure 2, the `threeDSRequestorAppURL` no longer has a default value. Instead, you can manually set it when you configure it:

```
Adyen3DS2Configuration.Builder(locale, environment, clientKey)
    .setThreeDSRequestorURL("https://my-app.com/adyen3ds2")
    .build()
```

### Fixed

* For Google Pay, serializing the shipping address parameters no longer causes an error.
* For WeChat Pay on Android 11, an API restriction no longer causes an error.

## 2023-05-30 — Web Components/Drop-in — Version 5.43.1

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### Improved

* For cards, if you set the `installmentOptions` property in the [global configuration object](/online-payments/build-your-integration/sessions-flow?platform=Web\&integration=Drop-in\&version=5.43.0#configure), you now get a warning message.
* For Drop-in, if you set a payment method specific configuration property in the global configuration object, you now get a warning message.
* For Components, if you try to create an unrecognized payment method Component, you now get an error message.

### Fixed

* The `SRPanel` for screen readers now has the static type of `srPanel`. Previously the `_id` property was **undefined**.
* The `CoreOptions` object now includes types that were previously missing.
* Screen readers can now read the alt text for brand logos. Previously the `aria-hidden` attribute prevented this.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.43.1):

```sh
npm install @adyen/adyen-web@5.43.1 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.43.0/adyen.js"
     integrity="sha384-YjFx15k4Uc9TRivIWGdpSu0wtMyH5cnD3VyKIx/Qk0BKod0osE3s/Jvb2nlWSovM"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.43.0/adyen.css"
     integrity="sha384-9N2Z2Q52NG3GmPKAXjzfPyGAQNCLKNrtExVZyfQ/QcbebtRaSboSKxvN8dLM0rVI"
     crossorigin="anonymous">
```

## 2023-05-15 — Web Components/Drop-in — Version 5.43.0

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### Improved

* For cards, the `onBinLookup` event now additionally contains `paymentMethodVariant` that specifies the card brand variant.
* For SEPA, the owner name and IBAN number fields now include labels to follow [a11y guidelines](https://www.a11yproject.com/).

### Fixed

* Images no longer fail to load and cause a crash. This fixes the known issue from [v5.41.0](/online-payments/release-notes?integration_type=web\&version=5.41.0) to v5.42.1.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.43.0):

```sh
npm install @adyen/adyen-web@5.43.0 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.43.0/adyen.js"
     integrity="sha384-YjFx15k4Uc9TRivIWGdpSu0wtMyH5cnD3VyKIx/Qk0BKod0osE3s/Jvb2nlWSovM"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.43.0/adyen.css"
     integrity="sha384-9N2Z2Q52NG3GmPKAXjzfPyGAQNCLKNrtExVZyfQ/QcbebtRaSboSKxvN8dLM0rVI"
     crossorigin="anonymous">
```

## 2023-05-09 — Web Components/Drop-in — Version 5.42.0

*\<p>This release requires \<a href="/online-payments/release-notes/?version%5B0%5D=68\&amp;integration\_type=api">Checkout API v68\</a> or later.\</p>*

### New

* The PayPal component now supports Venmo.

### Fixed

* Client-side email address validation is [improved](https://github.com/Adyen/adyen-web/pull/2133).
* The screen readers now communicate errors regarding client-side email address validation.
* The `GetImage` property [no longer causes a crash](https://github.com/Adyen/adyen-web/pull/2141) of the custom card Component.
* The typing of the `BrowserInfo` object [has been fixed](https://github.com/Adyen/adyen-web/pull/2131).

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.42.0):

```sh
npm install @adyen/adyen-web@5.42.0 --save
```

### Tab: Embed script and stylesheet

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.42.0/adyen.js"
     integrity="sha384-PMAmeZG/M005l456dtr3YFnLXyBwhDuZ3m6xTQ11Emy7YnD0ZpiIObEwb8EnARU8"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.42.0/adyen.css"
     integrity="sha384-BRZCzbS8n6hZVj8BESE6thGk0zSkUZfUWxL/vhocKu12k3NZ7xpNsIK39O2aWuni"
     crossorigin="anonymous">
```

### Known Issues

* The Custom card, SEPA and Redirect Components receive `getImage` errors when retrieving brand or validation icons. Fixed in [v5.43.0](/online-payments/release-notes?integration_type=web\&version=5.43.0).
* On the Safari browser [v16.4 or earlier](https://developer.apple.com/documentation/safari-release-notes/#version-16), the payment form shows errors when validating email addresses. Fixed in [v5.42.1](/online-payments/release-notes?integration_type=web\&version=5.42.1).

## 2023-05-09 — Web Components/Drop-in — Version 5.42.1

*\<p>This release requires \<a href="/online-payments/release-notes/?version%5B0%5D=68\&amp;integration\_type=api">Checkout API v68\</a> or later.\</p>*

### Fixed

On the Safari browser [v16.4 or earlier](https://developer.apple.com/documentation/safari-release-notes/#version-16), the payment form no longer shows errors when validating email address. This fixes the known issue from [v5.42.0](/online-payments/release-notes?integration_type=web\&version=5.42.0).

### Known Issues

* The Custom card, SEPA and Redirect Components receive `getImage` errors when retrieving brand or validation icons. Fixed in [v5.43.0](/online-payments/release-notes?integration_type=web\&version=5.43.0).

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.42.1):

```sh
npm install @adyen/adyen-web@5.42.1 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.42.1/adyen.js"
     integrity="sha384-I8leTYrYuMNc/JcNlG17XtJgisqBbsbc/11Yt0zuB36l6sb9kmoNX2Okb2Wv4+3t"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.42.1/adyen.css"
     integrity="sha384-n4dTTZ+azuVqpcZljfVAI/vmTLeB8UVV4b0f0jgOcUnh/EySPLFdqXn29mmjRFoU"
     crossorigin="anonymous">
```

## 2023-05-02 — Web Components/Drop-in — Version 5.41.0

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### Improved

* The way images and assets are loaded internally. This shouldn't affect the code in your integration.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.41.0):

```sh
npm install @adyen/adyen-web@5.41.0 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.41.0/adyen.js"
     integrity="sha384-i+7Em2dyjN9Hkb0A6J/i7ijqRtlgbq2vqHFDShR7r1eDyIQOTtVTjIw/n7ewuAoT"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.41.0/adyen.css"
     integrity="sha384-BRZCzbS8n6hZVj8BESE6thGk0zSkUZfUWxL/vhocKu12k3NZ7xpNsIK39O2aWuni"
     crossorigin="anonymous">
```

### Known Issues

* The Custom card, SEPA and Redirect Components receive `getImage` errors when retrieving brand or validation icons. Fixed in [v5.43.0](/online-payments/release-notes?integration_type=web\&version=5.43.0).
* On the Safari browser [v16.4 or earlier](https://developer.apple.com/documentation/safari-release-notes/#version-16), the payment form shows errors when validating email addresses. Fixed in [v5.43.0](/online-payments/release-notes?integration_type=web\&version=5.43.0).

## 2023-04-25 — Web Components/Drop-in — Version 5.40.1

*\<p>This release requires \<a href="/online-payments/release-notes/?version%5B0%5D=68\&amp;integration\_type=api">Checkout API v68\</a> or later.\</p>*

### Fixed

* The [preselected number of installments](/payment-methods/cards/credit-card-installments#sessions-request) for the installments component [now works as expected](https://github.com/Adyen/adyen-web/pull/2117).
* Decimal places are [now shown correctly](https://github.com/Adyen/adyen-web/pull/2119) for all currencies in Chromium-based browsers.
* The [Ticket Edenred](/development-resources/test-cards-and-credentials/alternative-payment-method-credentials#brazil-vouchers) Component [now hides the expiry date field](https://github.com/Adyen/adyen-web/pull/2122) by default.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.40.1):

```sh
npm install @adyen/adyen-web@5.40.1 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.40.1/adyen.js"
     integrity="sha384-I+GOUY+iLpGtRJoHGKFQL9gy6tXyv/l6ujXMoDHwmmxpKxvBiRnHU6wbXPG/JeU+"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.40.1/adyen.css"
     integrity="sha384-BRZCzbS8n6hZVj8BESE6thGk0zSkUZfUWxL/vhocKu12k3NZ7xpNsIK39O2aWuni"
     crossorigin="anonymous">
```

## 2023-04-17 — Checkout API

### New

Platforms can now book chargeback fees separately from the disputed amount, to a balance account specified in the [`platformChargebackLogic.costAllocationAccount`](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments#request-platformChargebackLogic-costAllocationAccount) field of the [/payments](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments) request.

## 2023-04-17 — Web Components/Drop-in — Version 5.40.0

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### New

For online banking payment methods, terms and conditions now show above the **Continue** button.

### Fixed

In the payment form:

* Address input fields now accept the dash (**-**) character.
* Labels for input fields are no longer cut off on small screens. For example, the **House number** label now shows completely on a 320px viewport.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.40.0):

```sh
npm install @adyen/adyen-web@5.40.0 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.40.0/adyen.js"
     integrity="sha384-ds1t0hgFCe636DXFRL6ciadL2Wb4Yihh27R4JO7d9CF7sFY3NJE4aPCK0EpzaYXD"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.40.0/adyen.css"
     integrity="sha384-BRZCzbS8n6hZVj8BESE6thGk0zSkUZfUWxL/vhocKu12k3NZ7xpNsIK39O2aWuni"
     crossorigin="anonymous">
```

## 2023-04-17 — Android Components/Drop-in — Version 4.11.0

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=70">Checkout API v70\</a> or later.\</p>*

### New

* For BLIK, one-click is now supported.

* For 3D Secure 2, the `threeDSRequestorAppURL` can now be overridden from the configuration so that you can now use the [Android App Link](https://developer.android.com/studio/write/app-link-indexing) format (HTTP).

  Because of recent updates to the 3D Secure protocol, we strongly recommend that you provide the `threeDSRequestorAppURL` parameter as an Android App Link instead of custom link. This requires your app to [handle the provided Android App Link](/online-payments/classic-integrations/classic-api-integration/3d-secure-authentication/native-3ds2/android-sdk-integration#handling-android-app-links).

  Use `setThreeDSRequestorURL` when creating your configuration object:

  **Override the threeDSRequestorAppURL**

  ```
  ```

### Fixed

* For BCMC, errors are now correctly highlighted.

## 2023-04-07 — Web Components/Drop-in — Version 5.39.1

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### Fixed

* For Boleto Bancário:

  * When the shopper selects the checkbox to send a copy of the payment form to their email, a validation error no longer occurs.
  * The first name and last name input fields now have more descriptive and accessible error messages.

* For BLIK, the input field for the verification code no longer includes suggested values, because verification codes aren't reusable.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.39.1):

```sh
npm install @adyen/adyen-web@5.39.1 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.39.1/adyen.js"
     integrity="sha384-s9CaVLZzXI0yqeviTiJxt7PEuykDoq3aWv3xurtBoX4hfaFUc1FBAa4OelSynoDw"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.39.1/adyen.css"
     integrity="sha384-wfFaUCatOjF81fz/vsj2zdQuPWekgx9HbIMfEUjEHzTKX7v/juxeM+zIJA0QKJtO"
     crossorigin="anonymous">
```

## 2023-04-04 — Checkout API

### Changed: general

When using [/sessions](https://docs.adyen.com/api-explorer/Checkout/latest/post/sessions) for Drop-in and Components, sessions are rendered invalid after the payment is completed to prevent duplicate payments.

## 2023-04-03 — Web Components/Drop-in — Version 5.39.0

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### New

* Apple Pay now supports recurring payments. Use the new [`recurringPaymentRequest`](https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypaymentrequest/3955946-recurringpaymentrequest) property to accept recurring payments.
* For PayPal, you can now customize the [Pay Later message](https://developer.paypal.com/docs/checkout/pay-later/integrate/). Set the new `enableMessages` property to **true**.

### Improved

* For cards, the payment form now shows the scheme name Visa instead of the value in the `descriptorName` field.
* The `Fieldset` component now uses `fieldset` and `legend` elements. Screen readers can now read the relationship between different form controls.
* Brand icons for cards and QR codes now include alt text that corresponds to the brand name.

### Fixed

* For bank payments, the payment button in the payment form now no longer shows when the [`showPayButton`](/online-payments/build-your-integration/sessions-flow?platform=Web\&integration=Components#optional-configuration) property is set to **false**.

* For the [Advanced flow](/online-payments/build-your-integration) with cards, the check for [the object to show stored payment methods from the `/paymentMethods` response](/payment-methods/cards/web-component?tab=show-stored-cards-payment-methods_2#show-stored-cards) now correctly checks for `storedPaymentMethods`. Previously, it checked for `storePaymentMethods`.

* For Visa, the `checkoutOrchestrator` property is now named correctly. Previously, it was named `checkoutOrchestator`.

* For ApplePay:

  * The `amount` property is no longer passed to `UIElement`.
  * The `configuration` property is no longer passed to `UIElement`.
  * The `Wallets` configuration no longer uses deprecated values.

* For card payments that go through a successful 3D Secure 2 challenge, `onComplete` can no longer be mistakenly called more than once.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.39.0):

```sh
nmp install @adyen/adyen-web@5.39.0 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.39.0/adyen.js"
     integrity="sha384-xEeOeJS9noqG6GBdLeyfdybymyC6T4EG+kKvvii2xJkChmwENEgCTpP+XvET9NDG"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.39.0/adyen.css"
     integrity="sha384-wfFaUCatOjF81fz/vsj2zdQuPWekgx9HbIMfEUjEHzTKX7v/juxeM+zIJA0QKJtO"
     crossorigin="anonymous">
```

## 2023-03-27 — Web Components/Drop-in — Version 5.38.0

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### New

* For Adyen Giving, you can now add a message above the **Donate** button. In the `DonationComponent` configuration, use the new `disclaimerMessage` prop.
* Apple Pay now supports the [eftpos](https://www.eftposaustralia.com.au/) card network.

### Improved

* Increased contrast ratio for the outline of buttons and, when the payment form has more than 3 supported card brands, for the number that indicates the number of additional supported card brands.
* Error messages that occur in the drop-down list of issuers can now be read by screen readers.
* [Accessibility improvements](https://github.com/Adyen/adyen-web/pull/2059) that follow [a11y](https://www.a11yproject.com/) guidelines.

### Fixed

* Shoppers on mobile devices can now select an issuer from the drop-down list of issuers without error. This fixes the known issue from [v5.37.0](/online-payments/release-notes?integration_type=web\&version=5.37.0).
* For MB WAY, the payment form no longer shows more than one label for each input field.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.38.0):

```sh
npm install @adyen/adyen-web@5.38.0 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.38.0/adyen.js"
     integrity="sha384-uoYZHqftW2oZ6ZlSSv3pu0w4+zqVc0lKpXeVl2b/rgwsOvVAVYYSoFBkChjWls50"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.38.0/adyen.css"
     integrity="sha384-dzFUmC8dpGlHeo+gB2Bf4d9PXOtHJj90UPbuZhE8U41Fy1ONLJwBOCJVWZ5DhxFM"
     crossorigin="anonymous">
```

## 2023-03-21 — Web Components/Drop-in — Version 5.37.0

*\<p>This release requires \<a href="/online-payments/release-notes/?version%5B0%5D=68\&amp;integration\_type=api">Checkout API v68\</a> or later.\</p>*

### Improved

This release enhances the accessibility of Web Drop-in and Components:

* We made major improvements related to how errors are handled by screen readers. For more information, see [pull request in GitHub](https://github.com/Adyen/adyen-web/pull/2044).
* We've updated a drop-down box that is used throughout Web Drop-in and Components to better support keyboard and accessible technology user interaction. For more information, see [pull request in Github](https://github.com/Adyen/adyen-web/pull/1937).
* We've improved UI text and translations for credit card payments in over 20 languages. For more information, see [pull request in GitHub](https://github.com/Adyen/adyen-web/pull/2043).

### Known Issues

For payment methods that include a list of issuers, shoppers on mobile are not able to select an issuer from the drop-down list. Fixed in [v5.38.0](/online-payments/release-notes?integration_type=web\&version=5.38.0).

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.37.0):

```sh
npm install @adyen/adyen-web@5.37.0 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.37.0/adyen.js"
     integrity="sha384-TuqC1LaZ2iw0DlDrmluxE4vRttgTLNohEkxYPgwNvRX8c9wwHemZ/vxZC0O9tdoQ"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.37.0/adyen.css"
     integrity="sha384-rK6FOZCL/OiCDgj87Rk5w7v8BBO2GGXpzIZcWUMqwJVPRBtx3rMrgamBlGOXvKsP"
     crossorigin="anonymous">
```

## 2023-03-21 — Checkout API

### Changed

When using [/sessions](https://docs.adyen.com/api-explorer/Checkout/latest/post/sessions) for Drop-in and Components, it is no longer possible to have more than 5 refusals per session.

## 2023-03-14 — Web Components/Drop-in — Version 5.36.0

*\<p>This release requires \<a href="/online-payments/release-notes/?version%5B0%5D=68\&amp;integration\_type=api">Checkout API v68\</a> or later.\</p>*

### New

* You can now pass an [`ApplePayPaymentAuthorizationResult`](https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypaymentauthorizationresult) to the resolve/reject functions, which is automatically passed to the Apple [`completePayment`](https://developer.apple.com/documentation/apple_pay_on_the_web/applepaysession/1778012-completepayment) function, for example:

```js
onAuthorized: (resolve, reject, event) => {
   reject({
     errors: [
          new ApplePayError(
            'shippingContactInvalid',
            'locality',
            'Field locality is required'
          ),
        ]
    })
}
```

By doing so, you can show useful error messages to your shoppers when the payment fails.

### Improved

* For returning [ACH Direct Debit](/payment-methods/ach-direct-debit) shoppers, we now display the last four numbers of their bank account number for recognition.

### Fixed

* Drop-in and Components no longer have errors related to accessing `localStorage` when rendered in an `<iframe>` in a Google Chrome incognito window.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.36.0):

```sh
npm install @adyen/adyen-web@5.36.0 --save
```

### Tab: Embed script and stylesheet

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.36.0/adyen.js"
     integrity="sha384-NqawORR6KhblmVfr8zJQU27SUUdvqomDEdWunCP8aPnCiaeqp4+moRZkCusSImyr"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.36.0/adyen.css"
     integrity="sha384-B+X5tfQbLgoh0kgWjroUSwJaqgQCbmEsWxP1kuyJpsWq/5j1MQzYfR2MSB8oWbib"
     crossorigin="anonymous">
```

## 2023-03-07 — Web Components/Drop-in — Version 5.35.0

*\<p>This release requires \<a href="/online-payments/release-notes/?version%5B0%5D=68\&amp;integration\_type=api">Checkout API v68\</a> or later.\</p>*

### Fixed

* For debit card payments, shoppers are no longer shown installment options, as installments aren't compatible with debit cards.
* The state of [Blik](/payment-methods/blik) Components can now only be accessed once the component is fully rendered, preventing errors.

### New

* In [Card Components](/payment-methods/cards/web-component) and [Card Drop-in](/payment-methods/cards/web-drop-in), you can now add an optional disclaimer. The disclaimer may include a hyperlink, for example to link to your terms and conditions:

| Field                      | Description                                                                                                                          |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| disclaimerMessage.message  | A string of text that is shown in the bottom of the Card Component. Use `%{linkText}` to reference the optionally defined hyperlink. |
| disclaimerMessage.linkText | The hyperlink's text                                                                                                                 |
| disclaimerMessage.link     | The hyperlink's destination. The link opens in a new tab.                                                                            |

Example:

```js
disclaimerMessage: {
     message: 'By continuing you accept the %{linkText} of MyStore',
     linkText: 'terms and conditions',
     link: 'https://www.adyen.com'
 }
```

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.35.0):

```sh
npm install @adyen/adyen-web@5.35.0 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.35.0/adyen.js"
     integrity="sha384-KF6Y8NQXGnIuzqJn5rcqCe6dMy7gBWobcIKr1BmIaz6pOeBAV0hrHBBMbHC/inHu"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.35.0/adyen.css"
     integrity="sha384-uwMmo3xJR0e9jI+Oi5kzu43ShY0pXrb3auIlCjLjMNtl0X8Nat55eXNqwj8xU6H9"
     crossorigin="anonymous">
```

## 2023-02-27 — Web Components/Drop-in — Version 5.34.0

*\<p>This release requires \<a href="/online-payments/release-notes/?version%5B0%5D=68\&amp;integration\_type=api">Checkout API v68\</a> or later. \</p>*

### New

* You can now set the PayPal [`intent`](/payment-methods/paypal/web-drop-in#intent) for an individual payment through the Drop-in or Component configuration. This value overrides the general one retrieved from your Customer Area.
* We now [track](/online-payments/analytics-and-data-tracking) amount and currency data of payments.

### Improved

* Payment methods that use QR codes don't automatically redirect shoppers on mobile devices to the QR code's destination anymore. Instead, shoppers are presented an **Open app** button that redirects them to complete the payment.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.34.0):

```sh
npm install @adyen/adyen-web@5.34.0 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.34.0/adyen.js"
     integrity="sha384-C80U3xzAgeeM9JSb/tpk6u/5bZDi5hoEpC7LnYggQdNAUjcVf1qz4xcDq3pNC/8y"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.34.0/adyen.css"
     integrity="sha384-88r8u6d13bW5nmZG2o+PJoSDzaNlRLDDcv38fSbWCnD12+7sVZqQ5IKvb90PXpLT"
     crossorigin="anonymous">
```

## 2023-02-20 — Checkout API

### New

Responses to Amazon Pay **POST** [`/payments`](https://docs.adyen.com/api-explorer/Checkout/70/post/payments) requests now contain `additionalData.amazonPayToken`. You can use this token as a reference, for example when troubleshooting your payment directly with Amazon Pay.

## 2023-02-14 — iOS Components/Drop-in — Version 5.1.0

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=69">Checkout API v69\</a> or later.\</p>*

If you use [Xcode 15](https://developer.apple.com/xcode/), use [v5.4.0](/online-payments/release-notes?integration_type=ios\&version=5.4.0) or later for compatibility.

### New

* Payment methods:

  * [PayNow](/payment-methods/paynow). `paymentMethod.type`: **paynow**.

  * [DuitNow](/payment-methods/duitnow). `paymentMethod.type`: **duitnow**.

  * [Open banking UK](/payment-methods/open-banking). `paymentMethod.type`: **openbanking\_UK**.

  * [UPI](/payment-methods/upi):

    * UPI Collect: The shopper pays by entering their virtual payment address (VPA). `paymentMethod.type`: **upi\_collect**.
    * UPI QR: The shopper pays by scanning a QR code. `paymentMethod.type`: **upi\_qr**.

* For Drop-in, you can now stop the loading state after the shopper selects the **Pay** button. By doing this, you can allow the shopper to try the payment again instead of dismissing Drop-in if you get an error during the payment. Use the new `stopLoading` method.

* For QR code payment methods, the QR code screen now has a **Cancel** button instead of a **cross (x)** button in the corner for the shopper to cancel the payment.

### Fixed

* For cards, `CardComponentDelegate.didChangeBIN(:component:)` now provides the 8-digit bank identification number (BIN) when the card number is 16 or more digits. Previously, it only provided the 8-digit BIN when the card number was 17 or more digits.
* In `DropInComponent.Configuration`, when `allowsSkippingPaymentList` is set to **true**, Drop-in now stays in the loading state until the shopper cancels or completes the payment.
* When the shopper submits a payment, the billing address that the shopper entered is now submitted. Previously, when the selected country/region didn't include a state or province field, the submitted value was nil.
* For stored payment methods, the section header now gets the style from `ListSectionHeaderStyle`.
* When a list of issuers is shown during checkout, the background is no longer transparent.

## 2023-02-08 — Android Components/Drop-in — Version 4.10.0

*\<p>We recommend using \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=69">Checkout API v69\</a> or later.\</p>*

### New

* The `CardComponentState.binValue` now reports 8 digit bins in case of card numbers with 16 or more digits.
* The new `CardBrand` class can be used to define unknown card brands. This can be used along with `CardType`.
* When adding new card brands through `CardConfiguration`, you can now use the new `CardBrand` to add brands that are not already defined in `CardType`. For example:
  ```kotlin
  CardConfiguration.Builder(SHOPPER_LOCALE, ENVIRONMENT, CLIENT_KEY)
  .setSupportedCardTypes(CardBrand(txVariant = "CARD_BRAND_1"), CardBrand(txVariant = "CARD_BRAND_2"))
  .build()
  ```

### Changed

* 3D Secure 2 SDK version: 2.2.11.
* `compileSdkVersion` and `targetSdkVersion` version: 32.
* [Kotlin](https://kotlinlang.org/) version: 1.6.21.
* [Kotlin coroutines](https://kotlinlang.org/docs/coroutines-overview.html) version: 1.6.1.
* [Fragment](https://developer.android.com/jetpack/androidx/releases/fragment) version: 1.5.5.
* [AppCompat](https://developer.android.com/jetpack/androidx/releases/appcompat) version: 1.5.1.

### Fixed

* For cards, you can now add unknown card types that aren't defined in `CardType`. Previously, `CardType.UNKNOWN` was not working correctly.
* There is no longer a conflict with the 3D Secure 2 SDK that causes a runtime exception. This fixes the [known issue in v4.9.0](/online-payments/release-notes?integration_type=android\&version=4.9.0).

### Deprecated

* The `CardType.UNKNOWN` property. Use `CardBrand(txVariant = "CARD_BRAND")` instead.
* The `CardType.setTxVariant()` method. It is no longer needed because it was used with `CardType.UNKNOWN`.

## 2023-02-06 — Pay by Link

### Changed

Payments using payment links no longer include the `applicationInfo` parameter.

## 2023-02-06 — Web Components/Drop-in — Version 5.33.0

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### New

The new [`onActionHandled`](/online-payments/build-your-integration/sessions-flow?platform=Web\&integration=Components#optional-configuration) callback informs you when an action, for example a QR code or 3D Secure authentication screen, is shown to the shopper. It returns data that contains the type of component that shows the action to the shopper and a description of the action.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.33.0):

```sh
npm install @adyen/adyen-web@5.33.0 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.33.0/adyen.js"
     integrity="sha384-mPMlkgVUT7jVJZT0sTSfe+M4uN1ArRf1Itg76PcI6Y+zPLDvjCnjmAyyjtak3269"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.33.0/adyen.css"
     integrity="sha384-86hqIixzFjIoRoaNYg9pd4mtpn3HtgJmrpYiyTv+3DaGPF70VnRUbtK7MKLTLRd9"
     crossorigin="anonymous">
```

## 2023-01-30 — Checkout API — Version 70

Follow the [migration guide](/online-payments/migrate-to-checkout-api-v70) to upgrade your integration.

### Breaking Changes

* For the [/payments](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments) or [/sessions](https://docs.adyen.com/api-explorer/Checkout/latest/post/sessions) request to [store payment details](/online-payments/tokenization) or make a payment with stored payment details:\
  You now must include the [recurringProcessingModel](https://docs.adyen.com/api-explorer/Checkout/70/post/payments#request-recurringProcessingModel) parameter.

* For the [/sessions](https://docs.adyen.com/api-explorer/Checkout/latest/post/sessions) request to [store payment details](/payment-methods/cards/web-drop-in#create-a-token):\
  You now must include the [recurringProcessingModel](https://docs.adyen.com/api-explorer/Checkout/70/post/payments#request-recurringProcessingModel) parameter.

* For the [/paymentMethods/balance](https://docs.adyen.com/api-explorer/Checkout/latest/post/paymentMethods/balance) request to check a gift card balance:\
  You now must include the [`amount`](https://docs.adyen.com/api-explorer/Checkout/70/post/paymentMethods/balance#request-amount) parameter.

* For [Pix](/payment-methods/pix), the [/payments](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments) response no longer includes `action.url`. You must [use `action.qrCodeData` to render the QR code](/payment-methods/pix/api-only#present-qr-code).

### Changed

* You must now make a [/payments](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments) or [/sessions](https://docs.adyen.com/api-explorer/Checkout/latest/post/sessions) request to store payment details. You can no longer configure it from the Customer Area.

* For the [/sessions](https://docs.adyen.com/api-explorer/Checkout/latest/post/sessions) request:

  * The [storePaymentMethod](https://docs.adyen.com/api-explorer/Checkout/latest/post/sessions#request-storePaymentMethod) parameter. Use `storePaymentMethodMode` instead.
  * If the required [reference](https://docs.adyen.com/api-explorer/Checkout/70/post/sessions#request-reference) parameter isn't included, you now get a validation error.

* For [/payments](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments) and [/sessions](https://docs.adyen.com/api-explorer/Checkout/latest/post/sessions) requests including line items for custom risk rules:\
  You can now [use the `lineItems` parameter instead of `additionalData.riskdata.basket`](/online-payments/migrate-to-checkout-api-v70#include-line-items-for-risk-rules).

### New

* The `/storedPaymentMethods` endpoint:

  * Make a **GET** request to list the stored payment details for a shopper, if there are any available.
  * Make a **DELETE** request to disable stored payment details to stop charging a shopper with the particular recurring detail ID.

* For [/sessions](https://docs.adyen.com/api-explorer/Checkout/latest/post/sessions) and `/paymentLinks` requests:\
  You can now include the `storePaymentMethodMode` parameter to set when to store the shopper's payment details.

* For the [/paymentMethods](https://docs.adyen.com/api-explorer/Checkout/latest/post/paymentMethods) request:\
  When you include the `shopperReference` parameter, stored payment details in the response now contain the `supportedRecurringProcessingModel` parameter.

* For specific industries, such as hospitality, you can specify a reason when making a merchant-initiated transaction with stored payment details. In the [/payments](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments) request, include the `industryUsage` parameter to specify a reason for the payment. Possible values:

  * **delayedCharge**.
  * **noShow**.
  * **installment**.

### Removed

In the Customer Area, on the **Settings** > **Checkout Settings** page:

* Turning on the **enableRecurring** toggle no longer adds the required parameters to store payment details in payment requests.
* Turning on the **enablePayout** toggle no longer adds the required parameters to store payment details for payouts.

### Fixed

* For [/payments](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments) and [/sessions](https://docs.adyen.com/api-explorer/Checkout/latest/post/sessions) requests to make payments with stored payment details:\
  When you include `shopperInteraction`: **ContAuth** and `recurringProcessingModel`: **CardOnFile**, the transactions now always get processed as **CardOnFile** payments.

* If you contacted our [Support Team](https://ca-test.adyen.com/ca/ca/contactUs/support.shtml?form=other) to enable filtering payment methods based on your store, when making a [/paymentMethods](https://docs.adyen.com/api-explorer/Checkout/latest/post/paymentMethods) or [/sessions](https://docs.adyen.com/api-explorer/Checkout/latest/post/sessions) request including [store](https://docs.adyen.com/api-explorer/Checkout/70/post/paymentMethods#request-store):\
  The response now includes only payment methods available for the specified store.

* For [/paymentMethods](https://docs.adyen.com/api-explorer/Checkout/latest/post/paymentMethods) and [/sessions](https://docs.adyen.com/api-explorer/Checkout/latest/post/sessions) requests including [allowedPaymentMethods](https://docs.adyen.com/api-explorer/Checkout/70/post/paymentMethods#request-allowedPaymentMethods) with **scheme** and **card** in the array:\
  The response no longer includes wallet payment methods.

## 2023-01-30 — Pay by Link

### Breaking Changes

For the [/paymentLinks](https://docs.adyen.com/api-explorer/Checkout/70/post/paymentLinks) request to [create a payment link that stores the shopper's payment details](/unified-commerce/pay-by-link/create-payment-links/api#tokenize-your-shoppers-payment-details):\
You must include the [recurringProcessingModel](https://docs.adyen.com/api-explorer/Checkout/70/post/payments#request-recurringProcessingModel) parameter.

### New

When creating a payment link in the Customer Area, you can enable storing the shopper's payment details.\
In your Customer Area, go to **Pay by Link** > **Settings** and select the toggle to enable.

## 2023-01-30 — Web Components/Drop-in — Version 5.32.0

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### New

For Online banking Poland, the list of issuers now includes issuer logos.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.32.0):

```sh
npm install @adyen/adyen-web@5.32.0 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.32.0/adyen.js"
     integrity="sha384-YwYL4wiosXJHoCe23ZW3LYuMSkvfJRB7dFzcsBSa6EIPkPE4THtfL0yecSIwIhYh"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.32.0/adyen.css"
     integrity="sha384-86hqIixzFjIoRoaNYg9pd4mtpn3HtgJmrpYiyTv+3DaGPF70VnRUbtK7MKLTLRd9"
     crossorigin="anonymous">
```

## 2023-01-23 — Web Components/Drop-in — Version 5.31.3

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### Fixed

* For PayNow, the QR code that the shopper scans to pay now expires after 3 minutes. Previously, it expired after 15 minutes.
* For Google Pay, when the shopper cancels the payment, the pop-up that appears is now the same as the one for other payment methods.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.31.3):

```sh
npm install @adyen/adyen-web@5.31.3 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.31.3/adyen.js"
     integrity="sha384-ni9oN4lWLPuT0yNr38ylRx2l8wgDaxGi9HbfKEE6PyzgJkhbzqzVXx44W1cnzhSM"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.31.3/adyen.css"
     integrity="sha384-9iKWHbxDQeViCL2gm0tx/jnFyo4ZLEOFzBxbsMe0vf+AY1Ux69TxpHo/U2RRNHhF"
     crossorigin="anonymous">
```

### Improved

* For cards, the card brand icons that appear under the **Card number** field now have larger margins.

## 2023-01-16 — Web Components/Drop-in — Version 5.31.2

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### Fixed

For Drop-in, when the shopper selects a payment method from the list, the `onSelect` callback now gets called only one time. Previously, if the shopper selected a UI element besides the radio button, such as the payment method logo, the callback was called multiple times.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.31.2):

```sh
npm install @adyen/adyen-web@5.31.2 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.31.2/adyen.js"
     integrity="sha384-TGSekrRO14NlnixlI9TqN5QMPFNoLTJGzTijnllWjU0wP1GZwa/LdwZmgcb+WHft"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.31.2/adyen.css"
     integrity="sha384-u0ZzEn9TjQx9ID0fkB21aOi32DxL9+b2ngTVz2x3q5wTi8sMfW3l49Dpe+TmBhb2"
     crossorigin="anonymous">
```

### Known Issues

For PayNow, the QR code expires after 15 minutes. It should expire after 3 minutes. This issue is fixed in v5.31.3.

## 2023-01-09 — Web Components/Drop-in — Version 5.31.1

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### Fixed

* For 3D Secure 2, when fingerprint authentication times out, the `onError` callback is no longer triggered. The 3D Secure flow continues for the shopper as usual, because it is not a fatal error.
* All error icons now have the alt tag **Error**.
* For BLIK, input fields now accept only numeric values.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.31.1):

```sh
npm install @adyen/adyen-web@5.31.1 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.31.1/adyen.js"
     integrity="sha384-d6l5Qqod+Ks601U/jqsLz7QkW0LL6T5pfEsSHypuTSnDUYVGRLNV1ZdITbEwb1yL"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.31.1/adyen.css"
     integrity="sha384-u0ZzEn9TjQx9ID0fkB21aOi32DxL9+b2ngTVz2x3q5wTi8sMfW3l49Dpe+TmBhb2"
     crossorigin="anonymous">
```

## 2023-01-06 — iOS Components/Drop-in — Version 4.10.3

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=69">Checkout API v69\</a> or later.\</p>*

If you use [Xcode 15](https://developer.apple.com/xcode/), use [v4.11.1](/online-payments/release-notes?integration_type=ios\&version=4.11.1) or later for compatibility.

### Fixed

* Apple Pay no longer prevents Drop-in from closing.
* Apple Pay now shows the full list of networks supported by the shopper's iOS device.

## 2023-01-03 — Web Components/Drop-in — Version 5.31.0

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### New

* For integrations using the [/sessions](https://docs.adyen.com/api-explorer/Checkout/latest/post/sessions) endpoint, you now receive the `sessionResult` property after the payment flow finishes.
* For Google Pay, the [`buttonRootNode` property](https://developers.google.com/pay/api/web/reference/request-objects#ButtonOptions) is now supported.
* For the Card Component on iOS devices in the Safari browser, when an input field is in focus, you can now enable the keyboard arrows for all versions of the browser by setting the new `disableIOSArrowKeys` to **false**.

### Improved

* The sorting logic after detecting card brands now happens on Adyen's backend servers.

* For ACH:

  * The bank account number input field in the payment for no longer shows a placeholder.
  * When the shopper enters a bank account number, it is no longer formatted with a space between every four digits.

* For the cards, when the `billingAddressMode` property is set to **partial** and the `country` property is set, there's now validation for the postal code that the shopper enters.

### Fixed

* For OXXO, the payment button no longer shows when `showPaymentButton` is set to **false**.
* For payment methods with an additional action, configured properties for the payment method now persist after the handling the action. Previously, configured properties were lost after handling the action.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.31.0):

```sh
npm install @adyen/adyen-web@5.31.0 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.31.0/adyen.js"
     integrity="sha384-EUmEyEC7yl7Vx3zywNlWNZUAmfObzuL5ucB3XwL8pqqHRiBKmAFaNgKtx+eQUq1M"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.31.0/adyen.css"
     integrity="sha384-2eA2bcYBLr7anAJ65YYoCathDWR2D6+44dnv/woRgdzi8R4rphr6zJVj+ZJKZSBV"
     crossorigin="anonymous">
```

### Known Issues

For PayNow, the QR code expires after 15 minutes. It should expire after 3 minutes. This issue is fixed in v5.31.3.

## 2022-12-23 — Checkout API

### New: general

We now accept payments made with Ukrainian cards that have been expired for up to three months, in line with the National Bank of Ukraine's recommendations.

### Improved: general

Shopper-facing error pages now display the HTTP error code when applicable and include an updated graphic.

## 2022-12-13 — Android Components/Drop-in — Version 4.9.1

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=69">Checkout API v69\</a> or later.\</p>*

### Fixed

* For cards, when the shopper enters a card number and a dual branded card is detected, a brand is no longer selected by default.
* Drop-in no longer crashes when navigating back after the shopper removes all stored payment methods.

## 2022-12-12 — Web Components/Drop-in — Version 5.30.1

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### Fixed

* For cards, the `onBinLookup` event now includes the `issuingCountryCode` property. Previously, the event didn't include information about the issuing country code.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.30.1):

```sh
npm install @adyen/adyen-web@5.30.1 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.30.1/adyen.js"
     integrity="sha384-/cENGWIX0BsgDTC0Jc4Hm7xAy1lsS8pT7jIHGxgAc+/+bf2Zt8reiyf6nGWsixpp"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.30.1/adyen.css"
     integrity="sha384-+NMM0sr9h/+Ok6Ih79UYQwQKpGE2FCkfz9BuRa3s10p8/PTGKtjb+R8ycBHjZos/"
     crossorigin="anonymous">
```

### Known Issues

For PayNow, the QR code expires after 15 minutes. It should expire after 3 minutes. This issue is fixed in v5.31.3.

## 2022-12-05 — Web Components/Drop-in — Version 5.30.0

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### New

* Payment method: DuitNow.

* For cards:

  * The **Expiry date** field now includes an icon showing the location of the expiry date.
  * In the **CVC/CVV** field, you can now set digits to appear as dot icons by setting the new `maskSecurityCode` property to **true**.

### Changed

* To [enable the instant payment button for Google Pay](/payment-methods/google-pay/web-drop-in#instant-payment-button-configuration), you can now set `instantPaymentTypes` to either **googlepay** or **paywithgoogle**.
* The `checkoutAttemptId` field for [analytics and data tracking](/online-payments/analytics-and-data-tracking) is now in the `paymentMethod` object.

### Improved

In the payment methods list, the items in the list now have the **radio** role for accessibility features.

### Fixed

* For Pix, when `showPayButton` is set to **false**, the payment form now appears when the shopper selects Pix from the payment methods list.
* For Klarna using the `/sessions` endpoint, you no longer have to implement the `onAdditionaDetails` callback. Previously, you had to implement the `onAdditionalDetails` callback to make a request to the correct endpoint.
* When you create the 3D Secure 2 Component with `createFromAction`, the component no longer crashes if you make more than one transaction of the same type.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.30.0):

```sh
npm install @adyen/adyen-web@5.30.0 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.30.0/adyen.js"
     integrity="sha384-fTOXYkqjvevHJzN9rBXO8r1XzFtvP1F7LpPd8pJi5UGBH9H4XRmSoT6LHi0AicDB"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.30.0/adyen.css"
     integrity="sha384-wNJf9kOfnzg6TcZUN6ysrsTbnTJtuwoDIgAWPr/uRy83KzYIQaf1zzr3MsbCdeUE"
     crossorigin="anonymous">
```

### Known Issues

For PayNow, the QR code expires after 15 minutes. It should expire after 3 minutes. This issue is fixed in v5.31.3.

## 2022-11-28 — iOS Components/Drop-in — Version 4.10.2

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=69">Checkout API v69\</a> or later.\</p>*

If you use [Xcode 15](https://developer.apple.com/xcode/), use [v4.11.1](/online-payments/release-notes?integration_type=ios\&version=4.11.1) or later for compatibility.

### Fixed

* When the shopper submits a payment, the billing address that the shopper entered is now submitted. Previously, the submitted value was **nil** if:

  * there was no input in the **State/Province** field.
  * there was no input in the **Apartment/Suite** field.

* The Drop-in/Component now detects when a shopper enters an invalid email address in the payment form. Previously, sometimes the Drop-in/Component detected invalid email addresses as valid.

* When the shopper enters a card number in the payment form, and a dual branded card is detected, we no longer automatically select a brand.

## 2022-11-16 — Android Components/Drop-in — Version 4.9.0

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=69">Checkout API v69\</a> or later.\</p>*

### New

* For cards, in `AddressConfiguration.PostalCode` mode, you can now [specify if the postal code field required](/payment-methods/cards/android-component#address-field-configuration).
* For BCMC, you can now [specify if the cardholder name field is required](/payment-methods/bancontact/bancontact-mobile/android-component#optional-configuration).
* After the card brand is detected and the shopper enters the full card number in the card number input field, focus automatically moves to the next input field.

### Improved

* Upgraded the 3D Secure 2 SDK version to [v2.2.10](https://github.com/Adyen/adyen-3ds2-android/releases/tag/2.2.10). This causes a [known issue](#known-issue-4-9-0).
* For a card number to be valid, its minimum required length is now 12 digits. Previously, the minimum was 8 digits.

### Fixed

* Configuration changes no longer dismiss Drop-in. Previously, some configuration changes dismissed Drop-in.
* Drop-in can now be initialized with only stored payment methods. Previously, no payment methods were shown if only stored payment methods were available.

### Changed

For cards, if you currently use `AddressConfiguration.PostalCode` mode, you must update it for **4.9.0**:

| 4.8.0 or earlier                                            | 4.9.0                                                         |
| ----------------------------------------------------------- | ------------------------------------------------------------- |
| `.setAddressConfiguration(AddressConfiguration.PostalCode)` | `.setAddressConfiguration(AddressConfiguration.PostalCode())` |

### Known Issues

[]()\
If your project uses [Google `play-services-location` library](https://play.google.com/sdks/details/com-google-android-gms-play-services-location) version 20.0.0 or earlier, it causes a runtime exception because of an incompatibility with the 3D Secure 2 SDK. You must upgrade the library to version 21.0.0 or later to avoid the runtime exception.

## 2022-11-14 — Pay by Link

### New

When creating a payment link through the Customer Area, you can now specify if you want to manually capture the payment.

## 2022-11-09 — Web Components/Drop-in — Version 5.29.0

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### New

* Payment methods:

  * PayNow
  * PromptPay

### Fixed

* For PayPal, GooglePay, and AmazonPay, payments no longer crash because of `Script`.
* When a shopper makes gift card partial payments, and the second payment method fails, the corresponding callback gets triggered with an error. Previously, the callback was not triggered.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.29.0):

```sh
npm install @adyen/adyen-web@5.29.0 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.29.0/adyen.js"
     integrity="sha384-V7uOD/4bQuWLJRCDSfc60tVzD6rYW5BkkY3GYnaFjgg/guMih1Kx6N5Vo9dBtN3y"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.29.0/adyen.css"
     integrity="sha384-jAG16Mh+vYdXeyWKqPqL7chbdFT1aS5qjt/8jGJz5vBrI1RJ3m6/uFfMZt8li/rT"
     crossorigin="anonymous">
```

### Known Issues

For PayNow, the QR code expires after 15 minutes. It should expire after 3 minutes. This issue is fixed in v5.31.3.

## 2022-11-01 — iOS Components/Drop-in — Version 5.0.0

*\<p>We recommend you use \<a href="/online-payments/release-notes#checkout-api-v69">Checkout API v69\</a> or later.\</p>*

If you use [Xcode 15](https://developer.apple.com/xcode/), use [v5.4.0](/online-payments/release-notes?integration_type=ios\&version=5.4.0) or later for compatibility.

### New

* Using the [/sessions](https://docs.adyen.com/api-explorer/Checkout/latest/post/sessions) endpoint, you can integrate Drop-in and Components with a single API call.\
  If you already integrated using the [/paymentMethods](https://docs.adyen.com/api-explorer/Checkout/latest/post/paymentMethods), [/payments](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments), and [/payments/details](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments/details) endpoints, you can continue using this back end setup in version 5.0.0.

* When using the [/sessions](https://docs.adyen.com/api-explorer/Checkout/latest/post/sessions) endpoint, the new `AdyenSession` object handles all actions after the payment session is created.

* For Drop-in you can now customize the payment method title or subtitle in the payment methods list. Use the new function `overrideDisplayInformation(ofPaymentMethod:with:)` in `PaymentMethods`.

* `APIContext.init(environment: AnyAPIEnvironment, clientKey: String)` now throws exception if the client key is invalid.

* Analytics feature turned on by default. Find out [what we track and how you can configure it](/online-payments/analytics-and-data-tracking).\
  `finalBIN` that provides the BIN when the shopper selects the **Pay** button.

* The `PaymentMethodType` enum includes supported payment methods. This replaces using strings for payment method types.

* For Drop-in, you can now configure the Boleto payment method using the `boleto` property.

* Payment methods:

  * Atome.
  * Online banking Poland.
  * Online banking Czech Republic.

* For ACH Direct Debit payments, the shopper can now save their payment details.

* For cards:

  * `CardComponentDelegate.didChangeBIN(:component:)` now provides the 8-digit BIN when the card number is more than 16 digits.
  * `CardComponentDelegate.didSubmit(lastFour:finalBIN:component)` now has the parameter

* The Apple Pay Component now supports shipping options.

* Support for [DocC documentation](https://adyen.github.io/adyen-ios/5.0.0/documentation/adyen/).

* Support for delegated authentication.

### Fixed

* You can now configure the 3D Secure 2 Component with `threeDSRequestorAppURL`.

### Changed

The `Observer` is protocal has been renamed to `AdyenObserver`.

### Breaking Changes

Follow the steps in the [migration guide](/online-payments/build-your-integration/migrate-to-ios-5-0-0) if you are upgrading your integration from an earlier version.

## 2022-10-31 — Web Components/Drop-in — Version 5.28.3

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### Changed

Drop-in and Components now use [Preact v10.11.2](https://github.com/preactjs/preact/releases/tag/10.11.2).

### Fixed

The Amazon Pay payment method now loads for the US locale when the shopper is in the US. Previously it loaded the Great Britain locale.

### Deprecated

For Amazon Pay, the default property `region`. Use `configuration.region` instead.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.28.3):

```sh
npm install @adyen/adyen-web@5.28.3 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.28.3/adyen.js"
     integrity="sha384-IggQn+m1LUTZjrITU2v+uYF0JhSEfV2b/+gnW75dIrsJq2POndBV533HEPHJfHiT"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.28.3/adyen.css"
     integrity="sha384-2MpA/pwUY9GwUN1/eXoQL3SDsNMBV47TIywN1r5tb8JB4Shi7y5dyRZ7AwDsCnP8"
     crossorigin="anonymous">
```

## 2022-10-28 — iOS Components/Drop-in — Version 4.10.1

*\<p>We recommend you use \<a href="/online-payments/release-notes#checkout-api-v67">Checkout API v67\</a> or later.\</p>*

If you use [Xcode 15](https://developer.apple.com/xcode/), use [v4.11.1](/online-payments/release-notes?integration_type=ios\&version=4.11.1) or later for compatibility.

### Fixed

* The `ViewControllerPresenter` SwiftUI helper is now compatible with iOS 16.
* For the stored cards, shoppers can now only enter 4 digits in the CVC input field if the card brand is American Express. Previously 4 digits were accepted for other card brands also.
* The Google Pay payment method is now blocked and is no longer shown.

## 2022-10-24 — Web Components/Drop-in — Version 5.28.2

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### Improved

* Upgraded the version of card input fields.

### Fixed

* For ACH, the new `forceCompat` property forces browsers to use JSON Web Encryption for the input fields. Set this property to **true**.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.28.2):

```sh
npm install @adyen/adyen-web@5.28.2 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.28.2/adyen.js"
     integrity="sha384-C2zymTieha/A2s5ywqIcZpGYoYV8p2LSNbxej5rSTYApAa3n2Cap2b2sLKOSoyoD"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.28.2/adyen.css"
     integrity="sha384-2MpA/pwUY9GwUN1/eXoQL3SDsNMBV47TIywN1r5tb8JB4Shi7y5dyRZ7AwDsCnP8"
     crossorigin="anonymous">
```

## 2022-10-24 — Pay by Link

### New

When creating payment links through the Customer Area, it's now possible to add installment options when the shopper country/region is Colombia, Peru, or Ecuador.

## 2022-10-19 — iOS Components/Drop-in — Version 4.10.0

*\<p>We recommend you use \<a href="/online-payments/release-notes#checkout-api-v67">Checkout API v67\</a> or later.\</p>*

If you use [Xcode 15](https://developer.apple.com/xcode/), use [v4.11.1](/online-payments/release-notes?integration_type=ios\&version=4.11.1) or later for compatibility.

### New

For 3D Secure 2.2.0, the `threeDSRequestorAppURL` parameter is automatically populated with the `returnUrl` value from the `/payments` request.

### Removed

The `URL` extension. It caused conflict with the code in some integrations.

### Changed

The properties in `RedirectDetails` are now public.

### Fixed

A successful QR code payment now always triggers a callback.

## 2022-10-14 — Web Components/Drop-in — Version 5.28.1

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### Fixed

The Preact version you can use is now restricted to the version used by Drop-in and Components. Previously, some installations using a different Preact version were broken.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.28.1):

```sh
npm install @adyen/adyen-web@5.28.1 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.28.1/adyen.js"
     integrity="sha384-KlN31kw5FCuqHbQATj6mAJX8u54ugnRCPK5wao5i1gvoCPPFeZx2IDtAtbDCsDUG"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.28.1/adyen.css"
     integrity="sha384-2MpA/pwUY9GwUN1/eXoQL3SDsNMBV47TIywN1r5tb8JB4Shi7y5dyRZ7AwDsCnP8"
     crossorigin="anonymous">
```

## 2022-10-10 — Web Components/Drop-in — Version 5.28.0

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### New

* For cards, new error codes and messages specify the types of error that occur in the input fields. Previously, there was one error code and message for different types of errors.
* For cards, the new `forceCompat` property forces browsers to use JSON Web Encryption for the card input fields introduced in [v5.20.0](/online-payments/release-notes?integration_type=web\&version=5.20.0#releaseNote=2022-08-01-web-componentsdrop-in-5.20.0). Set this property to **true**.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.28.0):

```sh
npm install @adyen/adyen-web@5.28.0 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.28.0/adyen.js"
     integrity="sha384-6Kg0o90dHjOptlqKeLzNNWj/M0/3uaZK8RYjVtsHpoUzYLTuGCWnFyzLZnif9dsc"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.28.0/adyen.css"
     integrity="sha384-2MpA/pwUY9GwUN1/eXoQL3SDsNMBV47TIywN1r5tb8JB4Shi7y5dyRZ7AwDsCnP8"
     crossorigin="anonymous">
```

## 2022-10-10 — Pay by Link

### New

When creating payment links through the Customer Area, it's now possible to [store payment details for future payments](/unified-commerce/pay-by-link/create-payment-links/customer-area#tokenize-payment-details-customer-area). This setting is specific to payment links.

## 2022-10-03 — Web Components/Drop-in — Version 5.27.0

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### New

Payment method: [Open banking](/payment-methods/open-banking)

### Improved

The `mount` function can now remount a Component after it has been unmounted. Previously, only `remount` could remount a Component.

### Fixed

* For Google Pay, payment submission errors now trigger the `onError` callback instead of throwing an exception.
* On mobile, redirecting the shopper to another app no longer triggers the `onError` callback with an `AdyenCheckoutError`.
* For UPI, changing the payment mode to **QR code** now triggers the `onChange` callback. Previously, only changing the payment mode to **VPA** triggered the callback.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.27.0):

```sh
npm install @adyen/adyen-web@5.27.0 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.27.0/adyen.js"
     integrity="sha384-YGWSKjvKe65KQJXrOTMIv0OwvG+gpahBNej9I3iVl4eMXhdUZDUwnaQdsNV5OCWp"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.27.0/adyen.css"
     integrity="sha384-2MpA/pwUY9GwUN1/eXoQL3SDsNMBV47TIywN1r5tb8JB4Shi7y5dyRZ7AwDsCnP8"
     crossorigin="anonymous">
```

## 2022-09-27 — Android Components/Drop-in — Version 4.8.0

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=67">Checkout API v67\</a> or later.\</p>*

### New

Payment method: Online banking Poland

### Improved

Updated the 3D Secure SDK to [v2.2.8](https://github.com/Adyen/adyen-3ds2-android/releases/tag/2.2.8).

### Fixed

* Drop-in now terminates without crashing when the shopper is redirected back to your app.
* The 3D Secure 2 SDK no longer crashes on Android 13.

## 2022-09-26 — Web Components/Drop-in — Version 5.26.0

*\<p>This release requires \<a href="/online-payments/release-notes/?version%5B0%5D=68\&amp;integration\_type=api">Checkout API v68\</a> or later.\</p>*

### Fixed

* Fixed the known issue from [v5.25.0](/online-payments/release-notes/#releaseNote=2022-09-19-web-componentsdrop-in-5.25.0) where the Stored Card Component UI showed an error code instead of the error message when there was a validation error.
* On Drop-in, moving the focus on a payment method no longer automatically expands it. To expand a payment method, the user must slect by clicking, tapping, or pressing a button.
* Added missing alt text translations for icons used for input field validation feedback.

### New

* The `checkoutAttemptId` is now stored as part of your browser's `sessionStorage` for 15 min.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.26.0):

```sh
npm install @adyen/adyen-web@5.26.0 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.26.0/adyen.js"
     integrity="sha384-lI43zM/9FpB4HKD0qDaUXy+Cfmxu+hHDwk+7XERAh/zYcQkm/oimV1Cmx7oZ3mL4"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.26.0/adyen.css"
     integrity="sha384-EWxYZbuFOr+TBHe/ugu0v3NOulSLFDx8Diy1Mb2WJk1TNzTJJHAuwiwW3gq6btNx"
     crossorigin="anonymous">
```

## 2022-09-19 — Web Components/Drop-in — Version 5.25.0

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### Improved

For the Card Component, input field errors now include the name of the field where it occurred.

### Changed

The UPI Component now shows a selector for **Virtual Payment Address** and **QR code** above the input field, instead of a different button for each, so that you can customize the **Continue** button. Use the new `defaultMode` configuration parameter to specify if **Virtual Payment Address** or **QR code** is selected by default.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.25.0):

```sh
npm install @adyen/adyen-web@5.25.0 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.25.0/adyen.js"
     integrity="sha384-dr5oyw53MXiRb8jiuNS5357DFMBKLYFNJ8uMgatbtu18R16CXdTz7jx9IJDZolyO"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.25.0/adyen.css"
     integrity="sha384-EWxYZbuFOr+TBHe/ugu0v3NOulSLFDx8Diy1Mb2WJk1TNzTJJHAuwiwW3gq6btNx"
     crossorigin="anonymous">
```

### Fixed

For input fields, the icons that indicate if an input is valid or invalid now include corresponding `alt` text, which is used by screen readers.

### New

Payment method: [Online banking Poland](/payment-methods/online-banking-poland).

### Known Issues

If there's a validation error in the Stored Card Component, the UI shows the error code instead of the error message. Fixed in [v5.26.0](/online-payments/release-notes?integration_type=web\&version=5.26.0)

## 2022-09-19 — Checkout API

### Fixed

When you [enable receiving the `fraudResult` parameter](/risk-management/handle-risk-rule-notifications#enable-risk-results-in-the-api-response-and-webhooks) in the [/payments/details](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments/details) response, you now receive it for 3D Secure 2 transactions. Previously, `fraudResult` wasn't returned for 3D Secure 2 transactions.

## 2022-09-13 — iOS Components/Drop-in — Version 4.9.0

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=70">Checkout API v70\</a> or later.\</p>*

If you use [Xcode 15](https://developer.apple.com/xcode/), use [v4.11.1](/online-payments/release-notes?integration_type=ios\&version=4.11.1) or later for compatibility.

### Deprecated

The `finalizeIfNeeded(with: Bool)` method. Use `finalizeIfNeeded(with success: Bool, completion: (() -> Void)?)` instead.

### New

Successful Apple Pay payments are now finalized with `finalizeIfNeeded(with success: Bool, completion: (() -> Void)?)`, which increases conversion rates.

## 2022-09-13 — Web Components/Drop-in — Version 5.24.0

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### New

For ACH Direct Debit payments, the shopper can now choose to save their payment details. Set `enableStoreDetails` to **true** in the payment method configuration to enable the checkbox.

### Improved

Changed the color of some UI elements to increase visual contrast.

### Fixed

When the shopper selects a checkbox, the check mark now renders completely. Previously, only a part of the check mark rendered.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.24.0):

```sh
npm install @adyen/adyen-web@5.24.0 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.24.0/adyen.js"
     integrity="sha384-3qPgtvQsTCf04n8dltYBJp3JwxIDHMdlWsCufIrA+1x/ypzCot0IK4JnTRuKifJu"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.24.0/adyen.css"
     integrity="sha384-Sqi6rm8VQ8dAhzcwjIKOXKnZXJ+KU39UIFhsDTNkk9202fXDpsO5zWYY9ulwO0hb"
     crossorigin="anonymous">
```

## 2022-08-29 — Web Components/Drop-in — Version 5.23.1

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### Fixed

For the Card Component, you now get an error message when input fields in the payment form fail to load.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.23.1):

```sh
npm install @adyen/adyen-web@5.23.1 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.23.1/adyen.js"
     integrity="sha384-O0Q35c47I1ojd1zrD78yWAs+r5gytAjBC/sxwZqgQW5z9hDbAFM49z8SViprrDwm"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.23.1/adyen.css"
     integrity="sha384-y6jvSkH/EJ+EmVfUABibJST5Df3+PXlPuQveX3NigzwJmiNofEBsUXxbxoaEllaI"
     crossorigin="anonymous">
```

## 2022-08-23 — Web Components/Drop-in — Version 5.23.0

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### New

The **Pay** button can now show the payment amount in two different currencies using the [`secondaryAmount` configuration](/online-payments/build-your-integration/sessions-flow?platform=Web\&integration=Components#optional-configuration).

### Fixed

* For cards, the cardholder name field now has an autocomplete attribute that labels its purpose.
* For SEPA Direct Debit and Boleto, the shopper email field now has validation.
* Projects that use TypeScript now compile without an error because `CoreParameters` is now imported from a relative path. This fixes the known issue introduced in [v5.22.0](/online-payments/release-notes?integration_type=web\&version=5.22.0).

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.23.0):

```sh
npm install @adyen/adyen-web@5.23.0 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.23.0/adyen.js"
     integrity="sha384-8mwva0PVlFlbNW204liDWLdWflXZVxk84ytAly86gczDok13tfs5q58WGQ7ROWZw"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.23.0/adyen.css"
     integrity="sha384-y6jvSkH/EJ+EmVfUABibJST5Df3+PXlPuQveX3NigzwJmiNofEBsUXxbxoaEllaI"
     crossorigin="anonymous">
```

## 2022-08-23 — Pay by Link

### Removed

When creating payment links through the Customer Area, it's no longer possible to store payment details for future payments.\
From [10 Oct, 2022](/online-payments/release-notes?integration_type=pay_by_link#releaseNote=2022-10-10-pay-by-link), it's possible to store payment details when creating payment links through the Customer Area. This setting is now specific to payment links.

## 2022-08-15 — Web Components/Drop-in — Version 5.22.0

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### New

Payment methods: Online banking for Czech Republic and Online banking for Slovakia.

### Improved

Added TypeScript types to the `AdyenCheckout` object.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.22.0):

```sh
npm install @adyen/adyen-web@5.22.0 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.22.0/adyen.js"
     integrity="sha384-ZNAVBtrzzpDec9gwSGLDKQs9EMHSZpzIX6exNSGsq/2oo0l3umfTfaRhAzjH3PLd"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.22.0/adyen.css"
     integrity="sha384-cNCZQ9w12APpo0kMDQZUWPrgj+aXCqDDIhOhuLs+Lh33G2L7tkXUcY3U3YZTEeoT"
     crossorigin="anonymous">
```

### Known Issues

Integrations using TypeScript don't compile because of an error.

## 2022-08-15 — Checkout API

### New

Support for setting [credit card installment options](/payment-methods/cards/credit-card-installments) in the [/sessions](https://docs.adyen.com/api-explorer/Checkout/latest/post/sessions) request.

## 2022-08-08 — Web Components/Drop-in — Version 5.21.0

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### New

* For the Gift cards Component, you can now show a custom button when the shopper chooses to pay part of the amount with a gift card and the remaining amount with another payment method.
* Support for [credit card installments](/payment-methods/cards/credit-card-installments).

### Fixed

* If you do not support American Express cards, the shopper can no longer enter a CVC that is more than 3 digits.
* The UPI Component now handles the timeout error for UPI Collect payments.
* For the SEPA bank transfers, setting the `showPayButton` to **false** now hides only the payment button.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.21.0):

```sh
npm install @adyen/adyen-web@5.21.0 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.21.0/adyen.js"
     integrity="sha384-fEm+yFptTnoiy3b+Ow7uWS3fiD2U4xZ8WrphCaIlvYaFVZDEfv7gpY9LzPo5Z9po"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.21.0/adyen.css"
     integrity="sha384-YT51WAYU0K37yaa6mxuCgtUZlGnzq5lJUgwU+kGg1OBGaS7xoPZTqa3rhrxTv8wj"
     crossorigin="anonymous">
```

## 2022-08-01 — Web Components/Drop-in — Version 5.20.0

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### New

Supported language: Portuguese. Use the `shopperLocale`: **pt-PT**.

### Improved

For the Card Component, the input fields in the payment form now use [JSON Web Encryption](https://datatracker.ietf.org/doc/html/rfc7516) for security. To [test your Card integration](/payment-methods/cards/web-component#test-and-go-live), you now must use either a local or `https` domain.

### Fixed

For Bancontact card payments, when the shopper enters the card number and the brands are detected by the Component, the brands no longer remain detected if you remove the card number.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.20.0):

```sh
npm install @adyen/adyen-web@5.20.0 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.20.0/adyen.js"
     integrity="sha384-cBrzgF/E1acHxQMizQ16HjdBRIdFKG+kohQSHkrs8n7DnKOaW/dBK187Jwhynbod"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.20.0/adyen.css"
     integrity="sha384-YT51WAYU0K37yaa6mxuCgtUZlGnzq5lJUgwU+kGg1OBGaS7xoPZTqa3rhrxTv8wj"
     crossorigin="anonymous">
```

## 2022-07-25 — Android Components/Drop-in — Version 4.7.1

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=67">Checkout API v67\</a> or later.\</p>*

### Fixed

For BACS Direct Debit, an error message appears under the payment agreement text if the shopper selects the **Continue** button without selecting the toggles to agree.

## 2022-07-25 — Pay by Link

### Fixed

When you create a payment link in the Customer Area and choose a different theme than your default one, the payment link now shows the chosen theme. Previously, payment links always showed the default theme.

## 2022-07-19 — Web Components/Drop-in — Version 5.19.0

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### New

New supported payment method: [UPI](/payment-methods/upi).

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.19.0):

```sh
npm install @adyen/adyen-web@5.19.0 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.19.0/adyen.js"
     integrity="sha384-F010SDWCbQuxSr7q3bqApTK7ZfYkR3UzzivdE/eeqeVFBqY447/L2aqNuHCOzUyv"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.19.0/adyen.css"
     integrity="sha384-YT51WAYU0K37yaa6mxuCgtUZlGnzq5lJUgwU+kGg1OBGaS7xoPZTqa3rhrxTv8wj"
     crossorigin="anonymous">
```

### Improved

Added the `LICENSE` file to the npm package.

## 2022-07-18 — Android Components/Drop-in — Version 4.7.0

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=67">Checkout API v67\</a> or later.\</p>*

### New

Support for the new Asia Pacific South East (APSE) live environment. Use this environment with the corresponding APSE location-based [live endpoints](/development-resources/live-endpoints).

### Fixed

For BACS Direct Debit, the payment agreement text in the payment form now includes the amount. Previously, it always showed the default **above amount** instead of the amount.

## 2022-07-12 — Web Components/Drop-in — Version 5.18.0

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### New

* When you use Gift card Component with the `/sessions` endpoint, you can now let the shopper pay part of the amount with a gift card and the remaining amount with another payment method.

### Fixed

* The AmazonPay Component now loads the AmazonPay SDK that corresponds to the region from the `paymentMethods` response.
* After the shopper selects the **Pay** button, the Card Component no longer allows the shopper to interact with the card input fields.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.18.0):

```sh
npm install @adyen/adyen-web@5.18.0 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.18.0/adyen.js"
     integrity="sha384-+Rw9rSHx2q26vErvjVDm4hqgWknn8gKtLsfkpPNClC2OrzVcWBHM3N2IvElU8LGB"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.18.0/adyen.css"
     integrity="sha384-QG8p2tW0dTruLa4Vjrq40etubKF7pMdXk1edAO5Z7aMXgahCo1NLHDpQQihqhnx3"
     crossorigin="anonymous">
```

## 2022-07-06 — iOS Components/Drop-in — Version 4.8.0

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=67">Checkout API v67\</a> or later.\</p>*

If you use [Xcode 15](https://developer.apple.com/xcode/), use [v4.11.1](/online-payments/release-notes?integration_type=ios\&version=4.11.1) or later for compatibility.

### Improved

* For the Card Component, use the new `billingAddressRequirementPolicy` parameter in the configuration object to specify card brands for which the billing address field is optional.

### Fixed

* For Drop-in, when you make a partial payment with a gift card and select another payment method, the payment button now shows the remaining amount.
* For Drop-in, you can now use Apple Pay to complete a partial gift card payment.
* For the Apple Pay Component, the `PaymentData.amount` passed from the SDK to the `didSubmit` callback is no longer nil. This fixes the issue introduced in [v4.0.0](/online-payments/release-notes?integration_type=ios\&version=4.0.0).

### Deprecated

The URL extension. This shouldn't affect your integration because this is an internal code change.

### Removed

In the `RegionRepository` class, the functions `getSubRegions` and `getCountries` are removed. This shouldn't affect your integration because this is an internal code change.

## 2022-06-28 — Web Components/Drop-in — Version 5.17.0

*\<p>This release requires \<a href="/online-payments/release-notes/?version%5B0%5D=68\&amp;integration\_type=api">Checkout API v68\</a> or later.\</p>*

### New

Add your signed JSON Web Token (JWT) to your Google Pay configuration using [`configuration.authJwt`](/payment-methods/google-pay/web-component#merchant-info). This allows you to use your Google merchant ID with multiple domains.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.17.0):

```sh
npm install @adyen/adyen-web@5.17.0 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.17.0/adyen.js"
     integrity="sha384-K18EIjxjBQ0Yhg2ZLSdKM1yJhdShDziVavhyDA6rlSmoN+moFtVR9tJuxo5X90r5"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.17.0/adyen.css"
     integrity="sha384-puq4sbbprLrOeY48CWI2zv1UuJRRILsdLtY5yeSa4th6+EX83RpfBbwvnd1S0Qlc"
     crossorigin="anonymous">
```

## 2022-06-13 — Checkout API

### New

Added support for partial authorization. This allows shoppers to pay for their goods with another card, if the balance of their initial card is less than the value of the goods.

### Fixed

Fixed issue where the `/payments` and `/payments/details` responses incorrectly showed BCMC cards as Mastercard or Visa. The payments were correctly handled as BCMC, but the reponses had the incorrect `paymentMethod.brand`.

## 2022-06-13 — Web Components/Drop-in — Version 5.16.2

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### Fixed

* If an action is rejected in the `beforeSubmit` callback, the state of the Component no longer remains `loading`.
* For donations, amounts are now shown with decimals. Previously, amounts were rounded up to the closest integer.
* The 3D Secure 2 Component now throws a challenge error when [`transStatus`](/online-payments/3d-secure/api-reference#threeds2result) cannot be retrieved.
* Fixed an issue where in some situations, if a shopper corrected an invalid card number, it was still marked as invalid.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.16.2):

```sh
npm install @adyen/adyen-web@5.16.2 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.16.2/adyen.js"
     integrity="sha384-rFGVw00SupBbxK8VKk/wPG/zdoVYXr5vNzGaauMqwBdJv6Ba0pdXMav2blTruUmt"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.16.2/adyen.css"
     integrity="sha384-AKMgvUlvU2aq35fRNFCDp/om1IbCi/MNwLl8Aj/acYzh0MfzTawbKO6MVd97vrJt"
     crossorigin="anonymous">
```

## 2022-06-09 — iOS Components/Drop-in — Version 4.7.3

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=67">Checkout API v67\</a> or later.\</p>*

If you use [Xcode 15](https://developer.apple.com/xcode/), use [v4.11.1](/online-payments/release-notes?integration_type=ios\&version=4.11.1) or later for compatibility.

### Fixed

* Fixed a bug where country/region picker was being shown briefly after selecting **Pay**.

### Improved

* Upgraded the 3D Secure 2 SDK version to [v2.2.6](https://github.com/Adyen/adyen-3ds2-ios/releases/tag/2.2.6).
* The errors for invalid form fields are now read out by screen readers.
* Prevent conflicts with the host application bundle by specifying the bundle when initializing any internal SDK.

## 2022-05-31 — Web Components/Drop-in — Version 5.16.1

*\<p>This release requires \<a href="/online-payments/release-notes/?version%5B0%5D=68\&amp;integration\_type=api">Checkout API v68\</a> or later.\</p>*

### Improved

* Removed `alt` text from the supported card brand images because it was not providing additional useful information to screen reader users.
* Changed the color of placeholder text in form fields so the contrast now satisfies WCAG AA requirements.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.16.1):

```sh
npm install @adyen/adyen-web@5.16.1 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.16.1/adyen.js"
     integrity="sha384-M93A7Gpl/BibG69WLFiqieW2BOy3CEvl5gASJ2cHl5I+sRXYhtaYOtPGKCtUcP5K"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.16.1/adyen.css"
     integrity="sha384-AKMgvUlvU2aq35fRNFCDp/om1IbCi/MNwLl8Aj/acYzh0MfzTawbKO6MVd97vrJt"
     crossorigin="anonymous">
```

## 2022-05-30 — Android Components/Drop-in — Version 4.6.1

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=67">Checkout API v67\</a> or later.\</p>*

### Fixed

Standalone modules now import successfully. Previously, some modules failed to import because `ui-core` had a dependency on a style in `card`.

## 2022-05-24 — Checkout API — Version 69

This API version is supported by our Java, NodeJS, PHP, Python, Go, and .NET libraries. We are working on updating the Ruby library.\
You can find all the [Adyen libraries on GitHub](https://github.com/Adyen/).

### Breaking Changes

**POST** `/payments`

* The `fraudResult.results` list now no longer contains the `FraudCheckResult` for each list item. Each list item now only contains the values of the individual risk checks. See [code samples](/online-payments/upgrade-your-integration/upgrade-to-checkout-api-v69#removed-fraudcheckresult).

**POST** `/paymentMethods`

* The format of the [`expiryYear`](https://docs.adyen.com/api-explorer/#/CheckoutService/v69/post/paymentMethods__resParam_storedPaymentMethods-expiryYear) returned for stored cards is now the last two digits of the year.

### New

**POST** `/sessions`

* [authenticationData](https://docs.adyen.com/api-explorer/Checkout/69/post/sessions#request-authenticationData) object in the request.

**POST** `/payments`

* [authenticationData](https://docs.adyen.com/api-explorer/Checkout/69/post/payments#request-authenticationData) object in the request.
* [paymentMethod](https://docs.adyen.com/api-explorer/Checkout/69/post/payments#responses-200-paymentMethod) object in the reponse.

**POST** `/payments/details`

* [authenticationData](https://docs.adyen.com/api-explorer/Checkout/69/post/payments/details#request-authenticationData) object in the request.
* [paymentMethod](https://docs.adyen.com/api-explorer/Checkout/69/post/payments/details#responses-200-paymentMethod) object in the reponse.

### Deprecated

Fields related to 3D Secure authentication are now grouped under the new `authenticationData` object. The old 3D Secure authentication fields have been deprecated.

See [field mapping and code samples](/online-payments/upgrade-your-integration/upgrade-to-checkout-api-v69#3d-secure-authentication-fields).

## 2022-05-23 — Web Components/Drop-in — Version 5.16.0

*\<p>This release requires \<a href="/online-payments/release-notes/?version%5B0%5D=68\&amp;integration\_type=api">Checkout API v68\</a> or later.\</p>*

### New

Analytics feature turned on by default. Find out [what we track and how you can configure it](/online-payments/analytics-and-data-tracking).

### Improved

For [MB WAY](/payment-methods/mb-way/web-component), added a country code prefix to the phone number input field.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.16.0):

```sh
npm install @adyen/adyen-web@5.16.0 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.16.0/adyen.js"
     integrity="sha384-eOf0O1MTPGB1DQpr+Yha0MrmJruQb5S82+tuyo4sLiyfo1hgbf6W+fNfLjjU7Sks"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.16.0/adyen.css"
     integrity="sha384-zy4t7axSdzHBMGqwJAynlv3eFVNiWw68LMf7vgKXxl2zZ6A8FlpucOoA/J//GBaQ"
     crossorigin="anonymous">
```

### Changed

For [wallets India](/payment-methods/wallets-india), the payment method type is now: **wallet\_IN**.

### Deprecated

Payment method types **billdesk\_wallet** and **payu\_IN\_cashcard** for [wallets India](/payment-methods/wallets-india). Use **wallet\_IN** instead.

## 2022-05-11 — Android Components/Drop-in — Version 4.6.0

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=67">Checkout API v67\</a>.\</p>*

### New

* Use `CardConfiguration.Builder.setAddressConfiguration(AddressConfiguration)` to enable and configure the billing address form in your Card Component.

### Deprecated

* `Environment.LIVE`. Use the name of your live environments instead. For example, use `Environment.EUROPE` if your live environment is `https://checkoutshopper-live.adyen.com`. You can find that value in your [live Customer Area](https://ca-live.adyen.com/) > **Developers** > **API URLs**.
* `CardConfiguration.Builder.setAddressVisibility(AddressVisibility)`. Use `CardConfiguration.Builder.setAddressConfiguration(AddressConfiguration)` instead.

### Fixed

* Fixed issue with the soft keyboard navigation not working in some cases for the Card Component.
* All fields now use the locale in your configuration. The device locale is being ignored.
* Google Pay no longer crashes when the Coponent or the payment method list is initialized.
* For `ModelObject` classes, there are no more issues related to obfuscation .
* Fixed an issue where the remove stored payment method button would disappear.
* Fixed an issue where removed stored payment methods would appear again in the UI after rotating the screen, even though they had been removed.

## 2022-05-09 — Web Components/Drop-in — Version 5.15.0

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### New

For gift cards on Drop-in, the shopper can now cancel a transaction after making a partial payment with a gift card.

### Fixed

* For the Card Component on iOS devices in the Safari browser, when an input field is in focus, the keyboard arrows are now disabled for all versions of the browser. Previously, the keyboard arrows only functioned correctly for some versions.
* Integrations using TypeScript now compile without an error. This fixes the known issue introduced in [v5.14.0](/online-payments/release-notes?integration_type=web\&version=5.14.0).

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.15.0):

```sh
npm install @adyen/adyen-web@5.15.0 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.15.0/adyen.js"
     integrity="sha384-vMZOl6V83EY2UXaXsPUxH5Pt5VpyLeHpSFnANBVjcH5l7yZmJO0QBl3s6XbKwjiN"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.15.0/adyen.css"
     integrity="sha384-Dm1w8jaVOWA8rxpzkxA41DIyw5VlBjpoMTPfAijlfepYGgLKF+hke3NKeU/KTX7t"
     crossorigin="anonymous">
```

## 2022-05-09 — Pay by Link

### New

You can now use the Pay By Link app on iOS devices without contacting support for additional setup.

## 2022-05-02 — Web Components/Drop-in — Version 5.14.0

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### New

* For the Card Component, if you set `billingAddressRequired` to **true**, you can use the new [`billingAddressMode`](/payment-methods/cards/web-component#billing-address-mode) property to require the shopper's postal code instead of the full address.

### Fixed

* For Atome, the bank details input fields no longer show up in the payment form. This fixes the known issue introduced in [v5.13.0](/online-payments/release-notes?integration_type=web\&version=5.13.0).

### Known Issues

Integrations using TypeScript don't compile because of an error.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.14.0):

```sh
npm install @adyen/adyen-web@5.14.0 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.14.0/adyen.js"
     integrity="sha384-JsWtX9H7PkCMYb50ZDb4AdPdVNcPDx/O+aUYtLyLxU3D04jiqFEqnLKMDUIWxBpv"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.14.0/adyen.css"
     integrity="sha384-Dm1w8jaVOWA8rxpzkxA41DIyw5VlBjpoMTPfAijlfepYGgLKF+hke3NKeU/KTX7t"
     crossorigin="anonymous">
```

## 2022-05-02 — Checkout API

### Fixed

Fixed an issue where some payments with redirect data couldn't be completed.

## 2022-05-02 — Pay by Link

### Fixed

When the shopper's browser is set to a language that isn't English, the list of payment methods now shows the translated names of payment methods.

## 2022-04-21 — iOS Components/Drop-in — Version 4.7.2

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=67">Checkout API v67\</a>.\</p>*

If you use [Xcode 15](https://developer.apple.com/xcode/), use [v4.11.1](/online-payments/release-notes?integration_type=ios\&version=4.11.1) or later for compatibility.

### Improved

* Upgraded the 3D Secure 2 SDK version to [v2.2.5](https://github.com/Adyen/adyen-3ds2-ios/releases/tag/2.2.5).

### Fixed

* If you're using a custom localization, the stored card component now also inherits it.

## 2022-04-12 — Web Components/Drop-in — Version 5.13.1

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### Fixed

In the payment form, focus no longer moves to the first input selector when the shopper clicks on other elements. This fixes the known issue introduced in [v5.13.0](/online-payments/release-notes?integration_type=web\&version=5.13.0).

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.13.1):

```sh
npm install @adyen/adyen-web@5.13.1 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.13.1/adyen.js"
     integrity="sha384-M3DQX1ovYxJTUt7n1uN1IyRvhCtILxV+AwB5hHntGwmiYW2uRr4lmJnj0ToaqyFy"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.13.1/adyen.css"
     integrity="sha384-r7Ye68dqFoSnkRA9wgyLKiVNga2c+G98mIVq4FT+Rmi6ba0EH2/YI3ZGYvpZ3zIM"
     crossorigin="anonymous">
```

## 2022-04-11 — Pay by Link

### Fixed

For PayPal payments that require personal details, the modal now shows up correctly after selecting the PayPal button.

## 2022-04-11 — Web Components/Drop-in — Version 5.13.0

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### New

* Payment method: [Atome](/payment-methods/atome).
* Payment method variant: [Ratepay Direct Debit](/payment-methods/ratepay). When [configuring and creating an instance of the Component](/payment-methods/ratepay/web-component#show-ratepay-in-your-payment-form), use the `paymentMethod.type` **ratepay\_directdebit**.
* Support for the new Asia Pacific South East (APSE) live environment that you can use for shoppers in that location, if you also use APSE location-based [live endpoints](/development-resources/live-endpoints). When configuring your instance of `AdyenCheckout`, use the `environment` **live-apse**.

### Fixed

When searching for a value in a drop-down field, the drop-down no longer remembers the search term when you click away from it.

### Known Issues

In the payment form, focus moves to the first input selector when the shopper clicks on other elements.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.13.0):

```sh
npm install @adyen/adyen-web@5.13.0 --save
```

### Tab: Embed script and stylesheet

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.13.0/adyen.js"
     integrity="sha384-4AoswnEjbullCjvpU6nHMpv8wUS+jZVGPI2i29Br7pk3ByQcWeknTR0c6agVOEp1"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.13.0/adyen.css"
     integrity="sha384-r7Ye68dqFoSnkRA9wgyLKiVNga2c+G98mIVq4FT+Rmi6ba0EH2/YI3ZGYvpZ3zIM"
     crossorigin="anonymous">
```

## 2022-03-21 — Web Components/Drop-in — Version 5.12.0

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### New

For the Card Component, the default setting of [`showBrandsUnderCardNumber`](/payment-methods/cards/web-component#optional-configuration) is **true**.

### Fixed

For Swish payments, the QR code expires after 3 minutes instead of 15 minutes.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.12.0):

```sh
npm install @adyen/adyen-web@5.12.0 --save
```

### Tab: Embed script and stylesheet

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.12.0/adyen.js"
     integrity="sha384-loTo8lHfaKJW6HMjPTSFZ2pp1sO/Vl+bCxHOW3V4BRyi6E9r3Bt7dZHsQ8zLJYZD"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.12.0/adyen.css"
     integrity="sha384-hiEL7oianiQNkOR2NZp5BjJp7146znG8IAcZSbRczANUMzzQMb6k9iozehbIz/m6"
     crossorigin="anonymous">
```

## 2022-03-14 — Web Components/Drop-in — Version 5.11.0

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### New

For cards, supported brands are no longer shown above the card number field when the shopper selects to pay by card. You can now show them under the card number field by setting the property `showBrandsUnderCardNumber` to **true**. In the Drop-in payment method list, next to the Card payment method, this also shows a maximum of 4 supported brands instead of all.

Starting from [v5.12.0](/online-payments/release-notes?integration_type=web\&version=5.12.0), the default value for this property is **true**.

### Fixed

Drop-in and Components no longer crash for some [Content Security Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy) header values.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.11.0):

```sh
npm install @adyen/adyen-web@5.11.0 --save
```

### Tab: Embed script and stylesheet

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.11.0/adyen.js"
     integrity="sha384-Cxu42w5/ss+N2uEp0+WMvZHX/A6+SONMhEJc8MMzhwZkCp94yudIoX68yg7uRZiU"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.11.0/adyen.css"
     integrity="sha384-JNgZxvSbTomiYdB3jwg1MoRvg+3YBa/ihE38uDKCeKBK8Srg5DvJY9mgQvUFqJYn"
     crossorigin="anonymous">
```

## 2022-03-08 — Android Components/Drop-in — Version 4.5.0

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=67">Checkout API v67\</a> or later.\</p>*

### New

* Payment method: gift cards.

* New required methods for the gift card flow:

  * `checkBalance`: calls `/paymentMethods/balance` and `sendBalanceResult` to return the result.
  * `createOrder`: calls `/orders` and `sendOrderResult` to return the result.
  * `cancelOrder`: calls `/orders/cancel`. The result is returned in `sendResult`.

* Support for right-to-left layout.

* Added translations for Arabic (international).

* You can pass a custom `Bundle` to `DropInService` using `DropInConfiguration.Builder.setAdditionalDataForDropInService`. Retrieve this bundle by calling `DropInService.getAdditionalData`.

* The Google Pay environment now also follows the Adyen environment when separately calling `GooglePayConfiguration.Builder.setEnvironment`. You can call `GooglePayConfiguration.Builder.setGooglePayEnvironment` to override this default behaviour.

* On Drop-in, you can now allow shoppers to remove stored cards. To do this, override `DropInService.removeStoredPaymentMethod` and use `sendRecurringResult` to return the result.

### Improved

* Drop-in is no longer dismissed when tapping outside of the bottom sheet.
* Upgraded the 3D Secure 2 SDK version to [v2.2.6](https://github.com/Adyen/adyen-3ds2-android/releases/tag/2.2.6).

### Fixed

* Fixed [handling redirects using Custom Tabs](https://developers.google.com/web/updates/2020/07/custom-tabs-android-11) as required by the [privacy changes for package visibility in Android 11](https://developer.android.com/about/versions/11/privacy/package-visibility).
* Drop-in no longer crashes when the shopper locale doesn't have an ISO3Country.
* When resuming Drop-in after the activity has been destroyed in the background, the Component screen no longer crashes.
* In the Card Component, CVC and expiry date fields are no longer being validated when empty.
* Added missing translation strings.

## 2022-03-07 — Web Components/Drop-in — Version 5.10.0

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### Improved

* If the environment and type of client key do not match, you now get an error.
* The error message for when a 3D Secure 2 challenge occurs specifies what went wrong.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.10.0):

```sh
npm install @adyen/adyen-web@5.10.0 --save
```

### Tab: Embed script and stylesheet

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.10.0/adyen.js"
     integrity="sha384-LoKEanRPljHoEsT5o+grBn8hgVzoPevwGvRd+gOp/2Xgc4Jx2FQkx29092SKDdeY"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.10.0/adyen.css"
     integrity="sha384-DB96UxMFf+ytuAxtum6/9TOoG/y+vUDFbqolCb7OcQvBA+qSrGaRrl81nMADo/+9"
     crossorigin="anonymous">
```

### Deprecated

Payment method types **billdesk\_online** and **payu\_IN\_nb** for [Online banking India](/payment-methods/online-banking-india). Use **onlinebanking\_IN** instead.

### Changed

For [Online banking India](/payment-methods/online-banking-india), the payment method type is now **onlinebanking\_IN**.

### New

For the Card Component, the [`onFieldValid`](/payment-methods/cards/web-component#on-field-valid) callback now returns the `issuerBin` (first 8 digits of the card) prop if the card number is 16 or more digits.

## 2022-03-07 — Checkout API

### Improved

* You can now use the `/donations` endpoint on all versions of the API.

### Fixed

* If Amazon Pay is configured as a blocked payment method, it's no longer returned in the `/paymentMethods` response.

## 2022-03-02 — iOS Components/Drop-in — Version 4.7.1

*\<p>We recommend you use \<a href="/online-payments/release-notes/?version%5B0%5D=67#releaseNote=2021-03-01-api-67">Checkout API v67\</a> or later.\</p>*

If you use [Xcode 15](https://developer.apple.com/xcode/), use [v4.11.1](/online-payments/release-notes?integration_type=ios\&version=4.11.1) or later for compatibility.

### Fixed

* You can now use more than one client key for your integration, for example, if you need different credentials for some merchant accounts.
* Fixed the known issue from [v4.5.0](/online-payments/release-notes?integration_type=ios\&version=4.5.0) where Cartes Bancaires did not work on Apple Pay.

## 2022-02-28 — Pay by Link

### Changed

For non-reusable payment links, if a card payment is refused, the shopper can try to pay again for a maximum of 5 times.

## 2022-02-28 — Web Components/Drop-in — Version 5.9.0

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### New

* Support for recurring payments through Amazon Pay using the new properties `changePermissionType` and `recurringMetadata`. The shopper's details are stored by Amazon Pay.

### Fixed

* Highlighted issuers are now correctly shown with two issuers in each row. When the number of issuers is odd, the last row shows one.
* For the instant payment button, when you set `showPayButton` to **false**, it is now correctly shown.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.9.0):

```sh
npm install @adyen/adyen-web@5.9.0 --save
```

### Tab: Embed script and stylesheet

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.9.0/adyen.js"
     integrity="sha384-Ifb2cmuPfmn+J3WM7JAxFRPW4YsRZLAcDvLUQ8Ntks2M6L7GVyx6+fyZWUXHklht"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.9.0/adyen.css"
     integrity="sha384-HMzoO6esBSznvoWP1G06AZVp1gDeIy9VHxTbdfcueFRn4JkRaJIt/An3u1dZ8fzU"
     crossorigin="anonymous">
```

## 2022-02-23 — Checkout API

### Fixed

Fixed an issue where 3D Secure 1 redirect flow couldn't be completed.

## 2022-02-21 — Pay by Link

### Improved

* Pay by Link now uses [Web Drop-in v5.8.0](/online-payments/release-notes?integration_type=web\&version=5.8.0).
* The settings for the payment links list are no longer being reset when reloading the page.

### Fixed

* In the Customer Area, on the **Settings** page, turning off the **Enable gift card** toggle now disables gift card payments.
* Balance checks for gift cards no longer fail for non-euro currencies.

## 2022-02-14 — Pay by Link

### Improved

On the transactions overview page in the Customer Area, you can now filter the payment links by creation source: **Customer Area**, **API**, or **Pay by Link app**.

## 2022-02-14 — Web Components/Drop-in — Version 5.8.0

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a>or later.\</p>*

### New

Support for [French meal vouchers](/payment-methods/titres-restaurant):

* Apetiz: **mealVoucher\_FR\_natixis**
* Sodexo: **mealVoucher\_FR\_sodexo**
* Up Dejeuner: **mealVoucher\_FR\_groupeup**

### Improved

* For the Card Component, the focus moves to the next field when the entered card number reaches the expected length. This feature is controlled by the `autoFocus` prop.
* Added postal code validation for the countries/regions configured in [`validate.ts`](https://github.com/Adyen/adyen-web/blob/master/packages/lib/src/components/internal/Address/validate.ts).

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.8.0):

```sh
npm install @adyen/adyen-web@5.8.0 --save
```

### Tab: Embed script and stylesheet

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.8.0/adyen.js"
     integrity="sha384-+g4E31JlX0VehjtzsLkNbXWAC8BY8CWXtsmwyr1wVOEfYgnrn/FtuIian6JBi6Va"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.8.0/adyen.css"
     integrity="sha384-sh96qY2G0gI/SWEA7mUoROU6e1DT3KyE36KQRTT4t5bfd/lz6WFU8AbV7GxgKIbt"
     crossorigin="anonymous">
```

### Changed

For card payments in installments, if there's a single installment, Drop-in doesn't return the [`installments`](https://docs.adyen.com/api-explorer/#/CheckoutService/v68/post/payments__reqParam_installments) object.

## 2022-02-11 — iOS Components/Drop-in — Version 4.7.0

*\<p>We recommend you use \<a href="/online-payments/release-notes/?version%5B0%5D=67#releaseNote=2021-03-01-api-67">Checkout API v67\</a> or later.\</p>*

If you use [Xcode 15](https://developer.apple.com/xcode/), use [v4.11.1](/online-payments/release-notes?integration_type=ios\&version=4.11.1) or later for compatibility.

### New

* New supported payment method: [ACH Direct Debit](/payment-methods/ach-direct-debit).
* For an API-only integration, you can now use the `BankDetailsEncryptor` to encrypt bank details (account number and routing number). This is required for ACH.
* For the Card Component, you can configure the countries/regions in the billing address drop-down menu using [`billingAddressCountryCodes`](https://adyen.github.io/adyen-ios/5.0.0/documentation/adyen/).

### Changed

* Moved the WeChat binary from the `AdyenWeChatPay` module to an external repository. If you're using WeChat Pay with [Carthage](https://github.com/Adyen/adyen-ios#carthage), add `AdyenWeChatPayInternal` to your project. If you're using WeChat Pay with CocoaPods and Swift Package Manager, the change happens automatically as part of the update.

### Improved

* For the Card Component, the focus moves to the next field when the entered card number reaches the expected length.
* If testing Apple Pay using the Simulator, you get an `invalidToken` error. The error description now explains that you must use a device instead.
* Increased the reliability of app-to-app redirect detection by increasing the delay for the `BrowserComponent`.
* Update the WeChat Pay Component to use [WeChat SDK 1.9.2](https://developers.weixin.qq.com/doc/oplatform/en/Downloads/iOS_Resource.html).

### Fixed

* Apple Pay Component no longer calls `didFail` for a successful payment. This used to happen if you didn't dismiss the Apple Pay view immediately after calling `finalizeIfNeeded(with: success)`.
* Text fields, except the card number and CVC, now allow the system default input options.

## 2022-02-07 — Web Components/Drop-in — Version 5.7.0

*\<p>This release requires \<a href="/online-payments/release-notes/?version%5B0%5D=68\&amp;integration\_type=api">Checkout API v68\</a> or later.\</p>*

### Fixed

* If there's an error during the 3D Secure 2 authentication flow, the **Pay** button now returns to the default state from the loading state.

### New

* In addition to gift card logos, you can now also configure custom names for gift cards.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.7.0):

```sh
npm install @adyen/adyen-web@5.7.0 --save
```

### Tab: Embed script and stylesheet

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.7.0/adyen.js"
     integrity="sha384-F4mDVJnXWLEimdArmPr+ypkU+hbrV1mVAyA4UnP2aHvThSyx2t+iD0pYoGcWSd6E"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.7.0/adyen.css"
     integrity="sha384-sh96qY2G0gI/SWEA7mUoROU6e1DT3KyE36KQRTT4t5bfd/lz6WFU8AbV7GxgKIbt"
     crossorigin="anonymous">
```

## 2022-02-07 — Checkout API

### Fixed

Fixed an issue where payment requests with a billing address had the `stateOrProvince` field populated with **ZZ**.

## 2022-02-02 — Checkout API

### Fixed

Fixed an issue with Prosodie and Illicado gift cards where the balance check request always returned a **Success** result code.

## 2022-01-25 — Web Components/Drop-in — Version 5.6.2

*\<p>This release requires \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=68">Checkout API v68\</a> or later.\</p>*

### Improved

When you get a network error, [`error.message`](/online-payments/build-your-integration/sessions-flow?platform=Web\&integration=Components) now contains the message from the API response instead of a generic one.

### Fixed

When [`setStatusAutomatically`](/online-payments/build-your-integration/sessions-flow?platform=Web\&integration=Components#optional-configuration) is set to `true`, an overlay now prevents shoppers from interacting with payment method fields after pressing the **Pay** button.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.6.2):

```sh
npm install @adyen/adyen-web@5.6.2 --save
```

### Tab: Embed script and stylesheet

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.6.2/adyen.js"
     integrity="sha384-3odf4MrjtRxXA/Mtt7uHmron+SrI6p9zK1bbiwi+S1XEHFH/iMmmD8p5wuapvVZJ"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.6.2/adyen.css"
     integrity="sha384-dydHMPbkyrBI9MNt5AHdxmZ/MYs8H6JIxMraZ4Iew5HrlsbuhzCbrAsq9/tgxZBy"
     crossorigin="anonymous">
```

## 2022-01-18 — Web Components/Drop-in — Version 5.6.1

*\<p>This release requires \<a href="/online-payments/release-notes/?version%5B0%5D=68\&amp;integration\_type=api">Checkout API v68\</a> or later.\</p>*

### Fixed

When using Internet Explorer 11, card input fields now appear and work correctly. This fixes the known issue introduced in [v5.2.1](/online-payments/release-notes?tab=embed-script-and-stylesheet_2022-01-12-9chh_2#releaseNote=2021-11-15-web-componentsdrop-in-5.2.1).

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.6.1):

```sh
npm install @adyen/adyen-web@5.6.1 --save
```

### Tab: Embed script and stylesheet

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.6.1/adyen.js"
     integrity="sha384-y+qL4ciAtuTGFpouwgotr4aLZsU+w4re2Rn+LNkGveLMA8I1wOg9CLDexTfYsQqz"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.6.1/adyen.css"
     integrity="sha384-dydHMPbkyrBI9MNt5AHdxmZ/MYs8H6JIxMraZ4Iew5HrlsbuhzCbrAsq9/tgxZBy"
     crossorigin="anonymous">
```

## 2022-01-17 — Pay by Link

### Improved

When you create a payment link in the Customer Area and have one physical store, you can now clear the **Store** field if you don't want the payment link to be associated with that store.

## 2022-01-11 — Web Components/Drop-in — Version 5.6.0

*\<p>This release requires \<a href="/online-payments/release-notes/?version%5B0%5D=68\&amp;integration\_type=api">Checkout API v68\</a> or later.\</p>*

### Improved

* The new property, [`SRConfig`](/payment-methods/cards/web-drop-in#screen-reader-config), lets you configure screen reader behaviour when there are errors in the Card Component fields. This property doesn't affect how error messages are rendered in the checkout form.

### Fixed

* Fixed the known issue with character input for the card holder field. This issue affected the Card Component when used with web browsers on Android devices and is present in [v5.4.0](/online-payments/release-notes?integration_type=web\&version=5.4.0) and [v5.5.0](/online-payments/release-notes?integration_type=web\&version=5.5.0).

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.6.0):

```sh
npm install @adyen/adyen-web@5.6.0 --save
```

### Tab: Embed script and stylesheet

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.6.0/adyen.js"
     integrity="sha384-kxoRtJtYAiJPXpIcAYR4ZM5ud7gHTvjd4zD0FRV/PsWCARelk3NJmC+62GYPO62w"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.6.0/adyen.css"
     integrity="sha384-dydHMPbkyrBI9MNt5AHdxmZ/MYs8H6JIxMraZ4Iew5HrlsbuhzCbrAsq9/tgxZBy"
     crossorigin="anonymous">
```

### Known Issues

When using Internet Explorer 11, card input fields don't appear and work correctly. Fixed in [v5.6.1](/online-payments/release-notes?integration_type=web\&tab=npm-recommended-_2022-01-18-n9wc_1#releaseNote=2022-01-18-web-componentsdrop-in-5.6.1).

## 2022-01-10 — Pay by Link

### Improved

If you get an error when creating a payment link in the Customer Area, you now get a PSP reference number in the error message. Adyen can use it to help you find out the cause of the error.

### Fixed

Fixed an issue where, when creating a payment link in the Customer Area, more than one radio button could be selected in the **Link validity** section.

## 2022-01-06 — iOS Components/Drop-in — Version 4.6.1

*\<p>We recommend you use \<a href="/online-payments/release-notes/?version%5B0%5D=67\&amp;integration\_type=api">Checkout API v67\</a> or later.\</p>*

If you use [Xcode 15](https://developer.apple.com/xcode/), use [v4.11.1](/online-payments/release-notes?integration_type=ios\&version=4.11.1) or later for compatibility.

### Fixed

* Values entered in the card number and CVC fields can no longer be copied or shared.
* For stored card payments, the CVC field value is now cleared when the shopper cancels or an error happens.

## 2021-12-20 — Android Components/Drop-in — Version 4.4.0

*\<p>We recommend you use \<a href="/online-payments/release-notes?integration\_type=api\&amp;version=67">Checkout API v67\</a>.\</p>*

### New

* Payment method: BACS Direct Debit.

### Fixed

* The Google Pay environment is no longer being incorrectly set to `WalletConstants.ENVIRONMENT_PRODUCTION`.

### Deprecated

* `DropInServiceResult.Action(actionJSON: String)` is deprecated. Use `DropInServiceResult.Action(action: com.adyen.checkout.components.model.payments.response.Action)` instead. To serialize your JSON response string, use `com.adyen.checkout.components.model.payments.response.Action.SERIALIZER`.

## 2021-12-20 — Web Components/Drop-in — Version 5.5.0

*\<p>This release requires \<a href="/online-payments/release-notes/?version%5B0%5D=68\&amp;integration\_type=api">Checkout API v68\</a> or later.\</p>*

### New

The PayPal Component now renders a PayLater button in countries/regions where it is available. If you do not want the PayLater button to be rendered, you can use [`blockPayPalPayLaterButton: true`](/payment-methods/paypal/web-component#paypal-paylater).

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.5.0):

```sh
npm install @adyen/adyen-web@5.5.0 --save
```

### Tab: Embed script and stylesheet

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.5.0/adyen.js"
     integrity="sha384-VF5BvZ8IPUYqW4ZgElIhlyAwR/2Bxpxynfx5uGgdHOXW6hFEcm5Za6H0pU83uAK6"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.5.0/adyen.css"
     integrity="sha384-47lm6XSs4AdvQN9BdRTZykpp82IALHlxMtM5p378Nsg3O3nGoBB86N0d7GXgjrA3"
     crossorigin="anonymous">
```

### Known Issues

* Shoppers using web browsers on Android devices cannot type into the card holder name field. [Fixed in v5.6.0](/online-payments/release-notes?integration_type=web\&version=5.6.0).
* When using Internet Explorer 11, card input fields do not appear and work correctly. Fixed in [v5.6.1](/online-payments/release-notes?integration_type=web\&tab=npm-recommended-_2022-01-18-n9wc_1#releaseNote=2022-01-18-web-componentsdrop-in-5.6.1).

## 2021-12-20 — iOS Components/Drop-in — Version 4.6.0

*\<p>We recommend you use \<a href="/online-payments/release-notes/?version%5B0%5D=67\&amp;integration\_type=api">Checkout API v67\</a> or later.\</p>*

If you use [Xcode 15](https://developer.apple.com/xcode/), use [v4.11.1](/online-payments/release-notes?integration_type=ios\&version=4.11.1) or later for compatibility.

### New

* BACS Direct Debit is now supported through a native flow.
* On Drop-in, you can configure if you want to show the preselected stored payment method using [`allowPreselectedPaymentView`](https://adyen.github.io/adyen-ios/5.0.0/documentation/adyen/).

### Fixed

* Fix `NSLayoutConstraint` errors in the debug log.

## 2021-12-14 — Web Components/Drop-in — Version 5.4.0

*\<p>This release requires \<a href="/online-payments/release-notes/?version%5B0%5D=68\&amp;integration\_type=api">Checkout API v68\</a> or later.\</p>*

### Changed

We changed how Drop-in and Components handle browser compatibility, which means polyfills no longer polute the global scope. This change doesn't affect the browser support of your Drop-in or Components integration.

### Fixed

* Fixed the [known issue from v5.2.2](/online-payments/release-notes?integration_type=web\&version=5.2.2) where PayPal didn't load if you integrated using the `/sessions` endpoint.
* Fixed an issue where PayPal was not loading when re-mounting with a different type of currency.
* Fixed issues with entering Japanese characters in text input fields.
* Drop-in and Components no longer crash when imported on a server-side context, for example if using Angular Universal, Nuxt.js, or Next.js.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.4.0):

```sh
npm install @adyen/adyen-web@5.4.0 --save
```

### Tab: Embed script and stylesheet

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.4.0/adyen.js"
     integrity="sha384-TrjObe7+xENaI4cONDkap2qTzoJIfTaC79+mJuANZ5Y1IxLMvqpPKcmgl3IrqCk3"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.4.0/adyen.css"
     integrity="sha384-47lm6XSs4AdvQN9BdRTZykpp82IALHlxMtM5p378Nsg3O3nGoBB86N0d7GXgjrA3"
     crossorigin="anonymous">
```

### Known Issues

* Shoppers using web browsers on Android devices cannot type into the card holder name field. [Fixed in v5.6.0](/online-payments/release-notes?integration_type=web\&version=5.6.0).
* When using Internet Explorer 11, card input fields do not appear and work correctly. Fixed in [v5.6.1](/online-payments/release-notes?integration_type=web\&tab=npm-recommended-_2022-01-18-n9wc_1#releaseNote=2022-01-18-web-componentsdrop-in-5.6.1).

## 2021-12-13 — Pay by Link

### Fixed

Fixed an issue where the [email notification](/unified-commerce/pay-by-link/create-payment-links/customer-area#email-updates) for a 3D Secure payment could be missing the **payment method**.

## 2021-12-07 — iOS Components/Drop-in — Version 4.5.0

*\<p>We recommend you use \<a href="/online-payments/release-notes/?version%5B0%5D=67\&amp;integration\_type=api">Checkout API v67\</a> or later.\</p>*

If you use [Xcode 15](https://developer.apple.com/xcode/), use [v4.11.1](/online-payments/release-notes?integration_type=ios\&version=4.11.1) or later for compatibility.

### New

* On Drop-in, the [`allowsSkippingPaymentList`](https://adyen.github.io/adyen-ios/5.0.0/documentation/adyen/) flag lets you skip the screen with the list of payment methods, if there is only one payment method available to the shopper. For example, if card is the only available payment method, the shopper will be taken directly to the card details input screen.
* On Drop-in, you can now customize the screen with the Apple Pay button using `DropInComponent.Style.applePay`.

### Improved

We added support for the following [card networks in Apple Pay](/payment-methods/apple-pay#supported-networks):

* Cartes Bancaires (`cartesBancaires`) in France.
* MADA (`mada`) in the Middle East.

### Fixed

* Card brand detection for dual-branded cards is now based on the first 11 digits of the card number.

### Known Issues

* Cartes Bancaires does not work with Apple Pay. [Fixed in v4.7.1](/online-payments/release-notes?integration_type=ios\&version=4.7.1).

## 2021-12-06 — Pay by Link

### Improved

On the **Payment links** page, you can now:

* Filter payment links by **Payment link ID**.
* Add a column for **Shopper email**.

## 2021-12-02 — Pay by Link

### New

Added support for [Arabic](/unified-commerce/pay-by-link/create-payment-links/api#language).

### Improved

Improved validation for **Shopper reference** when creating a payment link in the Customer Area.

## 2021-12-02 — Checkout API

### Fixed

We fixed an issue where iDEAL payments could be refused if the **POST** `/payments` request included a `store`.

## 2021-11-26 — Web Components/Drop-in — Version 5.3.1

*\<p>This release requires \<a href="/online-payments/release-notes/?version%5B0%5D=68\&amp;integration\_type=api">Checkout API v68\</a> or later.\</p>*

### Fixed

Fixed the issues with cards in the live environment introduced in [version 5.3.0](/online-payments/release-notes?integration_type=web\&version=5.3.0).

### Known Issues

When using Internet Explorer 11, card input fields don't appear and work correctly. Fixed in [v5.6.1](/online-payments/release-notes?integration_type=web\&tab=npm-recommended-_2022-01-18-n9wc_1#releaseNote=2022-01-18-web-componentsdrop-in-5.6.1).

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.3.1):

```sh
npm install @adyen/adyen-web@5.3.1 --save
```

### Tab: Embed script and stylesheet

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.3.1/adyen.js"
     integrity="sha384-sFBn01LMTqACUE57E+3qU/eqT7ydN6wmLaLrSfeIxRi0mhtDP/ckZkeMKox5FQNN"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.3.1/adyen.css"
     integrity="sha384-47lm6XSs4AdvQN9BdRTZykpp82IALHlxMtM5p378Nsg3O3nGoBB86N0d7GXgjrA3"
     crossorigin="anonymous">
```

## 2021-11-25 — Web Components/Drop-in — Version 5.3.0

*\<p>This release requires \<a href="/online-payments/release-notes/?version%5B0%5D=68\&amp;integration\_type=api">Checkout API v68\</a> or later.\</p>*

### New

For Drop-in, you can now render the [Apple Pay](/payment-methods/apple-pay/web-drop-in#optional-configuration) and [Google Pay](/payment-methods/google-pay/web-drop-in#optional-configuration) buttons at the top of the payment method list.

### Improved

* For PayPal, we now support [zero-auth](/get-started-with-adyen/adyen-glossary/#zero-value-auth) transactions.
* The icons in the payment method list UI have more padding in the focus state.

### Fixed

Dragonpay vouchers for convenience stores in the Philippines (`dragonpay_otc_philippines`) now only show the Dragonpay logo. Previously, an issuer logo was also shown beside the Dragonpay logo.

### Known Issues

* The [Cards Drop-in integration](/payment-methods/cards/web-drop-in) and [Card Component](/payment-methods/cards/web-component) are only available in the test environment. They will be available in the live environment on 2 Dec, 2021.
* When using Internet Explorer 11, card input fields do not appear and work correctly. Fixed in [v5.6.1](/online-payments/release-notes?integration_type=web\&tab=npm-recommended-_2022-01-18-n9wc_1#releaseNote=2022-01-18-web-componentsdrop-in-5.6.1).

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.3.0):

```sh
npm install @adyen/adyen-web@5.3.0 --save
```

### Tab: Embed script and stylesheet

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.3.0/adyen.js"
     integrity="sha384-JvmVzbCK60Gcpx1h3mM13vJQGFfEOD6ZhuXN76Q/Wcz9KPVadwxK10zGHd1SMWn9"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.3.0/adyen.css"
     integrity="sha384-47lm6XSs4AdvQN9BdRTZykpp82IALHlxMtM5p378Nsg3O3nGoBB86N0d7GXgjrA3"
     crossorigin="anonymous">
```

## 2021-11-19 — Web Components/Drop-in — Version 5.2.2

### Fixed

* Fixed an issue where if you integrated using the `/sessions` endpoint and have configured `onAdditionalDetails` on the front end, the front end was automatically submitting additional payment details. This means that submitting additonal payment details from your server using the `/payments/details` call no longer fails.

### Known Issues

* PayPal doesn't load if you integrated using the `/sessions` endpoint. [Fixed in v5.4.0](/online-payments/release-notes?integration_type=web\&version=5.4.0).
* When using Internet Explorer 11, card input fields do not appear and work correctly. Fixed in [v5.6.1](/online-payments/release-notes?integration_type=web\&tab=npm-recommended-_2022-01-18-n9wc_1#releaseNote=2022-01-18-web-componentsdrop-in-5.6.1).

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.2.2):

```sh
npm install @adyen/adyen-web@5.2.2 --save
```

### Tab: Embed script and stylesheet

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.2.2/adyen.js"
     integrity="sha384-pnacVHU9mNLdMXNp8NHNmZtG+QjXNMyPw2CpnHJe8Af+3+U6qUaIlmDMd/VWWwIy"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.2.2/adyen.css"
     integrity="sha384-gaEp/efBcplH05NvdYnrdMcaKBrhlK/jau5tB/MkhdOsY7sz6mUnu5fa26lNzt+i"
     crossorigin="anonymous">
```

## 2021-11-15 — Web Components/Drop-in — Version 5.2.1

*\<p>This release requires \<a href="/online-payments/release-notes/?version%5B0%5D=68\&amp;integration\_type=api">Checkout API v68\</a> or later.\</p>*

### Fixed

* Accessibility improvements:

  * Screen readers no longer read out card brand logos or the CVC icon, which was exposing unnecesary information about decorative images.
  * Card brand logos are no longer focusable using the keyboard, which was stopping users on unactionable elements.
  * You can remove the iframe `title` for the [Custom Card Component](/payment-methods/cards/custom-card-integration) by replacing it with `role="presentation"`.

* Fixed an issue where on Firefox, users couldn't use the **Tab** key to move between Card Component fields.

* Entering card numbers that contain all the same digit, like **0000 0000 0000 0000 0000**, now produces an **Invalid card brand** error on the front end.

### Removed

The deprecated Internet Explorer 11 attributes `scrolling` and `frameborder`.

### Known Issues

When using Internet Explorer 11, card input fields don't appear and work correctly. Fixed in [v5.6.1](/online-payments/release-notes?integration_type=web\&tab=npm-recommended-_2022-01-18-n9wc_1#releaseNote=2022-01-18-web-componentsdrop-in-5.6.1).

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.2.1):

```sh
npm install @adyen/adyen-web@5.2.1 --save
```

### Tab: Embed script and stylesheet

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.2.1/adyen.js"
     integrity="sha384-zvgjXeNFYcp8Q7t3r3fnPKU77VAn6RA4ZDZnP6KtPAmDtJPz5f1DRV+1Lsjau8j0"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.2.1/adyen.css"
     integrity="sha384-gaEp/efBcplH05NvdYnrdMcaKBrhlK/jau5tB/MkhdOsY7sz6mUnu5fa26lNzt+i"
     crossorigin="anonymous">
```

## 2021-11-15 — Pay by Link

### Improved

We've added ways to customize the list of payment links, for example to show and hide fields, or rearrange columns.

## 2021-11-15 — iOS Components/Drop-in — Version 3.9.1

*\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/release-notes/#releaseNote=2025-08-27-ios-componentsdrop-in-5.20.0">upgrade to v5.20.0\</a> or later.\</p>*

If you use [Xcode 15](https://developer.apple.com/xcode/), use [v4.11.1](/online-payments/release-notes?integration_type=ios\&version=4.11.1) or later for compatibility.

### Fixed

* The encrypted token returned by `CardEncryptor.Card.encryptedToToken()` now also encodes the time stamp for when the token was created.

## 2021-11-10 — iOS Components/Drop-in — Version 4.4.0

*\<p>We recommend you use \<a href="/online-payments/release-notes/?version%5B0%5D=67\&amp;integration\_type=api">Checkout API v67\</a> or later.\</p>*

If you use [Xcode 15](https://developer.apple.com/xcode/), use [v4.11.1](/online-payments/release-notes?integration_type=ios\&version=4.11.1) or later for compatibility.

### New

* For dual-branded cards, the Card Component now renders both brands, and allows the cardholder to choose the brand they want to pay with.
* You can now prefill shopper information for card payments. You can prefill the cardholder name, billing address, postal code and social security number, by injecting it when creating the component.
* On Drop-in, you can now allow shoppers to remove stored cards. Implement [`StoredPaymentMethodsDelegate`](https://adyen.github.io/adyen-ios/5.0.0/documentation/adyen/) and set\
  [`paymentMethodListConfiguration.allowDisablingStoredPaymentMethods`](https://adyen.github.io/adyen-ios/5.0.0/documentation/adyen/) to **true** in the Drop-in configuration.
* For the Card Component UI, once the card brand is detected, the supported card brand logos become more transparent to make them less prominent.

### Improved

* Upgraded the 3D Secure 2 SDK version to [v2.2.4](https://github.com/Adyen/adyen-3ds2-ios/releases/tag/2.2.4).

### Fixed

* Shoppers can no longer enter invalid characters in the checkout form.
* Fixed an issue with the Drop-in slide-in animation.
* If there's a network error when polling for the status of a payment with `action.type`: **await**, Drop-in/Components now does another check before returning a failure response. This applies to payment methods where the shopper needs to go to another app to complete the payment, for example BLIK and MB WAY.

## 2021-11-10 — iOS Components/Drop-in — Version 3.9.0

*\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/release-notes/#releaseNote=2025-08-27-ios-componentsdrop-in-5.20.0">upgrade to v5.20.0\</a> or later.\</p>*

If you use [Xcode 15](https://developer.apple.com/xcode/), use [v4.11.1](/online-payments/release-notes?integration_type=ios\&version=4.11.1) or later for compatibility.

### New

* You can now use `CardEncryptor.Card.encryptedToToken()` to encrypt all card details as a single token.

### Improved

* Upgraded the 3D Secure 2 SDK version to [v2.2.4.](https://github.com/Adyen/adyen-3ds2-ios/releases/tag/2.2.4).
* The `CardDetails` object now contains the version of the 3D Secure SDK in `threeDS2SDKVersion`.

## 2021-11-09 — Android Components/Drop-in — Version 4.3.0

`Environment.TEST` is now the default for initializing `DropInConfiguration`. Set it to [a live environment value](/online-payments/build-your-integration/sessions-flow?platform=Android\&integration=Drop-in#test-and-go-live) for release builds.

### Deprecated

* `saveState` and `restoreState` methods in `action` components. All components and providers now use `SavedStateHandle`.
* `requiresConfiguration` method in `action` component providers. All components require configurations so this method always returns **true**.

### New

* Added **LIVE** as an [environment configuration](/online-payments/build-your-integration/sessions-flow?platform=Android\&integration=Drop-in#test-and-go-live), and it is the same as **EUROPE**.
* The Card Component now supports installments.
* Drop-in or the Component now returns [`fundingSource`](https://docs.adyen.com/api-explorer/#/CheckoutService/v68/post/paymentMethods__resParam_paymentMethods-fundingSource) if it is present in the `/paymentMethods` response.
* You can now skip the payment methods screen if there is a single available payment method by using `DropInConfiguration.Builder.setSkipListWhenSinglePaymentMethod`. This does not apply to Google Pay, PayPal, WeChat Pay or payment methods that require a redirect.

### Improved

* When the shopper enters the number for an unsupported card, the Card Component returns an error saying the brand is not supported.
* Updated the 3D Secure SDK to [v.2.2.5](https://github.com/Adyen/adyen-3ds2-android/releases/tag/2.2.5).

### Fixed

* Features that are only available in debug builds are now working correctly.
* The Card Component no longer crashes if you are using it without the 3D Secure library.
* For Google Pay, Drop-in and Components now handle cancellation and failure callbacks on initialization.

## 2021-11-02 — Checkout API

### Improved

* The **POST** `/paymentMethods` repsonse now contains the [`brands`](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/post/paymentMethods__resParam_paymentMethods-brands) array for Bancontact.

## 2021-11-01 — Web Components/Drop-in — Version 5.2.0

*\<p>This release requires \<a href="/online-payments/release-notes/?version%5B0%5D=68\&amp;integration\_type=api">Checkout API v68\</a> or later. \</p>*

### New

For [PayPal](/payment-methods/paypal), you can include a `cspNonce` to add a [Content Security Policy (CSP) nonce](https://developer.paypal.com/sdk/js/configuration/#link-cspnonce) if you use this on your site.

### Improved

* For Japanese convenience stores (`econtext_stores` and `econtext_seven_eleven`) you can now [hide the input fields for shopper name, email, and telephone number](/payment-methods/econtext-konbini/web-component#optional-configuration).
* For [Bancontact card](/payment-methods/bancontact/bancontact-card), you can now override the supported brands by including a `[brands]` array.
* Drop-in, the Card Component, and the Custom Card Component can now handle cards with an optional expiry date. An optional expiry date is marked as optional in the UI, and is not required for a card to pass the validation checks.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.2.0):

```sh
npm install @adyen/adyen-web@5.2.0 --save
```

### Tab: Embed script and stylesheet

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.2.0/adyen.js"
     integrity="sha384-qt4kgNMZ0UwOQ6AwZY31nwn5Cf4UU8wPfkhFu/tiF/Jta16AjBtfrkh1dFw2G7oP"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.2.0/adyen.css"
     integrity="sha384-gaEp/efBcplH05NvdYnrdMcaKBrhlK/jau5tB/MkhdOsY7sz6mUnu5fa26lNzt+i"
     crossorigin="anonymous">
```

## 2021-10-26 — Web Components/Drop-in — Version 5.1.0

*\<p>This release requires \<a href="/online-payments/release-notes/?version%5B0%5D=68\&amp;integration\_type=api">Checkout API v68\</a> or later. \</p>*

### Fixed

* Fixed an issue where payments using Apple Pay, Google Pay, or PayPal did not work if you have a [Components integration](/online-payments/build-your-integration/sessions-flow?platform=Web\&integration=Components).

### Improved

* For payment methods with issuer lists, like iDEAL or Dotpay, you can choose issuers to show outside of the the dropdown menu using `highlightedIssuers`.
* For [payments at Japanese convenience stores](/payment-methods/econtext-konbini), you can now hide the fields to collect personal details using `personalDetailsRequired`.

### Updating

### Tab: npm (recommended)

Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.1.0):

```sh
npm install @adyen/adyen-web@5.1.0 --save
```

### Tab: Embed script and stylesheet

If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

```
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.1.0/adyen.js"
     integrity="sha384-MSSWlGReMOvq1c7XJ2+w4ndYk2dGvQIwY5KZZ8FiSsFd8SyySH52G54o0/wxuVT+"
     crossorigin="anonymous"></script>

<link rel="stylesheet"
     href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.1.0/adyen.css"
     integrity="sha384-XN0c1CgugymoLluXz9O4h5yZilh197E8065oXNe5SgK9TSm6JL2eBdEM7IETwboE"
     crossorigin="anonymous">
```

## 2021-10-18 — Pay by Link

### Improved

* If a shopper accepts the Terms and Conditions and refreshes the page, we no longer show the modal for accepting Terms and Conditions.
* When uploading an image to a theme, we now show a loading state in the image upload component.

### Fixed

We fixed an issue where the payment link could have default validity, even though you had specified a custom validity when creating the payment link in the Customer Area.

## 2021-10-13 — iOS Components/Drop-in — Version 3.8.6

*\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/release-notes/#releaseNote=2025-08-27-ios-componentsdrop-in-5.20.0">upgrade to v5.20.0\</a> or later.\</p>*

If you use [Xcode 15](https://developer.apple.com/xcode/), use [v4.11.1](/online-payments/release-notes?integration_type=ios\&version=4.11.1) or later for compatibility.

### Fixed

* Fixed an issue where turning on both **Reduce motion** and **Prefer cross-fade transitions** accessibility settings, caused the card component fields to not be visible.
* Drop-in and Component now compile for **Any iOS Device** when using Xcode 13.

## 2021-10-13 — iOS Components/Drop-in — Version 4.3.0

*\<p>We recommend you use \<a href="/online-payments/release-notes/?version%5B0%5D=67\&amp;integration\_type=api">Checkout API v67\</a>.\</p>*

If you use [Xcode 15](https://developer.apple.com/xcode/), use [v4.11.1](/online-payments/release-notes?integration_type=ios\&version=4.11.1) or later for compatibility.

### New

* Doku, Affirm, MB WAY and Japanese conveninence store payments now support prefilling the shopper information in the payment form. You can prefill shopper infromation by injecting it when creating the component.

* Added translations for the warning text the shopper sees when they enter a card brand you do not support.

* For shoppers who do not have cards set up on Apple Pay, use `allowOnboarding` to either:

  * Allow shoppers to set up Apple Pay by going through the Apple Pay onboarding.
  * Not show Apple Pay in the checkout form.

### Improved

* The Boleto Component now allows shoppers to edit the prefilled billing address.

### Fixed

* Fixed an issue with form views freezing when updating the layout.

## 2021-10-11 — Pay by Link

### Improved

Improved validation when you upload an image for a theme.

### Fixed

The **Shopper reference** field is now correctly marked as optional when you're creating a payment link in the Customer Area.

## 2021-10-11 — Checkout API

### Fixed

* Fixed an issue where metadata for 3D Secure payments wasn't being returned in the [CANCELLATION](https://docs.adyen.com/api-explorer/Webhooks/latest/post/CANCELLATION) webhook. To get this metadata, you need to configure it as an [additional setting](/development-resources/webhooks/webhook-types/additional-settings).

## 2021-10-06 — Web Components/Drop-in — Version 5.0.0

*\<p>This release requires \<a href="/online-payments/release-notes/?version%5B0%5D=68\&amp;integration\_type=api">Checkout API v68\</a> or later. \</p>*

If upgrading from v3.23.0 or earlier, have a look at the [migration guide](/online-payments/build-your-integration/migrate-to-web-4-0-0).

### Known Issues

* Payments using Apple Pay, Google Pay, or PayPal do not work for [Components integrations](/online-payments/build-your-integration/sessions-flow?platform=Web\&integration=Components). The issue is fixed in [v5.1.0](/online-payments/release-notes?integration_type=web\&version=5.1.0).

### Deprecated

The following props from `AdyenCheckout` configuration:

* `allowPaymentMethods`
* `removePaymentMethods`

To customize which payment methods are available for the shopper, include [`allowedPaymentMethods`](https://docs.adyen.com/api-explorer/#/CheckoutService/v68/post/paymentMethods__reqParam_allowedPaymentMethods) or [`blockedPaymentMethods`](https://docs.adyen.com/api-explorer/#/CheckoutService/v67/post/paymentMethods__reqParam_blockedPaymentMethods) in your `/paymentMethods` request.

### Breaking Changes

* The `onError` callback now returns an object for every Component. The object contains more details about the error. For more information, refer to [Handle Drop-in errors](/online-payments/build-your-integration/sessions-flow?platform=Web\&integration=Drop-in#initialize-the-payment-session) or [Handle Component errors](/online-payments/components-web#error-handling).

* The creation of `AdyenCheckout` is now asynchronous:

  ### Tab: v5.0.0 or later

  ```js
      const checkout = await AdyenCheckout(configuration); 
  ```

  ### Tab: before v5.0.0

  ```js
      const checkout = new AdyenCheckout(configuration); 
  ```

  ### New

  Using the `/sessions` endpoint, you can integrate Drop-in and Components with a single API call.

  If you already integrated using the `/paymentMethods`, `/payments`, and `/payments/details` endpoints, you can continue using this back end setup in version 5.0.0.

  ### Updating

  ### Tab: npm (recommended)

  Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/5.0.0):

  ```sh
  npm install @adyen/adyen-web@5.0.0 --save
  ```

  ### Tab: Embed script and stylesheet

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.0.0/adyen.js"
       integrity="sha384-kcKKvS6qZbXycrUw31OJ2/2Hz8A8FTsV9anjvpyQc/IWR1SmkFUw7w7F/t5S3qtA"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
       href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.0.0/adyen.css"
       integrity="sha384-0IvbHDeulbhdg1tMDeFeGlmjiYoVT6YsbfAMKFU2lFd6YKUVk0Hgivcmva3j6mkK"
       crossorigin="anonymous">
  ```

  ## 2021-10-06 — Checkout API — Version 68

  This API version is supported by our Java, NodeJS, PHP, Python, Ruby, Go, and .NET libraries.\
  You can find all the [Adyen libraries on GitHub](https://github.com/Adyen).

  ### Breaking Changes

  * **POST** `/paymentMethods`

    * The [`details`](https://docs.adyen.com/api-explorer/#/CheckoutService/v67/post/paymentMethods__resParam_paymentMethods-details) array has been removed.
    * The list of issuers for payment methods like iDEAL or Dotpay, is now in the [`paymentMethods.issuers`](https://docs.adyen.com/api-explorer/#/CheckoutService/v68/post/paymentMethods__resParam_paymentMethods-issuers) array.
    * For cards, if the `paymentMethods.brands` array has a single element, the value of the `paymentMethods.name` is now the brand name of the available card brand, instead of **Credit Card**.

  * **POST** `/payments`
    * [`checkoutAttemptId`](https://docs.adyen.com/api-explorer/#/CheckoutService/v68/post/payments__reqParam_checkoutAttemptId) replaces `conversionId`.

  * **POST** `/paymentLinks`
    * `amount.value` fields now must be integers. Values like **10.5** now produce a validation error.

  * **GET** `paymentLinks/{linkId}`
    * New `status` value, **paymentPending** for payment methods that have a pending state. Previously, such states had the **completed status**.

  * For payment link resources, [`storePaymentMethodMode`](https://docs.adyen.com/api-explorer/#/CheckoutService/v67/post/paymentLinks__reqParam_storePaymentMethod) replaces [`storePaymentMethod`](https://docs.adyen.com/api-explorer/#/CheckoutService/v67/post/paymentLinks__reqParam_storePaymentMethod) from previous versions. The allowed values for `storedPaymentMethodMode` are:

    * **disabled** (default), the shopper's payment details are not stored.
    * **enabled** and `shopperReference` is provided, the shopper's payment details are stored.
    * **askForConsent**, the shopper can choose in the Pay by Link UI if they want their payment details to be stored.

  ### New

  * **POST** [/sessions](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/post/sessions): creates a payment session for Web Drop-in and Web Components integrations.

  * **POST** `/paymentMethods`
    * For payment methods with issuer lists, each issuer object now has a [`disabled`](https://docs.adyen.com/api-explorer/#/CheckoutService/v68/post/paymentMethods__resParam_paymentMethods-issuers-disabled) field indicating if the issuer is available.

  * **POST** `/payments`

    * Responses with `action.type`: **qrCode** now contain the [`expiresAt`](https://docs.adyen.com/api-explorer/#/CheckoutService/v68/post/payments__resParam_action-CheckoutQrCodeAction-expiresAt) field which has the expiry date in [ISO8601 format](https://www.iso.org/iso-8601-date-and-time-format.html).
    * In your request, you can now send all the fields from the [EMV 3D Secure 2.1.0 specification](https://www.emvco.com/emv-technologies/3-d-secure/).
    * [`mpiData.tokenAuthenticationVerificationValue`](https://docs.adyen.com/api-explorer/#/CheckoutService/v68/post/payments__reqParam_mpiData-tokenAuthenticationVerificationValue)

  * **POST** `/orders`
    * The initial amount of the order is always returned in the [`amount`](https://docs.adyen.com/api-explorer/#/CheckoutService/v68/post/orders__resParam_amount) object.

  ### Fixed

  * **POST** `/paymentLinks`
    * Fixed an issue where the payments page didn't show a phone number field when configured as part of [`requiredShopperFields`](https://docs.adyen.com/api-explorer/#/CheckoutService/v67/post/paymentLinks__reqParam_requiredShopperFields).

  ### Deprecated

  * **POST** `/payments` and **POST** `/donations` requests:

    * [`homePhone`](https://docs.adyen.com/api-explorer/#/CheckoutService/v68/post/payments__reqParam_accountInfo-homePhone)
    * [`mobilePhone`](https://docs.adyen.com/api-explorer/#/CheckoutService/v68/post/payments__reqParam_accountInfo-mobilePhone)
    * [`workPhone`](https://docs.adyen.com/api-explorer/#/CheckoutService/v68/post/payments__reqParam_accountInfo-workPhone)
    * [`deliveryEmail`](https://docs.adyen.com/api-explorer/#/CheckoutService/v68/post/payments__reqParam_merchantRiskIndicator-deliveryEmail)
    * [`challengeIndicator`](https://docs.adyen.com/api-explorer/#/CheckoutService/v68/post/payments__reqParam_threeDS2RequestData-challengeIndicator)

  ### Changed

  * **POST** `/payments`
    * All address fields are now optional.

  ## 2021-10-05 — Web Components/Drop-in — Version 4.9.0

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> Deprecated \</tag> \</div> \<br> This version will be \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> on \<strong>August 1, 2026\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v4">upgrade to v6.0.0\</a> or later.\</p>*

  ### Improved

  * We added several accessibility improvements for Drop-in and Components.
  * For payment methods with [multiple payment method variants](/development-resources/paymentmethodvariant), such as Klarna or Dragonpay, we fixed an issue where the Component could be created with incorrect payment method data. This issue only occurred when using Components, not when using Drop-in.

  ### New

  For [Pix](/payment-methods/pix), you can configure the Drop-in or the Component to collect shopper's name and the CPF/CNPJ (a unique identifier similar to a social security number), by including `personalDetailsRequired`.

  ### Updating

  ### Tab: npm (recommended)

  Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/4.9.0):

  ```sh
  npm install @adyen/adyen-web@4.9.0 --save
  ```

  ### Tab: Embed scriptand stylesheet

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/4.9.0/adyen.js"
       integrity="sha384-aEL1fltFqDd33ItS8N+aAdd44ida67AQctv9h57pBGjNJ8E2xxbX/CVALJqO8/aM"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
       href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/4.9.0/adyen.css"
       integrity="sha384-0IvbHDeulbhdg1tMDeFeGlmjiYoVT6YsbfAMKFU2lFd6YKUVk0Hgivcmva3j6mkK"
       crossorigin="anonymous">
  ```

  ### Known Issues

  A known issue exists in version 4.9.0 where the Card Component, when created with the type **card**, fails to match the corresponding **scheme** type returned in the /paymentMethods response. This prevents the brands array from the API response from being automatically propagated to the Card Component.

  **Impact**: The list of supported card brands is not displayed automatically, requiring manual intervention.

  **Resolution**\
  To resolve this issue, you have three options:

  * Update (recommended) your integration to version 5.6.0 or later to have the brands array populate automatically.
  * If you must remain on version 4.9.0, manually add the brands array to your Card Component configuration.
  * Initialize the component by creating it as 'scheme' instead of 'card'.

  ## 2021-10-04 — Pay by Link

  ### Improved

  When creating a theme and uploading a background image with an unsupported format, you will now get a validation error.

  ### Fixed

  If you have uploaded a brand logo, this is now used as the favicon.

  ## 2021-09-29 — iOS Components/Drop-in — Version 4.2.0

  *\<p>We recommend you use \<a href="/online-payments/release-notes/?version%5B0%5D=67\&amp;integration\_type=api">Checkout API v67\</a> or later.\</p>*

  If you use [Xcode 15](https://developer.apple.com/xcode/), use [v4.11.1](/online-payments/release-notes?integration_type=ios\&version=4.11.1) or later for compatibility.

  ### New

  * New supported payment method: [Multibanco](/payment-methods/multibanco).
  * The Card Component now allows you to accept credit card payments in installments using [`InstallmentConfiguration`](https://adyen.github.io/adyen-ios/5.0.0/documentation/adyen/).
  * Shoppers can now dismiss pickers using the new **Done** button.

  ### Changed

  * If you're using Objective-C, we renamed `TextField` to `ADYTextField` to avoid naming conflicts.

  ### Improved

  * The Encryption Component now uses [JSON Web Encryption (JWE)](https://datatracker.ietf.org/doc/html/rfc7516) with RSA OAEP 256 and AES CBC 256 with HMAC SHA 512. You do not need to make any changes to your integration.
  * The Card Component now shows an error message to the shopper if the card brand they are using is not supported.

  ### Fixed

  * Fixed a UI bug where only part of the **Pay** button was visible.
  * Fixed an issue with `socialSecurityNumber` where setting it to **show** would still hide the field based on the card's BIN.

  ## 2021-09-27 — Pay by Link

  ### Improved

  * Upgraded to [Web Components 4.8.0](/online-payments/release-notes?integration_type=web\&version=4.8.0#releaseNote=2021-09-20-web-componentsdrop-in-4.8.0).

  ## 2021-09-27 — Checkout API

  ### Fixed

  Fixed an issue where `girocard_applepay` didn't appear in the `brands` array for Apple Pay in the [/paymentMethods](https://docs.adyen.com/api-explorer/Checkout/latest/post/paymentMethods) response.

  ## 2021-09-22 — Android Components/Drop-in — Version 4.2.0

  *\<p>We recommend you use \<a href="/online-payments/release-notes/?version%5B0%5D=67\&amp;integration\_type=api">Checkout API v67\</a> or later. \</p>*

  ### New

  * For dual-branded cards, the Card Component now renders both brands, and allows the cardholder to choose the brand they want to pay with.\
    This makes the Component compliant with European regulatory guidelines for accepting dual-branded cards (EU IFR Regulation 2015/751 article 8).
  * For Bancontact, you can now show a toggle for saving the card details for later payments. To do this, call `BcmcConfiguration.Builder.setShowStorePaymentField(true)`.
  * Added support for removing Observers attached to Components.
  * Added support for the [Activity Result API](https://developer.android.com/training/basics/intents/result).

  ### Improved

  * The supported brands for Google Pay are now automatically configured based on your account settings, so you no longer need to specify these using `setAllowedCardNetworks`.
  * For the Card Component, the `paymentComponentState.data.paymentMethod` now includes the `threeDS2SdkVersion`.

  ### Fixed

  * We fixed an issue where Drop-in could crash when trying to render stored payment methods.
  * We fixed an issue where Drop-in would not render Bancontact unless you included a `BcmcConfiguration` object.
  * For Google Pay, we no longer pass the `TotalPrice` if the `TotalPriceStatus` is set to `NOT_CURRENTLY_KNOWN`, in line with the [Google Pay specifications](https://developers.google.com/pay/api/web/reference/request-objects).

  ## 2021-09-20 — Pay by Link

  ### Fixed

  * If a shopper refreshes the page after an unsuccessful payment attempt, the delivery address form is no longer hidden.
  * For reusable payment links, the delivery address used for the first payment is no longer being stored for the following payments.

  ## 2021-09-20 — Web Components/Drop-in — Version 4.8.0

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> Deprecated \</tag> \</div> \<br> This version will be \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> on \<strong>August 1, 2026\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v4">upgrade to v6.0.0\</a> or later.\</p>*

  ### Fixed

  * For payment methods with multiple [payment method variants](/development-resources/paymentmethodvariant), such as Klarna or Dragonpay, we fixed an issue where the Component could be created for the incorrect variant. This issue only occurred when using Components, not when using Drop-in.
  * Fixed an issue where the Card Component state was not correctly updated in case you entered correct card details, and then pasted a full unsupported card number.

  ### Updating

  ### Tab: npm (recommended)

  Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/4.8.0):

  ```sh
  npm install @adyen/adyen-web@4.8.0 --save
  ```

  ### Tab: Embed script and stylesheet

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/4.8.0/adyen.js"
       integrity="sha384-JM4Li2UogXxSpxmM8Xoj1CeRTyzkcoEaU7cTJlK+34aOZ3k8W+eTVrrvW8kpbphp"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
       href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/4.8.0/adyen.css"
       integrity="sha384-abv8co6wyDCexfM8Iv1sH5xYfTh9wAO5gzwVj0aLZkIOw7dQFEV5ZDwSrywJ7CYf"
       crossorigin="anonymous">
  ```

  ### Improved

  Accessibility improvement: All shopper input fields now have a `name` property. This makes sure their `<label>` elements get a `for` attribute, and that the shopper input is given an `id` that matches the value of the `for` attribute.

  ## 2021-09-13 — Checkout API

  ### Fixed

  Fixed an issue where JCB cards enabled for Apple Pay would show up as part of the `paymentMethod.brands` array instead of the `brands` array for Apple Pay. This means Web Drop-in and Components would render the Apple Pay logo as part of the Card Component.

  ## 2021-09-06 — Pay by Link

  ### New

  * Pay by Link now has its own section in the Customer Area main navigation.

  * Create and choose themes for the payment page when using Pay by Link:

    * [In the Customer Area](/unified-commerce/pay-by-link/create-payment-links/customer-area#customize)
    * [Through the API](/unified-commerce/pay-by-link/create-payment-links/api#themes)

  ### Improved

  * You can now have numbers in the card holder name.

  ### Fixed

  We reverted the [improvement from 23 Aug 2021](/online-payments/release-notes#releaseNote=2021-08-23-pay-by-link) because it was causing problems for some payment methods.

  ## 2021-09-06 — Checkout API

  ### New

  **POST** [/paymentLinks](https://docs.adyen.com/api-explorer/#/CheckoutService/paymentLinks)

  * `themeId` field to customize the appearance of the payment page when creating a payment link. This field is available in [Checkout API v67](/online-payments/release-notes/?version%5B0%5D=67\&integration_type=api) and later.

  ### Fixed

  All lists of countries/regions are now ordered alphabetically for each translation.

  ## 2021-09-06 — iOS Components/Drop-in — Version 4.1.0

  *\<p>We recommend you use \<a href="/online-payments/release-notes/?version%5B0%5D=67\&amp;integration\_type=api">Checkout API v67\</a>.\</p>*

  If you use [Xcode 15](https://developer.apple.com/xcode/), use [v4.11.1](/online-payments/release-notes?integration_type=ios\&version=4.11.1) or later for compatibility.

  ### New

  * New supported payment methods: Affirm, OXXO.

  * The Card Component now has support for:

    * Korean card payments through KCP.
    * Brazillian card payments that require the social security number.
    * UK addresses.

  * Shoppers can now add vouchers to Apple Wallet.

  * Get the last 4 digits of the entered card number using [`didSubmit(lastFour:component:)`](https://adyen.github.io/adyen-ios/5.0.0/documentation/adyen/).

  ### Improved

  * If a shopper enters card data and then closes the payment screen, the component now clears the values for improved security.
  * The Card Component now runs validation on optional CVC fields if the shopper enters a value.
  * Disabled Luhn checks for private label cards (also known as white label cards), because the check fails even if the card number is valid.
  * The card number field now has a numeric keypad for input.
  * The Boleto Component has improved validation for social security numbers.
  * There are smoother transitions between Drop-in screens.
  * Redesigned the Drop-in UI for iPad so that it is responsive to screen size and feels native to the iPad.
  * Redesigned the UI for voucher payment methods to make it easy for shoppers to find the call to action.
  * Added a [**README.md** file](https://github.com/Adyen/adyen-ios/tree/develop/Demo) for the demo projects.
  * Updated the 3D Secure SDK to [v2.2.3](https://github.com/Adyen/adyen-3ds2-ios/releases/tag/2.2.3).
  * Moved the networking layer into a separate framework as a dependency.

  ### Fixed

  * You can now use CocoaPods on M1 Mac devices.
  * Fixed a bug where card brand logos were not showing up if the shopper deleted the initial card number and entred a value again.
  * Single digit house numbers no longer fail validation.

  ## 2021-09-06 — Web Components/Drop-in — Version 4.7.5

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> Deprecated \</tag> \</div> \<br> This version will be \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> on \<strong>August 1, 2026\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v4">upgrade to v6.0.0\</a> or later.\</p>*

  ### Fixed

  If you're using [native web components](https://developer.mozilla.org/en-US/docs/Web/Web_Components), we fixed an issue where opening a dropdown list in Adyen's Web Components or Drop-in would cause it to close it back again immediately.

  ### Updating

  ### Tab: npm (recommended)

  Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/4.7.5):

  ```sh
  npm install @adyen/adyen-web@4.7.5 --save
  ```

  ### Tab: Embed script and stylesheet

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/4.7.5/adyen.js"
       integrity="sha384-7dMVQuI14voF8Shnau609pwTHSPyTrCRKzjbapEASgWGKMun31jRIDyYBqAKQ3kC"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
       href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/4.7.5/adyen.css"
       integrity="sha384-9+LIlWSGAUQhUPJw1dx4xYnF4Z7wNrR+PqDBpWokR+LuOjpusXig9yZsqMslp3Er"
       crossorigin="anonymous">
  ```

  ## 2021-08-30 — Web Components/Drop-in — Version 4.7.4

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> Deprecated \</tag> \</div> \<br> This version will be \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> on \<strong>August 1, 2026\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v4">upgrade to v6.0.0\</a> or later.\</p>*

  ### Fixed

  * The `isAvailable` method for Apple Pay has a shorter execution time, since it no longer invokes `canMakePayments` twice.
  * We fixed an issue where an input in an error state was not properly validated in case it lost focus.

  ### Improved

  * If it is not possible to fetch the language of the browser, we now populate the `browserInfo.language` field with a default value of `en`.
  * When showing that input is valid or invalid, address input fields now behave in the same way as all other input fields.

  ### Updating

  ### Tab: npm (recommended)

  Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/4.7.4):

  ```sh
  npm install @adyen/adyen-web@4.7.4 --save
  ```

  ### Tab: Embed script and stylesheet

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/4.7.4/adyen.js"
       integrity="sha384-lIc4bWIO4g4PCmTLvsRFsCBCszdsZiUJSqxuBUDh5IQjyBW+Ng4YywRTtpMRkHMM"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
       href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/4.7.4/adyen.css"
       integrity="sha384-9+LIlWSGAUQhUPJw1dx4xYnF4Z7wNrR+PqDBpWokR+LuOjpusXig9yZsqMslp3Er"
       crossorigin="anonymous">
  ```

  ## 2021-08-26 — Android Components/Drop-in — Version 4.1.1

  *\<p>We recommend you use \<a href="/online-payments/release-notes/?version%5B0%5D=67\&amp;integration\_type=api">Checkout API v67\</a>.\</p>*

  ### Fixed

  * Fixed an issue on the Card Component where address fields were still shown even if `AddressVisibility` was set to **NONE**.

  ## 2021-08-23 — Pay by Link

  ### Improved

  If a shopper refreshes the page after entering payment details for a voucher or a redirect payment method, they now have to choose whether to continue with the payment, or to start over. This helps to prevent shoppers from making accidental duplicate payments.

  ## 2021-08-23 — Checkout API

  ### Fixed

  We fixed an issue where a [splits](https://docs.adyen.com/api-explorer/#/CheckoutService/v67/post/payments/{paymentPspReference}/captures__reqParam_splits) array included in the [`/payments/{paymentPspReference}/captures`](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/post/payments/{paymentPspReference}/captures) request was not processed correctly.

  ## 2021-08-18 — Android Components/Drop-in — Version 4.1.0

  *\<p>We recommend you use \<a href="/online-payments/release-notes/?version%5B0%5D=67\&amp;integration\_type=api">Checkout API v67\</a>.\</p>*

  ### New

  * The Card Component now has support for:

    * Korean card payments through KCP.
    * Brazillian card payments that require the social security number.
    * The postal code input field.

  * On Drop-in, you can now take shoppers to the list of all available payment methods instead of only showing their stored cards. To do this, call `DropInConfiguration.Builder.showPreselectedStoredPaymentMethod(false)`.

  * Support for Android 12.

  ### Improved

  * Configuration objects now do runtime validation to make sure your client key matches the environment it is being used on.
  * Disabled Luhn checks for private label cards (also known as white label cards), because the check fails even if the card number is valid.
  * Updated the 3D Secure SDK to [v2.2.4](https://github.com/Adyen/adyen-3ds2-android/releases/tag/2.2.4).

  ### Changed

  * The focus no longer automatically switches to the next input field after the card number has been filled in.

  ### Fixed

  * Fixed an issue where card brand logos weren't loading if there were multiple logos of the same type, for example when the shopper had multiple stored cards of the same brand.
  * If the Android operating system stops your app before the payment flow is completed, this no longer causes Drop-in to fail.

  ## 2021-08-16 — Checkout API

  ### Improved

  * **Finnish e-banking** now appears as **Verkkopankkimaksu** in the front end when the locale is set to **fi-FI**.

  ### Fixed

  * For iDEAL payments, sending emoji in the [productTitle](https://docs.adyen.com/api-explorer/Checkout/67/post/payments#request-additionalData-AdditionalDataRisk-riskdata-basket-item_itemNr_-productTitle) no longer causes an error during the redirect.

  ## 2021-08-16 — Pay by Link

  ### Improved

  * We improved the error messages for when a user creating a payment link in the Customer Area doesn't have the required permissions.

  ## 2021-08-09 — Checkout API

  ### Fixed

  For redirect 3D Secure payments, the [`amount`](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/post/payments/details__resParam_amount) object in the [`/payments/details`](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/post/payments/details) response is now returned in the same way as for all other payments.

  ## 2021-08-09 — Pay by Link

  ### Improved

  * A `merchantReference` that doesn't fit into a single line is now broken into several lines, so it will no longer exceed the payment form border.
  * We improved the message shown to the shopper after completing a payment that has a status of [**Payment pending**](/unified-commerce/pay-by-link/create-payment-links/customer-area).

  ## 2021-08-02 — Web Components/Drop-in — Version 4.7.3

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> Deprecated \</tag> \</div> \<br> This version will be \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> on \<strong>August 1, 2026\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v4">upgrade to v6.0.0\</a> or later.\</p>*

  ### Improved

  The Amazon Pay Component now supports [Amazon Pay multi-currency](https://pay.amazon.eu/help/5BDCWHCUC27485L). This feature will be automatically available to you if your Amazon Pay merchant account is in the EU or UK region.

  ### Fixed

  * For card payments, the `holderName` field no longer shows a validation error if empty and configured as optional.
  * Fixed an issue with the white Apple Pay button styling.

  ### Updating

  ### Tab: npm (recommended)

  Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/4.7.3):

  ```sh
  npm install @adyen/adyen-web@4.7.3 --save
  ```

  ### Tab: Embed script and stylesheet

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/4.7.3/adyen.js"
       integrity="sha384-YiT4BfPwbplFwUnpDjm2rmWCvpzdi6+l+1E+J9JKTB3CYyKbbwJ8ghkUheQf79X9"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
       href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/4.7.3/adyen.css"
       integrity="sha384-X1zQUhO5NGWdMQmDcuv2kyQK65QR7/VJtNthEImZm7jOvOEicQrnVijI0n9DcHkF"
       crossorigin="anonymous">
  ```

  ## 2021-07-26 — Pay by Link

  ### Fixed

  For in-store Pay by Link, we fixed an issue where the result icon on the confirmation page wasn't being rendered.

  ## 2021-07-26 — Checkout API

  ### Fixed

  For native 3D Secure 2 payments, the [`amount`](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/post/payments/details__resParam_amount) object in the [`/payments/details`](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/post/payments/details) response is now returned in the same way as for all other payments.

  ## 2021-07-19 — Web Components/Drop-in — Version 4.7.2

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> Deprecated \</tag> \</div> \<br> This version will be \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> on \<strong>August 1, 2026\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v4">upgrade to v6.0.0\</a> or later.\</p>*

  ### Improved

  The **Cardholder** field now accepts all characters, including digits.

  ### Updating

  ### Tab: npm (recommended)

  Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/4.7.2):

  ```sh
  npm install @adyen/adyen-web@4.7.2 --save
  ```

  ### Tab: Embed script and stylesheet

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/4.7.2/adyen.js"
       integrity="sha384-hhvkW03dAUXGdLB8iXXHW311qerCuAJvbU4LxZZzMP5knSYEFWAenVr0wa5ulKwO"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
       href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/4.7.2/adyen.css"
       integrity="sha384-dkJjySvUD62j8VuK62Z0VF1uIsoa+APxWLDHpTjBRwQ95VxNl7oaUvCL+5WXG8lh"
       crossorigin="anonymous">
  ```

  ## 2021-07-19 — Pay by Link

  ### Fixed

  * Payment links created through the Customer Area are now correctly generating recurring payment tokens.
  * Fixed an issue where installments were not available for stored cards.

  ## 2021-07-12 — Pay by Link

  ### Improved

  * If you're entering shopper details manually when creating a payment link in the Customer Area, you can now also add the shopper's first name, last name, and telephone number.

  ### Fixed

  * If you are using the same merchant account for your online payments integration as well as Pay by Link, Apple Pay only appears as an available payment method for Pay by Link if you are using [Adyen's Apple Pay certificate](/payment-methods/apple-pay/web-drop-in#before-you-begin) for your online payments integration.
  * For voucher and bank transfer payments, we added back the **Continue** button which takes the shopper back to your website.
  * When creating a payment link in the Customer Area, you no longer get an error when entering an Australian shopper address.

  ### Known Issues

  Recurring payment tokens are not generated correctly for payment links created through the Customer Area. This is fixed in the [19 July 2020 release](/online-payments/release-notes#releaseNote=2021-07-19-pay-by-link).

  ## 2021-07-12 — Checkout API

  ### New

  * Splitting funds for Adyen for Platform accounts is now possible when doing [refunds](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments/\(paymentPspReference\)/refunds#request-splits) and [amount updates](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/post/payments/{paymentPspReference}/amountUpdates__resParam_splits).

  ### Fixed

  * Fixed an issue where the `/payments/details` response did not contain the 3D Secure 2 fields in the `additionalData` object.
  * Website cross-origin isolation using [COOP and COEP](https://web.dev/coop-coep) is now supported for [Web Components 3.4.0](/online-payments/release-notes/?version%5B0%5D=3.4.0#releaseNote=2020-04-01-ios-componentsdrop-in-3.4.0) and above, as well as all assets on `checkoutshopper`.

  ## 2021-07-08 — Android Components/Drop-in — Version 4.0.0

  *\<p>We recommend you use \<a href="/online-payments/release-notes/?version%5B0%5D=67\&amp;integration\_type=api">Checkout API v67\</a>. \</p>*

  For guidance on upgrading to this version, have a look at the [migration guide](/online-payments/android/migrate-to-android-4-0-0).

  ### Breaking Changes

  * All Components, including action Components, now require a configuration object.
  * All configuration objects now require a [client key](/development-resources/client-side-authentication). 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](/payment-methods/cards/custom-card-integration?tab=android_3).
  * 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`](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/post/payments) response using the `DropInService`.
  * For [MB WAY](/payment-methods/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`](/payment-methods/wechat-pay/wechat-pay-in-app-payments/android-component#start-a-payment-with-wechat-pay).
  * We removed `PaymentComponentProvider.isAvailable`. Payment method providers that require an availability check (currently [Google Pay](/payment-methods/google-pay/android-component) and [WeChat Pay](/payment-methods/wechat-pay/wechat-pay-in-app-payments/android-component#start-a-payment-with-wechat-pay)), will now implement `PaymentMethodAvailabilityCheck` instead.

  ### New

  * The `Adyen3DS2Component` supports the [new 3D Secure 2 flow](/online-payments/3d-secure/native-3ds2/android-component#handle-redirect) introduced in [Checkout API v67](/online-payments/release-notes/?version%5B0%5D=67\&integration_type=api). 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](/online-payments/3d-secure/native-3ds2/android-component#handle-redirect).

  * * For [Google Pay](/payment-methods/google-pay), the payment method type is now **googlepay**.

  * The `QRCodeComponent` handles all payment methods with `action.type`: **qrCode**, including [Bancontact mobile](/payment-methods/bancontact/bancontact-mobile/android-component), [Swish](/payment-methods/swish), and [Pix](/payment-methods/pix). The `QRCodeComponent` implements `IntentHandlingComponent`, and has a `handleIntent` method.

  * New supported payment method: [BLIK](/payment-methods/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 `cardConfiguration`object. 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](/payment-methods/mb-way).
  * We updated the 3D Secure SDK to version [2.2.0](https://github.com/Adyen/adyen-3ds2-android/releases/tag/2.2.2).
  * For the custom [card integration with encryption](/payment-methods/cards/custom-card-integration?tab=android_3), 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](/payment-methods/google-pay/android-component) environment now automatically follows the Adyen environment.

  ### Changed

  * New releases are now published to [Maven Central](https://repo1.maven.org/maven2/com/adyen/checkout/).
  * We migrated from the Android Support Library to AndroidX.
  * The minimum supported Android API version is now [21](https://developer.android.com/reference/android/os/Build.VERSION_CODES#LOLLIPOP).
  * For the [`GooglePayConfiguration.Builder`](/payment-methods/google-pay/android-component#show-google-pay-in-your-payment-form), 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.

  ## 2021-07-05 — Pay by Link

  ### Changed

  * Changed the date format in the Customer Area payment links overview to be more readable.

  ### Fixed

  * Fixed an issue where the `merchantReference` would not be correctly returned in the `/payments/details` response during 3D Secure transactions.
  * Downloading the payment links CSV file from the Customer Area now works on Safari.

  ## 2021-06-30 — iOS Components/Drop-in — Version 4.0.0

  *\<p>We recommend you use \<a href="/online-payments/release-notes/?version%5B0%5D=67\&amp;integration\_type=api">Checkout API v67\</a>.\</p>*

  If you use [Xcode 15](https://developer.apple.com/xcode/), use [v4.11.1](/online-payments/release-notes?integration_type=ios\&version=4.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](/online-payments/build-your-integration/migrate-to-ios-4-0-0#new-module-structure).
  * Each [component initialization](/online-payments/build-your-integration/migrate-to-ios-4-0-0#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](/online-payments/build-your-integration/migrate-to-ios-4-0-0#end-of-component-flow).
  * Renamed the [payment method configuration objects](/online-payments/build-your-integration/migrate-to-ios-4-0-0#payment-method-configuration).
  * In the `Adyen` module, the `Amount` object now adopts the [`Codable`](https://developer.apple.com/documentation/swift/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`](https://adyen.github.io/adyen-ios/5.0.0/documentation/adyen/) 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](/online-payments/build-your-integration/migrate-to-ios-4-0-0#apple-pay-supported-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](/online-payments/build-your-integration/migrate-to-ios-4-0-0#new-module-structure). 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](/online-payments/build-your-integration/migrate-to-ios-4-0-0) for details about the more complex breaking changes.

  ### Removed

  * [Deprecated classes, functions, properties](/online-payments/build-your-integration/migrate-to-ios-4-0-0#remove-deprecated).
  * `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](/online-payments/release-notes/?version%5B0%5D=67\&integration_type=api).

  ### New

  * The `ThreeDS2Component` supports the new 3D Secure flow from [Checkout API v67](/online-payments/release-notes/?version%5B0%5D=67\&integration_type=api). 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](https://developer.apple.com/documentation/swift/1541112-assert) 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](https://github.com/Adyen/adyen-ios/tree/develop/Demo) 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](/online-payments/release-notes?integration_type=ios\&version=4.8.0).

  ## 2021-06-28 — Pay by Link

  ### Changed

  In the currency dropdown, we're now using the correct **GHS** currency code for the Ghanian cedi.

  ### Fixed

  Fixed an issue in the Customer Area where you couldn't change the order for some payment methods.

  ## 2021-06-28 — Checkout API

  ### Fixed

  Card data decryption failures now return the correct error **174 - Unable to decrypt data**, instead of **175 - Unable to parse JSON data**.

  ## 2021-06-28 — Web Components/Drop-in — Version 4.7.1

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> Deprecated \</tag> \</div> \<br> This version will be \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> on \<strong>August 1, 2026\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v4">upgrade to v6.0.0\</a> or later.\</p>*

  ### Improved

  * The **Cardholder** field now accepts all characters, except digits.

  * We improved accessibility for dropdown menus:

    * You can now close a dropdown menu using the **Esc** key.
    * Pressing **Tab** on a open dropdown moves the focus to the next element after closing the dropdown.

  ### Fixed

  For Google Pay, canceling a payment no longer logs an `unhandled promise` error in the console.

  ### Updating

  ### Tab: npm (recommended)

  Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/4.7.1):

  ```sh
  npm install @adyen/adyen-web@4.7.1 --save
  ```

  ### Tab: Embed script and stylesheet

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/4.7.1/adyen.js"
       integrity="sha384-+6sganTOdD6V0LmuV93Rv4yPqf9Pt/2hDohL1SZ0tnac+qK1kvlsAJPnrFFZsMaK"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
       href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/4.7.1/adyen.css"
       integrity="sha384-dkJjySvUD62j8VuK62Z0VF1uIsoa+APxWLDHpTjBRwQ95VxNl7oaUvCL+5WXG8lh"
       crossorigin="anonymous">
  ```

  ## 2021-06-23 — Pay by Link

  ### Improved

  You can now filter and download a CSV of the payment links you created. You can filter by:

  * Merchant reference
  * Status of the payment link
  * How the link was created
  * The user who created the link
  * Creation date
  * Link type

  When filtering by links generated through the API, you get all the links created using Adyen's EU data center. We are working on adding the other data centers.

  ## 2021-06-21 — Checkout API

  ### Improved

  We improved the error message that you get when including an invalid `redirectResult` in the [`/payments/details`](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/post/payments/details) request.

  ### Fixed

  We fixed an issue where shoppers couldn't add a gift card payment to an existing order.

  ## 2021-06-21 — Pay by Link

  ### Improved

  * When [entering multiple email addresses for receiving payment updates](/unified-commerce/pay-by-link/create-payment-links/customer-area#email-updates), you can now separate them by commas.
  * We improved the error message that you get when trying to get a payment link for a combination of country/region and currency for which no payment methods are available.

  ### New

  * Pay by Link is now using [Checkout API v67](/online-payments/release-notes/?version%5B0%5D=67\&integration_type=api) and [Web Components 4.7.0](/online-payments/release-notes?integration_type=web#releaseNote=2021-06-14-web-componentsdrop-in-4.7.0).
  * The address form in the Customer Area now supports addresses in Australia.
  * Shoppers in Australia can now select a **State** when entering their billing or delivery address on the payment page.

  ## 2021-06-14 — Pay by Link

  ### Improved

  If the user creating a payment link in the Customer Area doesn't have the right [permissions](/account/user-roles#online-payments), they now see an error explaining this.

  ## 2021-06-14 — Web Components/Drop-in — Version 4.7.0

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> Deprecated \</tag> \</div> \<br> This version will be \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> on \<strong>August 1, 2026\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v4">upgrade to v6.0.0\</a> or later.\</p>*

  ### Changed

  When `onSubmit` is triggered, Component/Drop-in status is now automatically set to `'loading'`. If you want to overwrite the default behavior, set the [`setStatusAutomatically` prop](/online-payments/components-web#configure) to **false**.

  ### Improved

  * Added support for Cartes Bancaires in the Apple Pay Component.
  * We optimized the address form layout for addresses in Australia.

  ### Updating

  ### Tab: npm (recommended)

  Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/4.7.0):

  ```sh
  npm install @adyen/adyen-web@4.7.0 --save
  ```

  ### Tab: Embed script and stylesheet

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/4.7.0/adyen.js"
       integrity="sha384-Hmnh/5ShP0Q8iCjGV2U/6XFi7jiiFys4fsh7UrCH1JT1PV1ThZ9czMnbbyjzxuhU"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
       href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/4.7.0/adyen.css"
       integrity="sha384-dkJjySvUD62j8VuK62Z0VF1uIsoa+APxWLDHpTjBRwQ95VxNl7oaUvCL+5WXG8lh"
       crossorigin="anonymous">
  ```

  ## 2021-06-14 — Checkout API

  ### New

  Checkout API v67 and above now supports the [3D Secure authentication-only flow](/online-payments/3d-secure/other-3ds-flows/standalone-authentication).

  ### Fixed

  In Checkout API v64 and below, the [`/paymentMethods`](https://docs.adyen.com/api-explorer/#/CheckoutService/v67/post/paymentMethods) response now has `supportsRecurring`: **true** for cards.

  Note that `supportsRecurring` was [removed in Checkout API v65](/online-payments/release-notes?integration_type=api\&version=65).

  ## 2021-06-08 — Pay by Link

  ### Improved

  We improved the positioning of the **Continue** button shown on a mobile screen after the shopper completes the purchase.

  ### Fixed

  We fixed an issue where the [payment update email](/unified-commerce/pay-by-link/create-payment-links/customer-area#email-updates) did not contain the billing and the delivery address, even though the shopper had provided these.

  ## 2021-06-08 — Checkout API

  ### Fixed

  When the shopper cancels a [Bancontact mobile](/payment-methods/bancontact/bancontact-mobile/web-component) payment, you will now receive a `resultCode` **Cancelled** instead of `resultCode`: **Unknown** as before.

  ## 2021-06-03 — Checkout API

  ### New

  You can now do your captures, refunds, cancellations, reversals, and asynchronous authorisation adjustments using the Checkout API.

  Have a look at the new endpoints in API Explorer:

  * [`/payments/{paymentPspReference}/captures`](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/post/payments/{paymentPspReference}/captures)
  * [`/payments/{paymentPspReference}/amountUpdates`](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/post/payments/{paymentPspReference}/amountUpdates)
  * [`/payments/{paymentPspReference}/refunds`](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/post/payments/{paymentPspReference}/refunds)
  * [`/payments/{paymentPspReference}/reversals`](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/post/payments/{paymentPspReference}/reversals)
  * [`/payments/{paymentPspReference}/cancels`](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/post/payments/{paymentPspReference}/cancels)
  * [`/cancels`](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/post/cancels)

  ## 2021-06-01 — Android Components/Drop-in — Version 3.8.3

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/release-notes/#releaseNote=2025-08-19-android-componentsdrop-in-5.14.0">upgrade to v5.14.0\</a> or later.\</p>*

  ### New

  * Android Components are now available in [Maven Central](https://mvnrepository.com/artifact/com.adyen.checkout).
  * You can now configure the Card Component to show an input field for the postal code.
  * We updated the 3D Secure 2 SDK to version [2.1.0-rc09](https://github.com/Adyen/adyen-3ds2-android/releases/tag/2.1.0-rc09).

  ### Fixed

  * The Google Pay logo has been updated to according to the [Google Pay brand guidelines](https://developers.google.com/pay/api/android/guides/brand-guidelines#google-pay-logo-mark).
  * For apps targeting compatibility with Android 10, we fixed an issue where collecting the 3D Secure fingerprint could sometimes fail with an exception.

  ## 2021-05-31 — Web Components/Drop-in — Version 4.6.0

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> Deprecated \</tag> \</div> \<br> This version will be \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> on \<strong>August 1, 2026\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v4">upgrade to v6.0.0\</a> or later.\</p>*

  ### New

  * Apple Pay 11 is now the default version. You can override this in the [Apple Pay Component configuration](/payment-methods/apple-pay/web-component).
  * On the [PayPal Component](/payment-methods/paypal/web-component#optional-config), you can now block the PayPal Credit button using [`blockPayPalCreditButton`](/payment-methods/paypal/web-component#optional-config).
  * The Custom Card integration now supports the `onBinLookup` event.

  ### Improved

  * The Apple Pay Component now supports Girocard.
  * You can now mount more than one PayPal component on the same page.

  ### Fixed

  * For Drop-in, `onSubmit` is no longer called twice if using Apple Pay with a custom button.
  * Updated the Google Pay icon to match the [brand guidelines](https://developers.google.com/pay/api/web/guides/brand-guidelines).

  ### Updating

  ### Tab: npm (recommended)

  Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/4.6.0):

  ```sh
  npm install @adyen/adyen-web@4.6.0 --save
  ```

  ### Tab: Embed script and stylesheet

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/4.6.0/adyen.js"
       integrity="sha384-JUh7tBeKmc021qaxi4K0XJ52L4SJlxVkeyYhb70KVFBQOIxRsHKpp+Dy22VO49xk"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
       href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/4.6.0/adyen.css"
       integrity="sha384-dkJjySvUD62j8VuK62Z0VF1uIsoa+APxWLDHpTjBRwQ95VxNl7oaUvCL+5WXG8lh"
       crossorigin="anonymous">
  ```

  ## 2021-05-31 — Checkout API

  ### Fixed

  For the 3D Secure 1 flow in v67, the fraud result is now correctly returned in the [`/payments/details`](https://docs.adyen.com/api-explorer/#/CheckoutService/v67/post/payments/details) response.

  ## 2021-05-25 — Checkout API

  ### Fixed

  Fixed an issue affecting v67, where the `pspReference` was missing from the `/payments/details` response for Zip and Afterpay Touch.

  ## 2021-05-18 — Checkout API

  ### New

  Added support for [cross-origin isolated websites](https://web.dev/coop-coep).

  ## 2021-05-18 — Pay by Link

  ### Improved

  The link creation page in the Customer Area now has a:

  * Address form specific to country/region.
  * Search option for the currency selection field.

  ### Fixed

  Fixed an issue that caused some Blik payments to be reported as failed, even though they were successful.

  ## 2021-05-11 — iOS Components/Drop-in — Version 3.8.5

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/release-notes/#releaseNote=2025-08-27-ios-componentsdrop-in-5.20.0">upgrade to v5.20.0\</a> or later.\</p>*

  If you use [Xcode 15](https://developer.apple.com/xcode/), use [v4.11.1](/online-payments/release-notes?integration_type=ios\&version=4.11.1) or later for compatibility.

  ### Improved

  * The Card Component has better card type detection for Diners cards.
  * Added a postal code field to the Card Component.

  ### Fixed

  * Drop-in now shows the Apple Pay button according to Apple's [Human Interface Guidelines](https://developer.apple.com/design/human-interface-guidelines/apple-pay).
  * The BCMC Component no longer shows the additional large title with the component's name on Drop-in.

  ## 2021-05-10 — Web Components/Drop-in — Version 4.5.0

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> Deprecated \</tag> \</div> \<br> This version will be \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> on \<strong>August 1, 2026\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v4">upgrade to v6.0.0\</a> or later.\</p>*

  ### New

  * You can now customize the icon for each payment method, by including the `icon` property in the Component configuration. For example, this is how you can customize the Google Pay icon on Drop-in:

  ```js
      {
        paymentMethodsConfiguration: {
         paywithgoogle: {
            icon: 'https://...'
         }
      }
  ```

  * For cards, you can now customize the icon of the card brand, by including the `icon` property in [`brandsConfiguration`](/payment-methods/cards/web-component#component-configuration). For example, this is how you can customize the icon for Visa on Drop-in:

  ```js
  {
    paymentMethodsConfiguration: {
     card: {
        brandsConfiguration: { 
          visa: {
            icon: 'https://...'
          }
        }
     }
  }
  ```

  ### Changed

  The maximum length of a gift card number is now 32 digits, instead of 22 digits as before.

  ### Fixed

  For Amex, the hint for where the shopper can find the CVC no longer shows two locations.

  ### Updating

  ### Tab: npm (recommended)

  Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/4.5.0):

  ```sh
  npm install @adyen/adyen-web@4.5.0 --save
  ```

  ### Tab: Embed script and stylesheet

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/4.5.0/adyen.js"
       integrity="sha384-Co94gRjtPsf3110lIIB8CaogV5Khwg8lcSh4fK5r1gzfWZHxaqpBXwEFjaFGcLaj"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
       href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/4.5.0/adyen.css"
       integrity="sha384-8EGo5meqBqlQ4MFf3nbQYD/onCuTfclYfNl3a5uQ1swwv0XXcTkda75dvjlYbZI8"
       crossorigin="anonymous">
  ```

  ## 2021-05-10 — Checkout API

  ### New

  For iDEAL payments in v66 and earlier, you will now get a validation error when making a [`/payments/details`](https://docs.adyen.com/api-explorer/#/CheckoutService/v66/post/payments/details) request with a `redirectResult` and `paymentData` belonging to different payments.

  ### Fixed

  For the 3D Secure redirect flow in v67, we fixed an issue where the `merchantReference` could be missing from the [`/payments/details`](https://docs.adyen.com/api-explorer/#/CheckoutService/v67/post/payments/details) response.

  ## 2021-05-10 — Pay by Link

  ### Fixed

  We fixed an issue where shoppers could not use a gift card that didn't have enough balance for the full payment.

  ## 2021-05-03 — Pay by Link

  ### New

  New supported payment method: Apple Pay

  ## 2021-05-03 — Web Components/Drop-in — Version 4.4.0

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> Deprecated \</tag> \</div> \<br> This version will be \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> on \<strong>August 1, 2026\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v4">upgrade to v6.0.0\</a> or later.\</p>*

  ### New

  * Support for right-to-left languages though the HTML `dir` attribute.
  * Added Arabic (international) to our [supported languages](/online-payments/build-your-integration/sessions-flow/?platform=Web\&integration=Drop-in#optional-configuration).

  ### Fixed

  * For Google Pay, `onSubmit` now correctly calls Drop-in or the Google Pay Component, depending on your integration.
  * For payments partially covered using a gift card, the shopper can now see a message about the amount they need to pay in addition to the gift card amount.

  ### Updating

  ### Tab: npm (recommended)

  Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/4.4.0):

  ```sh
  npm install @adyen/adyen-web@4.4.0 --save
  ```

  ### Tab: Embed script and stylesheet

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/4.4.0/adyen.js"
       integrity="sha384-mvvGjiQq2a7XBBMlfLkQQjrwV+YbpDVsss71qoEkBKoEouLAlfMJcnr/8DzOrQ90"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
       href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/4.4.0/adyen.css"
       integrity="sha384-mo0b8EioLFFmLA6BNC6/7F8p5yNmuwfaFPJHisXhxgQ6DARbK1GEaKGJ1iTLCG04"
       crossorigin="anonymous">
  ```

  ## 2021-04-26 — Checkout API

  ### Fixed

  Fixed an issue where adding a gift card payment to an order could result in a validation error if the request was made using one of our plugins.

  ## 2021-04-26 — Web Components/Drop-in — Version 4.3.1

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> Deprecated \</tag> \</div> \<br> This version will be \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> on \<strong>August 1, 2026\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v4">upgrade to v6.0.0\</a> or later.\</p>*

  ### Fixed

  Fixed an issue where the Card Component did not work on Internet Explorer 11.

  ### Updating

  ### Tab: npm (recommended)

  Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/4.3.1):

  ```sh
  npm install @adyen/adyen-web@4.3.1 --save
  ```

  ### Tab: Embed script and stylesheet

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/4.3.1/adyen.js"
       integrity="sha384-eNk32fgfYxvzNLyV19j4SLSHPQdLNR+iUS1t/D7rO4gwvbHrj6y77oJLZI7ikzBH"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
       href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/4.3.1/adyen.css"
       integrity="sha384-5CDvDZiVPuf+3ZID0lh0aaUHAeky3/ACF1YAKzPbn3GEmzWgO53gP6stiYHWIdpB"
       crossorigin="anonymous">
  ```

  ## 2021-04-19 — Pay by Link

  ### Fixed

  * We fixed an issue where the list of payment links in the Customer Area would return no results when using the search bar.
  * When creating a payment link in the Customer Area, searching in the **Store** drop-down now works as expected.

  ## 2021-04-19 — Checkout API

  ### Fixed

  For the native 3D Secure 2 flow in Checkout API v67 and above, we fixed an issue where the `merchantReference` was not returned in the [`/payments/details`](https://docs.adyen.com/api-explorer/#/CheckoutService/v67/post/payments/details) response.

  ## 2021-04-19 — Web Components/Drop-in — Version 4.3.0

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> Deprecated \</tag> \</div> \<br> This version will be \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> on \<strong>August 1, 2026\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v4">upgrade to v6.0.0\</a> or later.\</p>*

  ### Known Issues

  The Card Component does not work on Internet Explorer 11. This is [fixed in Web Components 4.3.1](/online-payments/release-notes?integration_type=web\&version=4.3.1).

  ### New

  For cards, you can now include [`minimumExpiryDate`](/payment-methods/cards/web-component#minimum-expiry) in the Component configuration. This will prevent shoppers from paying with a card that expires before the specified date.

  ### Improved

  We've animated the final status shown by Drop-in (`success` or `error`).

  ### Fixed

  * When using [Google Pay Drop-in integration](/payment-methods/google-pay/web-drop-in) with your own custom button, the `onSubmit` event no longer triggers twice.
  * For [Amazon Pay](/payment-methods/amazon-pay/web-component), we fixed an issue where the Component did not pass the [`publicKeyId`](/payment-methods/amazon-pay/web-component#step-3) to the call that updates the checkout session state.
  * When changing the country/region in the address form, the optional and required fields are now being reset based on the new country.
  * For the Bank Transfer Component, the `showEmailAddress` parameter is now working as expected.
  * Fields that are prefilled (by including a `data` object in the Component configuration) are now validated as expected.

  ### Updating

  ### Tab: npm (recommended)

  Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/4.3.0):

  ```sh
  npm install @adyen/adyen-web@4.3.0 --save
  ```

  ### Tab: Embed script and stylesheet

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/4.3.0/adyen.js"
       integrity="sha384-cNkiBPQRGouJfbstYuSccx2XkGe3RB28iYrjge6rLIDtex7fk5+3/E9f4EZ34fxE"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
       href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/4.3.0/adyen.css"
       integrity="sha384-5CDvDZiVPuf+3ZID0lh0aaUHAeky3/ACF1YAKzPbn3GEmzWgO53gP6stiYHWIdpB"
       crossorigin="anonymous">
  ```

  ## 2021-04-19 — Checkout API

  ### Fixed

  * We fixed an issue where the [PayPal Component](/payment-methods/paypal/web-component) could fail when doing a zero-auth transaction.
  * For [Amazon Pay](/payment-methods/amazon-pay), we fixed an issue where a redirect 3D Secure flow was incorrectly triggered instead of the native 3D Secure flow.

  ## 2021-04-13 — Web Components/Drop-in — Version 4.2.3

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> Deprecated \</tag> \</div> \<br> This version will be \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> on \<strong>August 1, 2026\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v4">upgrade to v6.0.0\</a> or later.\</p>*

  ### Fixed

  We fixed an issue with the `promise` polyfill that could lead to errors on Internet Explorer 11. This issue was introduced in [Web Components 4.0.0](/online-payments/release-notes#releaseNote=2021-02-25-web-componentsdrop-in-4.0.0).

  ### Updating

  ### Tab: npm (recommended)

  Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/4.2.3):

  ```sh
  npm install @adyen/adyen-web@4.2.3 --save
  ```

  ### Tab: Embed script and stylesheet

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/4.2.3/adyen.js"
       integrity="sha384-zoCBlBlHx+wReljBmUIuW18myv5rWJoeWZMx1WUFCh9CkTQ1tJrEOlmZWCMnXaX9"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
       href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/4.2.3/adyen.css"
       integrity="sha384-5CDvDZiVPuf+3ZID0lh0aaUHAeky3/ACF1YAKzPbn3GEmzWgO53gP6stiYHWIdpB"
       crossorigin="anonymous">
  ```

  ## 2021-04-12 — Pay by Link

  ### New

  Inactive [payment links shown in the Customer Area](/unified-commerce/pay-by-link/create-payment-links/customer-area#view-links) can now have a **Payment pending** status, indicating that the final result of the payment is not yet known. Previously, such payments had a status of **Completed**.

  ### Fixed

  All users creating in-store payment links through the Customer Area can now select the store for which to create the payment link.

  ## 2021-04-12 — Web Components/Drop-in — Version 4.2.2

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> Deprecated \</tag> \</div> \<br> This version will be \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> on \<strong>August 1, 2026\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v4">upgrade to v6.0.0\</a> or later.\</p>*

  ### Fixed

  * For [Boleto Bancário](/payment-methods/boleto-bancario), the payment form now shows the **Country** field (as read-only). This fixes an issue where payments would fail because `state.data` was missing a `billingAddress.country`.
  * We fixed an issue where `AdressSchema` types were not correctly exported, leading to compilation errors when using our npm package together with TypeScript.

  ### Updating

  ### Tab: npm (recommended)

  Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/4.2.2):

  ```sh
  npm install @adyen/adyen-web@4.2.2 --save
  ```

  ### Tab: Embed script and stylesheet

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/4.2.2/adyen.js"
       integrity="sha384-QypeAr1KP0eAjQ7w6pDTsq30/+dqWMQDzNwT6xZefOST7Oz8VIsM/mffGD//PmeO"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
       href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/4.2.2/adyen.css"
       integrity="sha384-5CDvDZiVPuf+3ZID0lh0aaUHAeky3/ACF1YAKzPbn3GEmzWgO53gP6stiYHWIdpB"
       crossorigin="anonymous">
  ```

  ## 2021-04-06 — Checkout API

  ### Improved

  When making an `/applePay/sessions` request, you no longer receive an error when specifying a `domainName` with a slash (`/`) at the end.

  ### Fixed

  We fixed an issue where a [`/payments`](https://docs.adyen.com/api-explorer/#/CheckoutService/v67/post/payments) response with status [500](https://httpstatuses.com/500) (Internal Server Error) could include an incorrect `pspReference` value.

  ## 2021-04-06 — Pay by Link

  ### New

  When creating a payment link in the [Customer Area](https://ca-test.adyen.com/), you can now specify fields that the shopper should fill in before completing the payment, for example name, email, or address.

  ## 2021-04-01 — Web Components/Drop-in — Version 4.2.1

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> Deprecated \</tag> \</div> \<br> This version will be \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> on \<strong>August 1, 2026\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v4">upgrade to v6.0.0\</a> or later.\</p>*

  ### Known Issues

  For [Boleto Bancário](/payment-methods/boleto-bancario), the `state.data` is missing the `billingAddress.country`, causing the payment to fail. This issue is fixed in [Web Components 4.2.2](/online-payments/release-notes?integration_type=web\&version=4.2.2).

  ### Fixed

  * The cardholder name field no longer loses focus when the shopper typing in the field.
  * The **Pay** button is now also disabled for keyboard navigation when the Component is in the `loading` state. This prevents accidental double payments if the shopper uses the keyboard to submit the payment form.

  ### Updating

  ### Tab: npm (recommended)

  Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/4.2.1):

  ```sh
  npm install @adyen/adyen-web@4.2.1 --save
  ```

  ### Tab: Embed script and stylesheet

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/4.2.1/adyen.js"
       integrity="sha384-BbSuKMdQOD6/MHqqysF53LoeGtQiF1jH5owF+gha6588fA6CW1SBvwrnuPNwUzMX"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
       href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/4.2.1/adyen.css"
       integrity="sha384-5CDvDZiVPuf+3ZID0lh0aaUHAeky3/ACF1YAKzPbn3GEmzWgO53gP6stiYHWIdpB"
       crossorigin="anonymous">
  ```

  ## 2021-03-29 — Web Components/Drop-in — Version 4.2.0

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> Deprecated \</tag> \</div> \<br> This version will be \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> on \<strong>August 1, 2026\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v4">upgrade to v6.0.0\</a> or later.\</p>*

  ### Known Issues

  * The cardholder name field loses focus when typing in the field. This issue is fixed in [Web Components 4.2.1](/online-payments/release-notes?integration_type=web\&version=4.2.1).
  * For [Boleto Bancário](/payment-methods/boleto-bancario), the `state.data` is missing the `billingAddress.country`, causing the payment to fail. This issue is fixed in [Web Components 4.2.2](/online-payments/release-notes?integration_type=web\&version=4.2.2).

  ### New

  * For Google Pay, Drop-in and Components now return a `browserInfo` object. If you need to handle 3D Secure through Google Pay, pass this object inside `browserInfo` when making the [`/payments`](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/post/payments) request.
  * You can now render the cardholder name before the card number using `positionHolderNameOnTop`: **true**.
  * To make card payments in Brazil, the social security number is often required. You can use [`socialSecurityNumberMode`](/payment-methods/cards/web-component#optional-configuration) to render a social security number field in your payment form.

  ### Improved

  We improved the accuracy of card brand detection.

  ### Fixed

  Calling `component.data` no longer fails if the component is not fully rendered. This issue came up for components that have a list of issuers, for example iDEAL or Dotpay.

  ### Updating

  ### Tab: npm (recommended)

  Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/4.2.0):

  ```sh
  npm install @adyen/adyen-web@4.2.0 --save
  ```

  ### Tab: Embed script and stylesheet

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/4.2.0/adyen.js"
       integrity="sha384-SGA+BK9i1sG5N4BTCgRH6EGbopUK8WG/azn/TeIHYeBEXmEaB+NT+410Z9b1ii7Z"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
       href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/4.2.0/adyen.css"
       integrity="sha384-oT6lIQpTr+nOu+yFBPn8mSMkNQID9wuEoTw8lmg2bcrFoDu/Ae8DhJVj+T5cUmsM"
       crossorigin="anonymous">
  ```

  ## 2021-03-22 — Checkout API

  ### Improved

  For 3D Secure redirects, the loading page now has text informing the shopper that the process might take a few minutes to complete.

  ## 2021-03-22 — Pay by Link

  ### Fixed

  Fixed an issue where shoppers paying using the inline Klarna widget integration were unable to complete payments.

  ## 2021-03-15 — Checkout API

  ### Fixed

  For [Checkout API v67](/online-payments/release-notes/?version%5B0%5D=67\&integration_type=api) and above, making a [`/payments/details`](https://docs.adyen.com/api-explorer/#/CheckoutService/v67/post/payments/details) request with a URL-encoded `redirectResult` no longer results in a validation error.

  ## 2021-03-09 — Web Components/Drop-in — Version 4.1.0

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> Deprecated \</tag> \</div> \<br> This version will be \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> on \<strong>August 1, 2026\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v4">upgrade to v6.0.0\</a> or later.\</p>*

  ### Known Issues

  For [Boleto Bancário](/payment-methods/boleto-bancario), the `state.data` is missing the `billingAddress.country`, causing the payment to fail. This issue is fixed in [Web Components 4.2.2](/online-payments/release-notes?integration_type=web\&version=4.2.2).

  ### New

  * We added new Apple Pay button types. For a full list of supported Apple Pay button types, refer to [Button configuration](/payment-methods/apple-pay/web-component).
  * For Google Pay, you can now use the `buttonSizeMode` and `buttonLocale` configuration properties. For more information, refer to [Button options](/payment-methods/google-pay/web-component#button-options).
  * Stored cards can now be configured separately from other cards, by including a `storedCard` object in the `paymentMethodsConfiguration` object.

  ### Changed

  The `placeholder` values for card fields are now only read from [translation fields](/online-payments/build-your-integration/sessions-flow/?platform=Web\&integration=Drop-in#optional-configuration). Configuring `placeholder` values inside the Card Component is no longer supported.

  ### Fixed

  * We added a missing CSS file export in the npm package.
  * We fixed an issue where the `promise` dependency could be missing when using the ES format bundle.
  * When pasting a dual-branded card number over a previously entered card number, the detected card brand is now being rendered correctly.
  * When paying in IQR (Iraqi Dinar), the amount on the **Pay** button is now rendered correctly.

  ### Updating

  ### Tab: npm (recommended)

  Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/4.1.0):

  ```sh
  npm install @adyen/adyen-web@4.1.0 --save
  ```

  ### Tab: Embed script and stylesheet

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/4.1.0/adyen.js"
       integrity="sha384-3tEepwhhMcyxgIbL3HBe3I59BpSMNyKoNrbKWARYH1tJ7K7K6NdTDqOltKlwiVsH"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
       href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/4.1.0/adyen.css"
       integrity="sha384-+CPzBNZVkBXu4uXDECnVuVQ24Kl8vWrR61UzuuuUj5IBEP//BQ0G0KDNfz2iPcvJ"
       crossorigin="anonymous">
  ```

  ## 2021-03-08 — Pay by Link

  ### Fixed

  Fixed an issue where canceling an Affirm payment on the website returned a **Payment successful!** message instead of canceling the payment.

  ## 2021-03-05 — iOS Components/Drop-in — Version 3.8.4

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/release-notes/#releaseNote=2025-08-27-ios-componentsdrop-in-5.20.0">upgrade to v5.20.0\</a> or later.\</p>*

  If you use [Xcode 15](https://developer.apple.com/xcode/), use [v4.11.1](/online-payments/release-notes?integration_type=ios\&version=4.11.1) or later for compatibility.

  ### Improved

  For gift card payments, the Drop-in now shows a branded icon for each available gift card.

  ## 2021-03-01 — Checkout API — Version 67

  *\<p>The changes to the native 3D Secure 2 integration require at least \<a href="/online-payments/release-notes?integration\_type=web\&amp;version=3.22.2">Web Components v3.22.2\</a> or \<a href="/online-payments/release-notes?integration\_type=ios\&amp;version=4.0.0">iOS Components v4.0.0\</a> or \<a href="/online-payments/release-notes/?version%5B0%5D=4.0.0\&amp;integration\_type=android">Android Components v4.0.0\</a>. \</p>*

  ### Breaking Changes

  * **POST** [`/payments`](https://docs.adyen.com/api-explorer/#/CheckoutService/v67/post/payments)

    * For native 3D Secure 2 authentication, the response now contains `action.type`: **threeDS2**. This replaces the **threeDS2Fingerprint** and **threeDS2Challenge** parameters used in earlier versions.
    * For redirect 3D Secure authentication, the payment is now authorized after the [`/payments`](https://docs.adyen.com/api-explorer/#/CheckoutService/v67/post/payments) request, when the shopper completes the authentication on the issuer's site. In previous versions, the payment was only authorized after the [`/payments/details`](https://docs.adyen.com/api-explorer/#/CheckoutService/v67/post/payments/details) request.

  * **POST** [`/payments/details`](https://docs.adyen.com/api-explorer/#/CheckoutService/v67/post/payments/details)

    * For native 3D Secure 2 authentication, the response can no longer contain an `action` object. This means that native 3D Secure 2 payments no longer require multiple `/payments/details` requests.

    * For redirect 3D Secure authentication, the [`/payments/details`](https://docs.adyen.com/api-explorer/#/CheckoutService/v67/post/payments/details) request is no longer required to authorize the payment, only to verify the payment result. As with other redirect payment methods, the payment is already authorized before the shopper is redirected back to your website.

      To know the payment result even when the shopper did not return to your website, listen for the [AUTHORISATION webhook](/development-resources/webhooks/webhook-types#webhook-structure).

    * For redirect 3D Secure authentication, the shopper is now redirected back to you from the issuer with an HTTP GET instead of HTTP POST. The `returnURL` is appended with a `redirectResult`.

    * For redirect 3D Secure authentication, you now need to submit the `redirectResult` appended to the `returnUrl` when the shopper is redirected back to you. This replaces the `MD` and the `PaRes` parameters used in previous versions, and aligns the flow for 3D Secure redirects with all other redirects.

  ### Known Issues

  The changes in this version have broken the [Klarna widget integration](/payment-methods/klarna/api-only#the-klarna-widget). We are working on fixing this. In the mean time, we recommend that you don't update to this version if you're using the Klarna widget.

  ### Removed

  * **POST** [`/payments`](https://docs.adyen.com/api-explorer/#/CheckoutService/v67/post/payments)

    * We removed the following fields that were marked as deprecated in [v64](/online-payments/release-notes/?version%5B0%5D=64\&integration_type=api):

      * `details`
      * `paymentData`
      * `redirect`
      * `authentication`
      * `outputDetails`

  ### New

  * **POST** [`/paymentMethods`](https://docs.adyen.com/api-explorer/#/CheckoutService/v67/post/paymentMethods)

    * When using SEPA payments with stored details, the `storedPaymentMethods` field in the response now contains an object with `type`: **sepadirectdebit**:

    ```
    "storedPaymentMethods" : [
          {
             "ownerName" : "John Doe",
             "iban" : "GB33BUKB20201555555555",
             "id" : "9916068117659492",
             "name" : "SEPA Direct Debit",
             "supportedShopperInteractions" : [
                "ContAuth"
             ],
             "type" : "sepadirectdebit"
          }
    ]
    ```

  * **POST** [`/paymentLinks`](https://docs.adyen.com/api-explorer/#/CheckoutService/v67/post/paymentLinks)

    * [`requiredShopperFields`](https://docs.adyen.com/api-explorer/#/CheckoutService/v67/post/paymentLinks__reqParam_requiredShopperFields) to specify fields that the shopper needs to fill in before completing the payment.
    * [`themeId`](https://docs.adyen.com/api-explorer/#/CheckoutService/v67/post/paymentLinks__reqParam_themeId) field to cusomize the appearance of the payment page when creating a payment link.

  ### Improved

  * **POST** [`/payments`](https://docs.adyen.com/api-explorer/#/CheckoutService/v67/post/payments)
    * For payment methods with `action.type`: **redirect**, the response no longer contains `paymentData`.
  * **POST** [`/payments/details`](https://docs.adyen.com/api-explorer/#/CheckoutService/v67/post/payments/details)
    * For payment methods with `action.type`: **redirect**, you no longer need to submit `paymentData`.
  * **POST** [`/paymentLinks`](https://docs.adyen.com/api-explorer/#/CheckoutService/v67/post/paymentLinks)
    * Sending a [`shopperReference`](https://docs.adyen.com/api-explorer/#/CheckoutService/v66/post/paymentLinks__reqParam_shopperReference) of less than three characters now results in a validation error.

  ## 2021-03-01 — Checkout API

  ### Fixed

  * Recurring BACS Direct Debit payments no longer generate an error in the test environment.

  ## 2021-03-01 — Pay by Link

  ### Fixed

  * Fixes an issue where the shopper would be unable to enter their card details if Pay by Link was configured to only accept a single card brand.

  ## 2021-02-25 — Web Components/Drop-in — Version 4.0.0

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> Deprecated \</tag> \</div> \<br> This version will be \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> on \<strong>August 1, 2026\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v4">upgrade to v6.0.0\</a> or later.\</p>*

  For more guidance on upgrading to this version, have a look at the [migration guide](/online-payments/build-your-integration/migrate-to-web-4-0-0).

  ### Breaking Changes

  * The origin key is no longer supported. If you haven't already, [switch to using the client key](/development-resources/client-side-authentication/migrate-from-origin-key-to-client-key) for client-side authentication.
  * Configuration at the component level [overrides all other configuration](/online-payments/build-your-integration/migrate-to-web-4-0-0#components-configuration-hierarchy).
  * Drop-in now only accepts [props related to itself](/online-payments/build-your-integration/migrate-to-web-4-0-0#dropin-configuration).
  * We removed some [deprecated props](/online-payments/build-your-integration/migrate-to-web-4-0-0#props-removed).
  * You must now configure aria labels [using translation fields](/online-payments/build-your-integration/migrate-to-web-4-0-0#aria-labels-in-transaltion-fields).

  ### Known Issues

  For [Boleto Bancário](/payment-methods/boleto-bancario), the `state.data` is missing the `billingAddress.country`, causing the payment to fail. This issue is fixed in [Web Components 4.2.2](/online-payments/release-notes?integration_type=web\&version=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](/payment-methods/google-pay), the payment method type is now **googlepay**.

  * You can now configure action components by [action type](/online-payments/build-your-integration/advanced-flow/?platform=Web\&integration=Components#additional-action) inside `paymentMethodsConfiguration`. For example, to change the default window size for a 3D Secure challenge:

    ```js
    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

  ### Tab: npm (recommended)

  Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/4.0.0):

  ```sh
  npm install @adyen/adyen-web@4.0.0 --save
  ```

  ### Tab: Embed script and stylesheet

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/4.0.0/adyen.js"
       integrity="sha384-tLVjL642U7emY5SakHpLTJK/+V1Lwg75DV44coCF//dRCpT7lmAlp2uYiKg5Al3g"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
       href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/4.0.0/adyen.css"
       integrity="sha384-dJirTUnCXKPhSVrqqL9ZxAssgCxxyquiIgX1piD13kzrUg3Lr9+Kb+Y9CYEXnHLN"
       crossorigin="anonymous">
  ```

  ## 2021-02-22 — Web Components/Drop-in — Version 3.23.0

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### Improved

  Amazon Pay now supports the `cancelUrl` configuration property and the `submit()` method.

  ### Updating

  ### Tab: npm (recommended)

  Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/3.23.0):

  ```sh
  npm install @adyen/adyen-web@3.23.0 --save
  ```

  ### Tab: Embed script and stylesheet

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.23.0/adyen.js"
       integrity="sha384-fErYEDZTTzeO2aEcuTtsB49H+E6rwz7ODY7lMfb2/H9WKf20W0KaMbQFS17q6YE/"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
       href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.23.0/adyen.css"
       integrity="sha384-2ZygKOnU23yWkltsfDRsIMKXUBpYbr9Jx8kmIcgRnnoniBN6hwnyCr87XoYVv8Ux"
       crossorigin="anonymous">
  ```

  ## 2021-02-22 — Pay by Link

  ### Improved

  * Added validation to check if the Terms of Service URL is a valid URL before storing it in the configuration.

  ### Fixed

  * Fixes an issue where confirmation e-mails for Alipay payments were not being sent.
  * Fixed an issue where selecting **Back to Merchant** before completing a payment on an Alipay HK payment returned a **Payment Successful** message instead of canceling the payment.

  ## 2021-02-16 — Pay by Link

  ### New

  New supported payment method: [Pix](/payment-methods/pix)

  ### Improved

  Pay by Link is now using [Checkout API v66](/online-payments/release-notes#releaseNote=2020-11-30-checkout-api-66), and [Web Components v3.21.1](/online-payments/release-notes?integration_type=web\&version=3.21.1).

  ## 2021-02-16 — Web Components/Drop-in — Version 3.22.2

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### Fixed

  We fixed the issue with the native 3D Secure 2 integration introduced in [version 3.22.0](/online-payments/release-notes?integration_type=web\&version=3.22.0).

  ### Improved

  For QIWI and MB WAY, we changed the translation labels from **telephoneNumber** to **mobileNumnber**. If you have a custom translation, make sure you update the translation keys.

  ### Updating

  ### Tab: npm (recommended)

  Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/3.22.0):

  ```sh
  npm install @adyen/adyen-web@3.22.2 --save
  ```

  ### Tab: Embed script and stylesheet

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.22.2/adyen.js"
       integrity="sha384-IFQe2Rj21dwe7OZAf06yld2esllbRy1pvCxC5MYSBaI8bwm5iYAvjoafjVvtj4cc"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
       href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.22.2/adyen.css"
       integrity="sha384-KM3xJKzswGJ0xqiPCOHrWUtn0i0LHqEngauvYxSfy0eRtqcImL7ArxjV2HVgeRJ/"
       crossorigin="anonymous">
  ```

  ## 2021-02-15 — Web Components/Drop-in — Version 3.22.1

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### Known Issues

  Do not update to this version if you are using the 3D Secure 2 native integration.

  In preparation for a future release, we've made some updates that lead to issues with the current 3D Secure 2 integration.

  ### Fixed

  * Fixed an issue where [Ratepay](/payment-methods/ratepay/web-component#show-ratepay-in-your-payment-form) wasn't available for payments in the Netherlands.
  * [Showing a loading state](/online-payments/drop-in-web#step-6-present-payment-result) using `setStatus('loading')` is now also available for QR code payment methods.

  ### Updating

  ### Tab: npm (recommended)

  Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/3.22.1):

  ```sh
  npm install @adyen/adyen-web@3.22.1 --save
  ```

  ### Tab: Embed script and stylesheet

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.22.1/adyen.js"
       integrity="sha384-z3UwrV7NUB/MVEFIZI/fkMEuW1DQn9fSM5xtALpcXZCmfnWlZUyU9CJHFI0SSzdc"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
       href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.22.1/adyen.css"
       integrity="sha384-KM3xJKzswGJ0xqiPCOHrWUtn0i0LHqEngauvYxSfy0eRtqcImL7ArxjV2HVgeRJ/"
       crossorigin="anonymous">
  ```

  ## 2021-02-15 — Checkout API

  ### Fixed

  Fixes an issue where updating stored card details using an alias would not work.

  ## 2021-02-09 — Android Components/Drop-in — Version 3.8.2

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/release-notes/#releaseNote=2025-08-19-android-componentsdrop-in-5.14.0">upgrade to v5.14.0\</a> or later.\</p>*

  ### Fixed

  Drop-in no longer fails on Checkout API v64 or above if one of your payment methods returns a [configuration object](https://docs.adyen.com/api-explorer/#/CheckoutService/v64/post/paymentMethods__resParam_paymentMethods-configuration) in the `/paymentMethods` response.

  ## 2021-02-08 — Pay by Link

  ### Improved

  When redirecting to your *Terms & Conditions*, we now add the [`shopperLocale`](/unified-commerce/pay-by-link/create-payment-links/api#language) to the *Terms & Conditions* URL. For example, for Spanish you'll get: `https://terms-and-conditions-url.com/?locale=es-ES`. This allows you to change the language of the *Terms & Conditions* based on the shopper's language.

  ## 2021-02-08 — Web Components/Drop-in — Version 3.22.0

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### Known Issues

  Do not update to this version if you are using the 3D Secure 2 native integration.

  In preparation for a future release, we've made some updates that lead to issues with the current 3D Secure 2 integration.

  ### Fixed

  Drop-in no longer tries to render Amazon Pay, as this is only supported on Components and not on Drop-in.

  ### Updating

  ### Tab: npm (recommended)

  Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/3.22.0):

  ```sh
  npm install @adyen/adyen-web@3.22.0 --save
  ```

  ### Tab: Embed script and stylesheet

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.22.0/adyen.js"
       integrity="sha384-j59EgUeGM2oJEkH/haLSKN8e8AFvE8m5FETD3IEtAijDsfW4GDBt6Ka4W02e3CQK"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
       href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.22.0/adyen.css"
       integrity="sha384-KM3xJKzswGJ0xqiPCOHrWUtn0i0LHqEngauvYxSfy0eRtqcImL7ArxjV2HVgeRJ/"
       crossorigin="anonymous">
  ```

  ## 2021-02-03 — Web Components/Drop-in — Version 3.21.1

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### Fixed

  The default sizing of the 3D Secure challenge window in previous versions could sometimes lead to issues such as the shopper not being able to scroll down the 3D Secure 2 challenge page. This has now been fixed:

  * The default size of the 3D Secure 2 challenge window is now **02** (390px x 400px) instead of **05**.
  * If you configure the challenge window size to be **05**, we no longer force a 16:9 aspect ratio, so that the window size is now 100% x 100% as expected.

  ### Updating

  ### Tab: npm (recommended)

  Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/3.21.1):

  ```sh
  npm install @adyen/adyen-web@3.21.1 --save
  ```

  ### Tab: Embed script and stylesheet

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.21.1/adyen.js"
       integrity="sha384-qgB03MgLihAbvkTmWIkmZxFUxyAqJ4Ozk1My6beIRqit6+8e5HFg8ysln5y5FSw0"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
       href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.21.1/adyen.css"
       integrity="sha384-KM3xJKzswGJ0xqiPCOHrWUtn0i0LHqEngauvYxSfy0eRtqcImL7ArxjV2HVgeRJ/"
       crossorigin="anonymous">
  ```

  ## 2021-02-01 — Pay by Link

  ### Fixed

  We fixed an issue where double-clickling the **Create payment link** could create a duplicate payment link.

  ## 2021-02-01 — Web Components/Drop-in — Version 3.21.0

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### New

  * New payment method: [Pix](/payment-methods/pix).
  * Support for the `onShippingChange` callback for the [PayPal Component](/payment-methods/paypal/web-component). This allows you to listen for changes in shipping address, which you can accept or reject. The PayPal Component doesn't support order updates based on the shipping address.

  ### Improved

  * For card payments, the object returned in the `onBinLookup` callback now includes a `brands` array which contains all the card brands your integration supports.

  ### Updating

  ### Tab: npm (recommended)

  Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/3.21.0):

  ```sh
  npm install @adyen/adyen-web@3.21.0 --save
  ```

  ### Tab: Embed script and stylesheet

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.21.0/adyen.js"
       integrity="sha384-XpFdeUhSQQeuZeLjRcNvDBK/16avmyQiiF0t3iXT1Q/4n9b6TKM68T+hv5aZdsvc"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
       href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.21.0/adyen.css"
       integrity="sha384-Qg5+SF5siQdYOd98ZWyvD7nx35CSLtRdiqlLUQBB5gBSLh45T8kkgiDUgCAsMGk"
       crossorigin="anonymous">
  ```

  ## 2021-01-26 — Android Components/Drop-in — Version 3.8.1

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/release-notes/#releaseNote=2025-08-19-android-componentsdrop-in-5.14.0">upgrade to v5.14.0\</a> or later.\</p>*

  ### Fixed

  * Fixed an issue where the 3D Secure 2 component was failing without error for uncaught exceptions. Any uncaught exceptions for the 3D Secure Component, will now be reported by the `observeErrors()` observer.

  ## 2021-01-18 — Checkout API

  ### Fixed

  You no longer receive a validation error when making a valid payment request for [Japanese convenience stores](/payment-methods/econtext-konbini/api-only).

  ## 2021-01-14 — iOS Components/Drop-in — Version 3.8.3

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/release-notes/#releaseNote=2025-08-27-ios-componentsdrop-in-5.20.0">upgrade to v5.20.0\</a> or later.\</p>*

  If you use [Xcode 15](https://developer.apple.com/xcode/), use [v4.11.1](/online-payments/release-notes?integration_type=ios\&version=4.11.1) or later for compatibility.

  ### Fixed

  * Fixed a bug where custom localization was not being applied to the `AwaitComponent`.

  ## 2021-01-11 — Pay by Link

  ### Changed

  The maximum validity time for a payment link is now 70 days instead of 30 days.

  ### Fixed

  We fixed an issue where Pay by Link would fail to load on Internet Explorer 11.

  ## 2021-01-11 — Checkout API

  ### Fixed

  Making a [BLIK](/payment-methods/blik) payment with saved payment details no longer results in an error.

  ## 2021-01-11 — Web Components/Drop-in — Version 3.20.0

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### New

  * New supported payment method: [Amazon Pay](/payment-methods/amazon-pay/web-component). This payment method is only available on Components, not on Drop-in.

  * For cards, you can now use the `onBinLookup` callback. This is only available on Drop-in and Components, not on the Custom Card Component.

    The `onBinLookup` callback was improved in version [3.21.0](/online-payments/release-notes?integration_type=web\&version=3.21.0). We recommend updating to this version if you want to use it.

  ### Improved

  * The supported brands for [Apple Pay](/payment-methods/apple-pay) and [Google Pay](/payment-methods/google-pay) are now automatically configured based on your account settings, so you no longer need to specify these in the `supportedNetworks` (for Apple Pay) or in `allowedCardNetworks` (for Google Pay).
  * We added support for new [BIN](/get-started-with-adyen/adyen-glossary/#bank-identification-number-bin)s on the [Bancontact card Component](/payment-methods/bancontact/bancontact-card/web-component).
  * Accessibility improvement: we've added translations for the `aria` attributes on the [Card Component](/payment-methods/cards/web-component) and the [Custom Card Component](/payment-methods/cards/custom-card-integration).

  ### Fixed

  * You no longer receive API validation errors when making valid payment requests for voucher payment methods such as [Indonesian bank transfers](/payment-methods/doku/component), [Japanese convenience stores](/payment-methods/econtext-konbini/web-component), or Philippines convenience stores (Dragonpay).

  ### Updating

  ### Tab: npm (recommended)

  Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/3.20.0):

  ```sh
  npm install @adyen/adyen-web@3.20.0 --save
  ```

  ### Tab: Embed script and stylesheet

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.20.0/adyen.js"
       integrity="sha384-UNqekQqUbhwebnism+MhmqRqTuLtMCz7O/dMCjBuMZEoj61mhjM84R+jZDB2BIEg"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
       href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.20.0/adyen.css"
       integrity="sha384-jXPa2gofpP6MkO/994dAS/W4pn9MgcK9IOebe5jKpnRmzMAvnxBspvqQVpU3jjIH"
       crossorigin="anonymous">
  ```

  ## 2021-01-05 — Checkout API

  ### Improved

  * We've added a button that the shopper can select in case they are not automatically redirected back to your `returnUrl`: *Click here if you are not redirected*.

  ## 2021-01-05 — Pay by Link

  ### Fixed

  * We fixed an issue where the **Copy link** button was not working as expected on some devices or browsers.
  * 3D Secure authentication no longer fails if the payment is routed from 3D Secure 2 to 3D Secure 1, for example in case of a technical error in the 3D Secure 2 flow.

  ## 2020-12-23 — iOS Components/Drop-in — Version 3.8.2

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/release-notes/#releaseNote=2025-08-27-ios-componentsdrop-in-5.20.0">upgrade to v5.20.0\</a> or later.\</p>*

  If you use [Xcode 15](https://developer.apple.com/xcode/), use [v4.11.1](/online-payments/release-notes?integration_type=ios\&version=4.11.1) or later for compatibility.

  ### Fixed

  * Removed a bug in the Apple Pay Component where `delegate.didFail()` was sometimes called for a successful transaction.
  * The Apple Pay icon in the Drop-in payment methods list is now compliant with Apple guidelines. This means any customizations in `ListItemStyle` are not applied to the Apple Pay icon.

  ## 2020-12-15 — Android Components/Drop-in — Version 3.8.0

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/release-notes/#releaseNote=2025-08-19-android-componentsdrop-in-5.14.0">upgrade to v5.14.0\</a> or later.\</p>*

  ### New

  * New supported payment method: [BLIK](/payment-methods/blik).

  ## 2020-12-14 — Web Components/Drop-in — Version 3.19.0

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### New

  * Support for Boleto Bancário through PrimeiroPay using a redirect payment flow. If using PrimeiroPay, you need to [handle `action.type`: **redirect**](/online-payments/build-your-integration/advanced-flow/?platform=Web\&integration=Components#additional-action).
  * Support for bank transfers through an additional action payment flow. The [`/payments`](https://docs.adyen.com/api-explorer/#/CheckoutService/v66/post/payments) request returns `action.type`: **bankTransfer**.

  ### Changed

  * BACS payments now have an [additional action payment flow](/payment-methods#payment-flow). This means you now need to [handle `action.type`: **voucher**](/online-payments/build-your-integration/advanced-flow/?platform=Web\&integration=Components#additional-action).

  ### Improved

  * The Gift Card Component flow introduced in [Web Components 3.17.0](/online-payments/release-notes?integration_type=web\&version=3.17.0) now has more specific error messages.
  * If you do not specify the [`countryCode`](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/post/paymentMethods__reqParam_countryCode) for [buy now, pay later payment methods](/payment-methods), the Component will show a drop-down menu where the shopper chooses the country/region.
  * The Apple Pay Component now has an `onClick` event, making it consistent with Google Pay and PayPal.

  ### Fixed

  * Fixed an issue where `state.data` had values for `holder.name` filled automatically when `holder.name` was disabled.
  * For Java library users, we fixed an issue where initialization would fail if `paymentMethodsResponse` contained any **null** values.
  * The `onDisableStoredPaymentMethod` Drop-in event now passes the correct `storedPaymentMethodId` parameter.
  * If you are using the [Custom Card Component](/payment-methods/cards/custom-card-integration) with separate date fields without providing translations for [placeholder values](/online-payments/build-your-integration/sessions-flow/?platform=Web\&integration=Drop-in#optional-configuration), the Component will use the default translations for the placeholders.
  * For dual branded cards, we fixed the error where brand selection didn't work, meaning the shopper could only pay with the default card brand.
  * Fixed an issue with the [PayPal Component](/payment-methods/paypal/web-component), where setting a invalid color on PayPal Credit would cause an error. The Component now defaults to valid PayPal colors.
  * Fixed minor styling issues for the QiwiWallet Component.

  ### Updating

  ### Tab: npm (recommended)

  Install this version of the [Adyen Web Node package](https://www.npmjs.com/package/@adyen/adyen-web/v/3.19.0):

  ```sh
  npm install @adyen/adyen-web@3.19.0 --save
  ```

  ### Tab: Embed script and stylesheet

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.19.0/adyen.js"
       integrity="sha384-taz+R7EBgv7Zhi89Jt8k00cAmOCtxDK586pbjJhl+owvWp7aipA2nawhG8VmPoVP"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
       href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.19.0/adyen.css"
       integrity="sha384-i7r6Qx/VBv4AYkHxh2Ah3fZd/+4scf5x72ZX6X1rrsxoPrvyr9lGOwacyysZDLWJ"
       crossorigin="anonymous">
  ```

  ## 2020-12-14 — Checkout API

  ### Fixed

  We fixed an issue where a [`/paymentMethods`](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/paymentMethods) request with `amount`:**0** would sometimes return an empty response.

  ## 2020-12-08 — iOS Components/Drop-in — Version 3.8.1

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/release-notes/#releaseNote=2025-08-27-ios-componentsdrop-in-5.20.0">upgrade to v5.20.0\</a> or later.\</p>*

  If you use [Xcode 15](https://developer.apple.com/xcode/), use [v4.11.1](/online-payments/release-notes?integration_type=ios\&version=4.11.1) or later for compatibility.

  ### New

  * For stored cards, you can now show or hide the CVC field separately from the card form. To do this, use `PaymentMethodsConfiguration.CardConfiguration.stored.showsSecurityCodeField`.

  ### Fixed

  * Fixed an issue where the public `delegate` property of the `UILabel` could clash with code elsewhere in your integration.

  ## 2020-12-07 — Pay by Link

  ### Improved

  When creating a payment link in the Customer Area, the **Shopper locale** and the **Link type** are now prefilled with last values that you previously selected.

  ### Fixed

  We fixed an issue where `additionalData.paymentLinkId` was sometimes missing from the **AUTHORISATION** webhook.

  ## 2020-11-30 — Checkout API — Version 66

  ### New

  * **POST** [`/paymentMethods`](https://docs.adyen.com/api-explorer/#/CheckoutService/v66/paymentMethods)

    * For [Apple Pay](/payment-methods/apple-pay/api-only#build-your-payment-form-for-apple-pay) and [Google Pay](/payment-methods/google-pay/api-only#build-your-payment-form-for-google-pay), the response now contains the [`brands`](https://docs.adyen.com/api-explorer/#/CheckoutService/v66/paymentMethods__resParam_paymentMethods-brands) array.
    * If you enabled Boleto Bancário, the response now contains `paymentMethod.type`: **primeiropay\_boleto** for Boleto Bancário payments through PrimeroPay.
    * New payment method: bank transfer, with `paymentMethod.type`: **bankTransfer\_IBAN**.

  * **POST** [`/payments`](https://docs.adyen.com/api-explorer/#/CheckoutService/v66/post/payments)

    * If you enabled Boleto Bancário, you can now include `paymentMethod.type`: **primeiropay\_boleto** to make a payment with Boleto Bancário through PrimeroPay.

    * For bank transfers:

      * The request has `paymentMethod.type`: **bankTransfer\_IBAN**.
      * The response has `action.type`: **bankTransfer** and `action.paymentMethodType`: **bankTransfer\_IBAN**.

  ### Improved

  * **POST** [`/payments`](https://docs.adyen.com/api-explorer/#/CheckoutService/v66/post/payments)

    * For redirects, except 3D Secure redirects, the response now contains `details.key`: **redirectResult** instead of `details.key`: **payload**.
    * Sending a [`shopperReference`](https://docs.adyen.com/api-explorer/#/CheckoutService/v66/post/payments__reqParam_shopperReference) of less than three characters now results in a validation error:
      ```
      {
      "status": 422,
      "errorCode": "216",
      "message": "The shopper reference must be at least 3 characters long.",
      "errorType": "validation",
      "pspReference": "R8QTPCQ8HXSKGK82"
      }
      ```

  * **POST** [`/payments/details`](https://docs.adyen.com/api-explorer/#/CheckoutService/v66/post/payments/details)

    * For redirects, except 3D Secure redirects, [`redirectResult`](https://docs.adyen.com/api-explorer/#/CheckoutService/v66/post/payments/details__reqParam_details-redirectResult) is now the only way to specify the redirect result in the request, replacing [`payload`](https://docs.adyen.com/api-explorer/#/CheckoutService/v66/post/payments/details__reqParam_details-payload).

  * **GET** [`/paymentLinks/{linkId}`](https://docs.adyen.com/api-explorer/#/CheckoutService/v66/get/paymentLinks/{linkId})

    * In the response, the `status` field now returns **completed** instead of **paid** to avoid confusion for payment methods that require an additional action.

  ## 2020-11-26 — Pay by Link

  ### New

  * [Affirm](/payment-methods/affirm) is now also supported when creating payment links through the Customer Area.
  * We added the support for the following [shopper locales](/unified-commerce/pay-by-link/create-payment-links/api#language): Czech, Greek, Hungarian, Croatian, Romanian, Slovak, and Slovenian.

  ### Improved

  When creating payment links through the Customer Area, specifying a [**Shopper reference**](/unified-commerce/pay-by-link/create-payment-links/customer-area#create) of less than three characters now results in a validation error.

  ## 2020-11-26 — Checkout API

  ### Improved

  The error messages for client key issues now contain more information about the exact cause of the problem.

  ### Fixed

  When using saved payment details to make a payment, the payment no longer fails if you don't specify a `paymentMethod.type`.

  ## 2020-11-24 — iOS Components/Drop-in — Version 3.8.0

  *\<p>This release requires \<strong>Checkout API v52 or later\</strong>.\</p>*

  If you use [Xcode 15](https://developer.apple.com/xcode/), use [v4.11.1](/online-payments/release-notes?integration_type=ios\&version=4.11.1) or later for compatibility.

  ### New

  * Support for [Swift Package Manager](https://swiftpackageregistry.com/Adyen/adyen-ios).
  * We now support SwiftUI applications. Have a look at our [example SwiftUI App](https://github.com/Adyen/adyen-ios/tree/develop/Demo/SwiftUI) on GitHub.
  * New supported payment method: [BLIK](/payment-methods/blik). For more information see the [BLIKComponent class reference](https://adyen.github.io/adyen-ios/5.0.0/documentation/adyen/).
  * Updated the 3D Secure SDK to [v2.2.1](https://github.com/Adyen/adyen-3ds2-ios/releases/tag/2.2.1).
  * Optional parameter `LocalizationParameters.bundle` that you can use to override the default translation strings.

  ### Deprecated

  We are deprecating the following classes and parameters:

  * Header section: `showsLargeTitle` and `FormHeaderItem`.
  * Footer section: `FormFooterItem`, `FormFooterItemView` and `FormFooterStyle`. Use `FormButtonItem` and `FormLabelItem` instead.

  ### Improved

  * Xcode 12 support for CocoaPods and Carthage.

  * The card encryption code has been rewritten in Swift.

  * You can now hide the CVC field for stored card payments. To do this in:

    * Drop-in, set `PaymentMethodsConfiguration.card.showsSecurityCodeField` to **false**.
    * Components, set `CardComponent.showsSecurityCodeField` to **false**.

  * We removed the footer note from `SEPADirectDebitComponent` to bring it in line with other Adyen frontend libraries.

  * When you are doing [zero-value auth](/get-started-with-adyen/adyen-glossary/#zero-value-auth), the submit button text is now **Confirm preauthorization**.

  ### Fixed

  * Dismissing `ApplePayComponent` now correctly invokes the callback.
  * Canceling the web view using a swipe down now calls `RedirectComponent.delegate`.
  * All card types now appear as an icon once you start typing a card number and the card type is detected.
  * We fixed an issue where `AdyenWeChatPay.xcscheme` wasn't being tracked to build `AdyenWeChatPay.framework` on Carthage.

  ## 2020-11-18 — Web Components/Drop-in — Version 3.18.2

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### New

  For dual-branded cards, the Card Component now renders both brands, and allows the cardholder to choose the brand they want to pay with.\
  This makes the Component compliant with European regulatory guidelines for accepting dual-branded cards (EU IFR Regulation 2015/751 article 8).

  ### Fixed

  The BIN lookup will no longer fail if no `brands` have been provided in the [Card Component](/payment-methods/cards/web-component) configuration.

  ### Updating

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.18.2/adyen.js"
       integrity="sha384-/5SuEQKK7mLmDWB+eUPAur02KPkNC7pwAqyPez1TuNjeqRjsNDJdAnrbSxrzua2P"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
       href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.18.2/adyen.css"
       integrity="sha384-5K4T5NNVv7ZBvNypROEUSjvOL45HszUg/eYfYadY82UF4b+hc+TPQ4SsfTGXufJp"
       crossorigin="anonymous">
  ```

  ## 2020-11-18 — Android Components/Drop-in — Version 3.7.3

  ### Fixed

  * We fixed an Android Drop-in exception that occurred when generating a generic Configuration object with an empty `clientKey`.

  ## 2020-11-11 — Web Components/Drop-in — Version 3.18.1

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### Improved

  * In the Google Pay Component, we added an [`onClick` event](/payment-methods/google-pay/web-component#events) that is triggered when the shopper selects the payment button. This allows you to perform a validation.

  ### Fixed

  * With Google Pay, the payment form shows the amount correctly again.

  ### Known Issues

  * Dual branded cards cause a validation issue in the card component.
  * The BIN lookup will fail if no `brands` have been provided in the [Card Component](/payment-methods/cards/web-component) configuration. To avoid this, specify at least one supported card type in the `brands` field.
  * Both these issues are fixed in 3.18.2.

  ### Updating

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.18.1/adyen.js"
       integrity="sha384-CJ8FSR4EmldZPoNUHfpHrZ7CSOsP2lxp8xzSNIE92icrx46CmCoSxucO4IRE8h7V"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
       href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.18.1/adyen.css"
       integrity="sha384-5K4T5NNVv7ZBvNypROEUSjvOL45HszUg/eYfYadY82UF4b+hc+TPQ4SsfTGXufJp"
       crossorigin="anonymous">
  ```

  ## 2020-11-09 — Web Components/Drop-in — Version 3.18.0

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### New

  * We added the following languages:

    | Language  | locale |
    | --------- | ------ |
    | Croatian  | hr-HR  |
    | Czech     | cs-CZ  |
    | Greek     | el-GR  |
    | Hungarian | hu-HU  |
    | Romanian  | ro-RO  |
    | Slovak    | sk-SK  |
    | Slovenian | sl-SI  |

  ### Fixed

  * For buy now, pay later payment methods, we optimized how a delivery address is shown when it is pre-filled.

  ### Known Issues

  * Dual branded cards cause a validation issue in the card component.
  * The BIN lookup will fail if no `brands` have been provided in the [Card Component](/payment-methods/cards/web-component) configuration. To avoid this, specify at least one supported card type in the `brands` field.
  * Both these issues are fixed in 3.18.2.

  ### Updating

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.18.0/adyen.js"
       integrity="sha384-Ocy41f4hyu9o/iyAfs8EnK/3ykYlYfBh/8M+gr/slw4Ymmpw3Hqe5fsIqmkj1rrA"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
       href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.18.0/adyen.css"
       integrity="sha384-cZIV5piH3KzCM9VwntcX2yQ9zLS8xvo9f0pld8RJe7mUBO2GcsgEmXkc78rH/UA3"
       crossorigin="anonymous">
  ```

  ## 2020-11-06 — Web Components/Drop-in — Version 3.17.1

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### Fixed

  * The Apple Pay Drop-in and Component can now use the `configuration` object from the `/paymentMethods` response, so you no longer need to specify `merchantName` or `merchantIdentifier` when you configure Drop-in or the Apple Pay Component.
  * For giropay, the `showPayButton` configuration is now used as expected.

  ### Updating

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.17.1/adyen.js"
       integrity="sha384-g2XbIbtGW37gzNsvYJCzK0sjzvxuwdFTzRdAwspE9of5k+jU8ny5Pq5Dw96regYV"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
       href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.17.1/adyen.css"
       integrity="sha384-gbQyzqV1xX+snFEMrubEm0IpmYSufBjUnHzTaJZ+dcWCyxl0j94IZhnfC2gbxgeu"
       crossorigin="anonymous">
  ```

  ## 2020-11-06 — Web Components/Drop-in — Version 3.17.2

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### Changed

  The are some changes in how the payment method details for SEPA Direct Debit and Apple Pay are passed by Drop-in/Components in the `state.data.paymentMethod` object:

  * Apple Pay now outputs `applePayToken` instead of `applepay.token`
  * SEPA Direct Debit now outputs `iban` and `ownerName` instead of `sepa.ibanNumber` and `sepa.ownerName`

  ### Improved

  * For the Gift Card Component, we made some improvements to the flow.

  ### Known Issues

  * Dual branded cards cause a validation issue in the card component.
  * The BIN lookup will fail if no `brands` have been provided in the [Card Component](/payment-methods/cards/web-component) configuration. To avoid this, specify at least one supported card type in the `brands` field.
  * Both these issues are fixed in 3.18.2.

  ### Updating

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.17.2/adyen.js"
       integrity="sha384-9+nLpCVhoDOcPA/0Ebl0pTB55CIWp+XEMxjyivaRhvFc/Unajqo+Q/7+8I6+MtEO"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
       href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.17.2/adyen.css"
       integrity="sha384-cZIV5piH3KzCM9VwntcX2yQ9zLS8xvo9f0pld8RJe7mUBO2GcsgEmXkc78rH/UA3"
       crossorigin="anonymous">
  ```

  ## 2020-11-05 — Pay by Link

  ### Improved

  If no payment methods are available for the `amount` and `countryCode` specified in the payment link, the shopper will now see an error.

  ### Fixed

  The `amount` specified in a payment link is now correctly validated against the limit set for your account.

  ## 2020-11-05 — Checkout API

  ### Fixed

  We fixed an issue where making a non-EUR gift card payment with the [`order`](https://docs.adyen.com/api-explorer/#/CheckoutService/v65/post/payments) object was not working as expected.

  ## 2020-11-03 — Android Components/Drop-in — Version 3.7.2

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/release-notes/#releaseNote=2025-08-19-android-componentsdrop-in-5.14.0">upgrade to v5.14.0\</a> or later.\</p>*

  ### New

  * You can now hide the CVC field when accepting payments with cards and stored card details using the [`CardComponent`](/payment-methods/cards/android-component). To do this, set the `hideCvc` and `hideCvcStoredCard` flags to **true** in the `CardConfiguration` object.

  ### Fixed

  * When accepting payments with stored [Bancontact (BCMC) card details](/payment-methods/bancontact/bancontact-card/android-component), the Component no longer requires a CVC.

  ## 2020-10-28 — Android Components/Drop-in — Version 3.7.1

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/release-notes/#releaseNote=2025-08-19-android-componentsdrop-in-5.14.0">upgrade to v5.14.0\</a> or later.\</p>*

  ### Improved

  * We added translations for [MB WAY](/payment-methods/mb-way) and for the AwaitComponent.

  ## 2020-10-26 — Web Components/Drop-in — Version 3.17.0

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### New

  We have redesigned the flow for [gift cards](/payment-methods/gift-cards).

  * The Gift Card Component now calls an `onBalanceCheck` event when the shopper selects the **Redeem** button in the Component. You can use this event to trigger making the [`/paymentMethods/balance`](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/post/paymentMethods/balance) request from your server. Pass the response to the Component so that it can present the gift card balance in the UI.
  * The Gift Card Component now also calls an `onOrderRequest` event when the gift card balance is not enough to complete the payment. You'll need to use this event to make an [`/orders`](https://docs.adyen.com/api-explorer/#/CheckoutService/later/post/orders) request from your server. The [`/orders`](https://docs.adyen.com/api-explorer/#/CheckoutService/later/post/orders) endpoint allows you to combine the gift card with other payment methods to make [partial payments](/online-payments/partial-payments).

  ### Known Issues

  The new gift card flow does not show errors when a balance check fails. In scenarios where the payment amount is lower than the gift card's balance, the Component is unable to call the `submit()` function. These behaviors are improved in version [3.17.2](/online-payments/release-notes?integration_type=web\&version=3.17.2).

  ### Updating

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.17.0/adyen.js"
       integrity="sha384-G9jkTAyCOIVdksXbtrNgdur2DyRi85ujYLXbqe5AvvH23rN21d7xiU7cRIqvsEaH"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
       href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.17.0/adyen.css"
       integrity="sha384-gbQyzqV1xX+snFEMrubEm0IpmYSufBjUnHzTaJZ+dcWCyxl0j94IZhnfC2gbxgeu"
       crossorigin="anonymous">
  ```

  ## 2020-10-22 — Checkout API

  ### New

  * **POST /payments**: When making [partial payments](/online-payments/partial-payments) with an [`order`](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/post/payments__reqParam_order) object and without an `amount`, the API now automatically sets the amount to either the gift card balance or the [`remainingAmount`](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/post/orders__resParam_remainingAmount), whichever is lower.

  ### Fixed

  * **POST /payments**: Fixed an issue that caused [updating stored card details](/online-payments/account-updater/batch-account-updater#card-details-updated) using an `alias` to fail.

  ## 2020-10-19 — Web Components/Drop-in — Version 3.16.0

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### Improved

  * When configuring the [Google Pay Component](/payment-methods/google-pay/web-component), you can now include include the [`transactionInfo`](https://developers.google.com/pay/api/web/reference/request-objects#TransactionInfo) parameter.
  * The [Apple Pay Component](/payment-methods/apple-pay/web-component) now uses the `configuration` object from the `/paymentMethods` response, so you no longer need to specify `merchantName` or `merchantIdentifier` when you configure the Component.
  * We now make the `onValidateMerchant` call by default for the [Apple Pay Component](/payment-methods/apple-pay/web-component). However, you can also choose to make the call manually, in which case your `onValidateMerchant` call overrides the default.
  * We improved the sourcemaps for the `adyen.js` files.

  ### Fixed

  * The warning: `paymentMethodsResponse was provided but no payment methods were found.` will now only be shown if you provide a `paymentMethodsResponse` object without any valid payment methods.

  ### Known Issues

  * The Apple Pay Component was not getting the expected configuration values from the `/paymentMethods` response, so you still have to specify the values in the `configuration` object. This issue is fixed in version [3.17.1](/online-payments/release-notes?integration_type=web\&version=3.17.1).

  ### Updating

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.16.0/adyen.js"
       integrity="sha384-CRV5O2tkmxc/chbXyRgG8vsJzVfFulg8F9LXsqAbcavAZKFJzNXRk5fbHBPI9IlW"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
       href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.16.0/adyen.css"
       integrity="sha384-4ppagynsoxB4LNdDTdpX1No72EGOMm13+Y89hg+nz+dAIAWchOBTEnLL7u/hi6eM"
       crossorigin="anonymous">
  ```

  ## 2020-10-19 — Web Components/Drop-in — Version 3.16.1

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### Improved

  This release improves build issues in version 3.16.0.

  ### Fixed

  * We fixed an issue with selecting the gender drop-down for buy now, pay later payment methods.
  * Components for buy now, pay later payment methods no longer return `undefined` if the `billingAddress` and `deliveryAddress` are set as `hidden`.

  ### Updating

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.16.1/adyen.js"
       integrity="sha384-IOreZUn3JSJSXeX/xV17p9zCpXLjIwyB1jVdn1xXVJhhLsrBtC0N4EGmVbILt7eF"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
       href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.16.1/adyen.css"
       integrity="sha384-Ivs7XmKB7ICQBw/FnU9DEmcIqOki5gTiT4M8J5JasU3DjBixkqSBH4QWSBkKPTnr"
       crossorigin="anonymous">
  ```

  ## 2020-10-14 — Web Components/Drop-in — Version 3.15.1

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### New

  * Added translation strings for `installmentOptionMonths`, `installments.oneTime`, `installments.installments`, and `installments.revolving`.

  ### Improved

  * The BIN lookup functionality is now more reliable because it validates the card number after a new card brand is detected. This means the Card component gets the correct value even if the shopper pastes in a second valid card number.

  ### Fixed

  * The MB WAY component now only shows validation errors on blur, that is when it's no longer in focus.

  ### Updating

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.15.1/adyen.js"
       integrity="sha384-18bB9irNIu0hQBFN+kxYgjeiMARTx7ukMoeFWLw/Autuyi+w0S9nXsf5Fn/VwmI+"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
       href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.15.1/adyen.css"
       integrity="sha384-4ppagynsoxB4LNdDTdpX1No72EGOMm13+Y89hg+nz+dAIAWchOBTEnLL7u/hi6eM"
       crossorigin="anonymous">
  ```

  ## 2020-10-12 — Checkout API — Version 65

  ### New

  Checkout API v65 is now available in [API Explorer](https://docs.adyen.com/api-explorer/#/CheckoutService/v65/overview).

  * **All endpoints**
    * When a request fails due to validation errors, the response now returns the `pspReference` in the response body.

  * **POST [`/payments`](https://docs.adyen.com/api-explorer/#/CheckoutService/v65/post/payments)**

    * You can now send the following additional parameters when providing [risk-related information](/risk-management).

      * [`riskData.profileReference`](/risk-management/create-and-use-risk-profiles#dynamically-assign-a-risk-profile-to-a-payment)
      * [`riskData.fraudOffset`](https://docs.adyen.com/api-explorer/#/CheckoutService/v65/post/payments__reqParam_riskData-fraudOffset)
      * [`riskData.customFields`](/risk-management/configure-manual-risk/configure-custom-risk-rules#create-custom-fields)

    * When making a payment with a gift card, the API now requires the `paymentMethod.brand`.

  * **POST [`/paymentLinks`](https://docs.adyen.com/api-explorer/#/CheckoutService/v65/post/paymentLinks)**
    * You can now use the [`riskData`](https://docs.adyen.com/api-explorer/#/CheckoutService/v65/post/paymentLinks__reqParam_riskData) object to send risk-related settings.

  * **POST [`/paymentMethods`](https://docs.adyen.com/api-explorer/#/CheckoutService/v65/post/paymentMethods)**
    * For gift cards, the response now contains the gift card brand in the [`brand`](https://docs.adyen.com/api-explorer/#/CheckoutService/v65/post/paymentMethods__resParam_paymentMethods-brand) parameter.

  * **POST [`/paymentMethods/balance`](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/post/paymentMethods/balance)**
    * If the gift card has a limit for how much balance can be used in a single transaction, the response now contains this limit in the [`transactionLimit`](https://docs.adyen.com/api-explorer/#/CheckoutService/v65/post/paymentMethods/balance__resParam_transactionLimit) field.

  ### Changed

  * **POST [`/payments`](https://docs.adyen.com/api-explorer/#/CheckoutService/v65/post/payments)**
    * BACS payments now have a [voucher payment flow](/online-payments/api-only#additional-action). This means the response now contains `action.type`: **voucher** instead of **redirect**.

  ### Removed

  * **POST [`/paymentMethods`](https://docs.adyen.com/api-explorer/#/CheckoutService/v65/post/paymentMethods)**

    * The response no longer contains the following parameters:

      * `supportsRecurring`
      * `oneClickPaymentMethods`: Use [`storedPaymentMethods`](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/post/paymentMethods__resParam_storedPaymentMethods) instead.
      * `groups`: Use [`brands`](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/post/paymentMethods__resParam_paymentMethods) instead.

  ## 2020-10-12 — Pay by Link

  ### Fixed

  * We fixed an issue with the PayPal authorisation-only flow.
  * **Pay by Link API**: When you specified an array of [`allowedPaymentMethods`](/unified-commerce/pay-by-link/create-payment-links/api#specific-transactions), it was still possible to make payments with card types that were not specified in this array (even though they were not rendered in the UI). We have fixed this, so that it is no longer possible to make payments with card types not specified in the `allowedPaymentMethods` array.

  ## 2020-10-12 — Checkout API

  ### Fixed

  * If using the [Klarna widget](/payment-methods/klarna/api-only#the-klarna-widget), you no longer get an error when making a [`/payments/details`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments/details) request.

  ## 2020-10-09 — Web Components/Drop-in — Version 3.15.0

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### New

  * We introduced a new method for Web Drop-in, `closeActivePaymentMethod`. This lets you close a selected payment method, for example if you want to reset Drop-in.
  * Support for [installment options](/payment-methods/cards/web-component#optional-configuration) for card payments in Japan.

  ### Improved

  * We improved the Google Pay Component:

    * `existingPaymentMethodRequired` is now set to **false** by default.
    * Increased the `isAvailable` timeout to accommodate higher latencies.
    * Removed the timeout for loading the Google Pay Web SDK file automatically so the Google Pay script can load properly.

  * Swapped the order for the `shopperEmail` and `telephoneNumber` input fields in the personal details component. The email appears first, followed by the telepohone number.

  ### Changed

  * Removed the `shopperEmail` field from the MB WAY Component because it is no longer required by the payment method.

  ### Fixed

  * The `formatData` field for the ACH payment method is now properly checking the format, and the margin is fixed when no holder name is shown.
  * When a shopper pastes a value into the card number field, we now correctly trigger the BIN lookup, clear the error and allow the shopper to make the payment.

  ### Updating

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.15.0/adyen.js"
       integrity="sha384-wRJEmCkwtDr3QqIA1UqInI8kmB6XerK8zxfIhP0bSk34lK/kyvE9bSewbrleIQwo"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
       href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.15.0/adyen.css"
       integrity="sha384-4ppagynsoxB4LNdDTdpX1No72EGOMm13+Y89hg+nz+dAIAWchOBTEnLL7u/hi6eM"
       crossorigin="anonymous">
  ```

  ## 2020-10-07 — iOS Components/Drop-in — Version 3.7.0

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/release-notes/#releaseNote=2025-08-27-ios-componentsdrop-in-5.20.0">upgrade to v5.20.0\</a> or later.\</p>*

  If you use [Xcode 15](https://developer.apple.com/xcode/), use [v4.11.1](/online-payments/release-notes?integration_type=ios\&version=4.11.1) or later for compatibility.

  ### New

  * New supported payment method: [MB WAY](/payment-methods/mb-way), `MBWayComponent`.
  * Added the `AwaitComponent` to handle the **await** action type for payment methods like MB WAY.
  * Added the [client key](/development-resources/client-side-authentication#availability-compatibility) to remove the need for configuring the `cardPublicKey` in your integration. The client key fetches your client encryption public key automatically from your Customer Area.
  * Enabled programmatic dismissal for the `RedirectComponent` using the `dismiss(animated:completion:)` method.
  * Added a closure callback to the `ApplePayComponent` which will be called when the user closes the payment sheet.
  * Added support to exclude card brands from the `ApplePayComponent`.
  * Support for JCB cards in the `ApplePayComponent`.
  * Enabled customisation for the presentation style of the `RedirectComponent`by adding `modalPresentationStyle` to `RedirectComponentStyle`.
  * Added `didCancel(component:from:)` to the `DropInComponentDelegate` to call back client code when a managed component is dismissed by the shopper.
  * Updated the 3D Secure SDK to [v2.1.0-rc6](https://github.com/Adyen/adyen-3ds2-ios/releases/tag/2.1.0-rc.6).

  ### Improved

  * More accurate card brand detection for the `CardComponent` using the new client key.

  ### Known Issues

  * The `clientKey` must be set in instances of `CardComponent` and `BCMCComponent` even when you use the initializer that receives the client key.

  ## 2020-10-05 — Pay by Link

  ### Fixed

  We fixed an issue where single-use [payment links](/unified-commerce/pay-by-link) were creating multiple payments.

  ## 2020-09-25 — Web Components/Drop-in — Version 3.14.0

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### Improved

  * It is now possible to set the aria-label `iframeTitle` on the card fields.

  ### Fixed

  * Full-width characters such as Japanese Katakana characters are now validated correctly.
  * We increased the time-out for loading device fingerprinting files, to prevent `df-timeout` errors from the `onChange` event when loading large device fingerprinting files.
  * Fixed an issue that occurred in some situations with prefilled data when redirecting.
  * Fixed an issue where the PayPal Component was not passing the correct component reference to the `onCancel` and `onError` events.
  * Clicking on the icon for a dual-branded card to select the card brand is working as expected again.

  ### Updating

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.14.0/adyen.js"
       integrity="sha384-r16x+HZ6vkyWhMem7f3BaKcu23f64fnhpxflGasRv04Ii4ucIHagihmZj0Q5QSvA"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.14.0/adyen.css"
      integrity="sha384-dNVP3hcwQ/DJnbhWtKjt/xpYSDyS1Ch8m8tnxNehvZoGzcrjeGuKk9/dGstY+vxu"
      crossorigin="anonymous">
  ```

  ## 2020-09-25 — Web Components/Drop-in — Version 3.13.1

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### Fixed

  * Fixed issues with Google Pay and Drop-in:

    * Google Pay can no longer trigger the submit flow twice on the Drop-in.
    * Safari now correctly resolves the initial `isReadyToPay` promise on Drop-in when automatically loading the Google Pay API JavaScript library.

  ### Updating

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.13.1/adyen.js"
       integrity="sha384-43SJm/Fc8D/N/UL7GYd+lUawkh0xQgdepGgkMMaoWKl0shiuU4yQrz6xYRMJvVI1"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.13.1/adyen.css"
      integrity="sha384-AtxcD/Ax9ZRBLJ63s/bwCMrfe/mXWt4TF7F+Vltoxo0WgAwWjVNDsfyMAgY+9nBi"
      crossorigin="anonymous">
  ```

  ## 2020-09-25 — Web Components/Drop-in — Version 3.14.1

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### Improved

  This release improves build issues in version 3.14.0.

  ### Updating

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.14.1/adyen.js"
       integrity="sha384-6CKCjdBJ5e8ODBkoPb8aS4NUVZUT84+EwcOq/EdHIQJsHXZyRy4Hzmlo3Cm/3VX3"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.14.1/adyen.css"
      integrity="sha384-dNVP3hcwQ/DJnbhWtKjt/xpYSDyS1Ch8m8tnxNehvZoGzcrjeGuKk9/dGstY+vxu"
      crossorigin="anonymous">
  ```

  ## 2020-09-21 — Pay by Link

  ### New

  **Pay by Link API**: When making a [`/paymentLinks`](https://docs.adyen.com/api-explorer/#/CheckoutService/paymentLinks) request, you can now include the [`deliverAt`](https://docs.adyen.com/api-explorer/#/CheckoutService/v64/post/paymentLinks__reqParam_deliverAt) parameter.

  ### Fixed

  * We fixed the Finnish translations for the terms and conditions prompt.
  * **Pay by Link API**: We fixed an issue where payments would fail when you provided a delivery address but no billing address.

  ## 2020-09-14 — Checkout API

  ### Improved

  For African eWallets and eBanking, the `shopperEmail`, `shopperName`, and the `telephoneNumber` are no longer required parameters for the [`/payments`](https://docs.adyen.com/api-explorer/#/CheckoutService/v64/post/payments) request.

  ### Fixed

  We fixed an issue in [v64](/online-payments/release-notes#releaseNote=2020-08-09-checkout-api-64) where valid fields could trigger a validation error.

  ## 2020-09-10 — Android Components/Drop-in — Version 3.7.0

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/release-notes/#releaseNote=2025-08-19-android-componentsdrop-in-5.14.0">upgrade to v5.14.0\</a> or later.\</p>*

  ### New

  * New supported payment method: [MB WAY](/payment-methods/mb-way).
  * AwaitComponent to handle `action.type`: **await**.
  * Added support for [`ClientKey`](/development-resources/client-side-authentication) which will replace `PublicKey` for client-side authentication in future versions.

  ## 2020-09-07 — Pay by Link

  ### Fixed

  If the final status of the payment can not yet be determined, the shopper now sees a message of **Pending** instead of **Something went wrong**.

  ## 2020-09-02 — Web Components/Drop-in — Version 3.13.0

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### Improved

  * Added field validation for:

    * `telephoneNumber` in E-Context payments.
    * `dateOfBirth` in [buy now, pay later payment methods](/payment-methods).

  * For SEPA Direct Debit payments, the IBAN and name fields can now be filled in automatically. To do this, pass `ibanNumber` and `ownerName` to `paymentMethodsConfiguration`.

  * Apple Pay now uses the highest version supported by the shopper's device by default. You can override this setting in your Apple Pay configuration.

  * The [Google Pay Component](/payment-methods/google-pay/web-component) now uses the `configuration` object from the `/paymentMethods` response, so you no longer need to specify `merchantIdentifier` when configuring the Component.

  * Accessibility improvements:

    * If there is no aria configuration object, the component creates one with the default `iframeTitle` and `error` properties.
    * If an `iframeTitle` or `error` property is missing from the configuration object you defined, they are added automatically.
    * If no placeholder configuration object exists, one is created with a default and translated value.
    * For errors, the components use `aria-live="polite"`. For example, if an error comes up when filling in the form, the screen reader will read the error text after it finishes reading the current text.
    * Screen readers no longer read a description for the payment method icons which are decorative. Instead, they read the text announcing the payment method.

  * The Web Drop-in integration now has a 1 second timeout for the `isAvailable` filter. This means that if a payment method fails to load, Web Drop-in continues to load the form for all other payment methods. The end result will not contain an error, it will be the Drop-in form without the payment method that failed to load.

  ### Fixed

  * The PayPal Component no longer returns an error when calling `unmount()`.
  * The aria label `iframeTitle` works correctly for the card and custom card integrations.

  ### Updating

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.13.0/adyen.js"
       integrity="sha384-cMH19I9HPj31iL3b/lcBcpsqbieCGSLyNef+RzjS7g3h5DhP2BI6j68/ogKSQCAh"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
       href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.13.0/adyen.css"
       integrity="sha384-AtxcD/Ax9ZRBLJ63s/bwCMrfe/mXWt4TF7F+Vltoxo0WgAwWjVNDsfyMAgY+9nBi"
       crossorigin="anonymous">
  ```

  ## 2020-08-31 — Pay by Link

  ### Fixed

  The QR code for WeChatPay is now rendering correctly.

  ## 2020-08-24 — Web Components/Drop-in — Version 3.12.1

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### Fixed

  * For giropay, setting the `showPayButton`: **false** now hides the **Pay** button.

  ### Updating

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.12.1/adyen.js"
       integrity="sha384-Z40LrT7R1YX9m5TJsqwQA5H3YqKvPA/DKBnPwXa4SwaDEs/feQSThsSph6PjbCQ1"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
       href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.12.1/adyen.css"
       integrity="sha384-GYuZ2hTudNw7WyFFpYgZ2+Dd1a1QqD0d0u7p6RE9F6q2yNnIEe6gPNs+Ml0QI5Mt"
       crossorigin="anonymous">
  ```

  ## 2020-08-24 — Web Components/Drop-in — Version 3.12.0

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> Deprecated \</tag> \</div> \<br> This version will be \[\<strong>End-of-Life]\</strong>(/online-payments/upgrade-your-integration/#lifecycle) on \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### New

  * New supported payment method: [Affirm](/payment-methods/affirm).

  ### Improved

  * The Swish Component now shows a pending message, warning shoppers about multiple charges if they try to pay again while the status is pending.

  * We improved the translation strings:

    * `confirmPurchase` is now **Confirm purchase** instead of **Confirm Purchase**.
    * `voucher.collectionInstitutionNumber` and `installmentOption` are now available for all [supported languages](/online-payments/build-your-integration/sessions-flow/?platform=Web\&integration=Drop-in#optional-configuration).

  * Pay-easy ATM (**econtext\_atm**) vouchers now show the **Collection Institutions Number**.

  ### Fixed

  * `state.data` now only returns fields that contain data for [buy now, pay later payment methods](/payment-methods).
  * The `billingAddress` object now only shows the fields that contain data.

  ### Updating

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.12.0/adyen.js"
       integrity="sha384-jH1pzFwMGYFHB6rut7oqTmHBMBdFhO+8vkYRhoX93CJePN7Ulx+US7H8lUkz/NP1"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
       href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.12.0/adyen.css"
       integrity="sha384-GYuZ2hTudNw7WyFFpYgZ2+Dd1a1QqD0d0u7p6RE9F6q2yNnIEe6gPNs+Ml0QI5Mt"
       crossorigin="anonymous">
  ```

  ## 2020-08-24 — Pay by Link

  ### Improved

  The [payment update to your email](/unified-commerce/pay-by-link/create-payment-links/customer-area#email-updates) now contains the payment method used for the payment.

  ### Fixed

  * We fixed an issue where redirecting back from the Swish app would start a new Swish payment.
  * **Pay by Link API**: Specifying [`cup`](/payment-methods/unionpay-secureplus) in the `allowedPaymentMethods` or the `blockedPaymentMethods` array now works as expected.

  ## 2020-08-18 — Web Components/Drop-in — Version 3.11.4

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### Fixed

  * If you're using a [client key](/development-resources/client-side-authentication) with wildcards in the allowed origins, the card fields now load even after changing domains, for example when the shopper switches country/region. The browser no longer caches the origin so you can use more than one origin in a browser session.

  ### Updating

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.11.4/adyen.js"
       integrity="sha384-r6VzatKWD1SDwT5pfnl6sfkNJYAsTAUlUOO6PEbIhMwWFkPrE28R/8cjAKBp9yCd"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.11.4/adyen.css"
      integrity="sha384-gTrHdtmLDTaHuDUKM1okZAVgBTwjiI+E66Tz3K71+10Lhd7zxvtUF5lrHc35cNIR"
      crossorigin="anonymous">
  ```

  ## 2020-08-18 — Web Components/Drop-in — Version 3.11.3

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### Improved

  * Added support for auto-completing the card expiry date in different formats. All non-numerical characters in date strings, such as `.`, `-`, and `/` are supported.

  ### Updating

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.11.3/adyen.js"
       integrity="sha384-2t2P/ImpM1vBj1hfrMp6pHPcNk7U4OSZMADKPINi7Y9JEt5m2ul3COhwTMsrA3ab"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.11.3/adyen.css"
      integrity="sha384-gTrHdtmLDTaHuDUKM1okZAVgBTwjiI+E66Tz3K71+10Lhd7zxvtUF5lrHc35cNIR"
      crossorigin="anonymous">
  ```

  ## 2020-08-13 — Checkout API

  ### Improved

  * We now accept `shopperLocale` with both underscores (for example **en\_US**) and hyphens (for example **en-US**).

  ## 2020-08-13 — Pay by Link

  ### Fixed

  * Fixed an issue where shoppers did not get redirected correctly when using 3D Secure.

  ## 2020-08-12 — Web Components/Drop-in — Version 3.11.1

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### New

  * The Google Pay Component now automatically loads the Google Pay script if the Component doesn't detect the script in your front end. In previous versions, you had to handle this in your front end, making sure that you load the Google Pay API JavaScript library before the Adyen JS script.

  ### Improved

  * Components for payment methods that use QR codes (such as Swish or WeChat Pay) now also calls `onAdditionalDetails` when the Component receives an error.
  * When using the Swish Component, the timeout for status checks is now increased to 15 minutes. The timeout used to be 3 minutes.

  ### Fixed

  * We fixed the loading state for multiple Components (such as BLIK and Multibanco). In earlier versions, some Components didn't have a loading state so the Components weren't displaying the spinner while initializing.

  * We made the following fixes for the Card Component:

    * The Card Component now allows focus on optional security code fields.
    * We fixed the logic when validating extra fields required for AVS.
    * We fixed the `valid` state of `ExpirationDate`.

  ### Updating

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.11.1/adyen.js"
       integrity="sha384-Br76hCQAZTck3C/I3hObqUc/2xXMC48wJfBURX/e25bpuI2wV4wHYPqbXXovHQ0D"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.11.1/adyen.css"
      integrity="sha384-gTrHdtmLDTaHuDUKM1okZAVgBTwjiI+E66Tz3K71+10Lhd7zxvtUF5lrHc35cNIR"
      crossorigin="anonymous">  
  ```

  ## 2020-08-09 — Checkout API — Version 64

  ### New

  Checkout API v64 is now available in [API Explorer](https://docs.adyen.com/api-explorer/#/CheckoutService/v64/overview).

  * **All endpoints**

    * If an API request contains a field that is not recognized, or if the format is not valid, we now return an error message with error code `702` instead of dropping the field. The error message contains information about why the validation failed, for example:
      ```json
      {
        "status": 400,
        "errorCode": "702",
        "message": "Structure of PaymentRequest contains the following unmapped fields exampleErrorField",
        "errorType": "validation"
      }
      ```

  * **POST [`/payments`](https://docs.adyen.com/api-explorer/#/CheckoutService/v64/post/payments)**

    * For Boleto Bancário, when a `shopperEmail` is provided, we now send an email with the Boleto code to the shopper.

  * **POST [`/paymentLinks`](https://docs.adyen.com/api-explorer/#/CheckoutService/v64/post/paymentLinks)**

    * In the request, you can now specify [`installmentOptions.plans`](https://docs.adyen.com/api-explorer/#/CheckoutService/v64/post/paymentLinks__reqParam_installmentOptions-plans) and [`installmentOptions.preselectedValue`](https://docs.adyen.com/api-explorer/#/CheckoutService/v64/post/paymentLinks__reqParam_installmentOptions-preselectedValue).

  ### Improved

  * **POST [`/payments`](https://docs.adyen.com/api-explorer/#/CheckoutService/v64/post/payments)**
    * For Bancontact mobile and WeChat Pay, when making a request with `paymentMethod.type` **bcmc\_mobile\_QR** or **wechatpayQR**, the response now returns `Pending` instead of `PresentToShopper` result code. This result code is now consistent with other QR code payment methods such as BLIK and Swish.

  ### Changed

  * **POST [`/paymentMethods`](https://docs.adyen.com/api-explorer/#/CheckoutService/v64/post/paymentMethods)**

    * The response for Amazon Pay, Apple Pay, Google Pay, and PayPal now contains a `configuration` object. Example for Google Pay and Apple Pay:
      ```json
      {
       "paymentMethods":[
         {
           "configuration":{
             "merchantId":"0123456789"
           },
           "name":"Google Pay",
           "type":"paywithgoogle"
         },
         {
           "configuration": {
             "merchantDisplayName": "Merchant Name",
             "merchantIdentifier": "1000"
           },
           "name": "Apple Pay",
           "type": "applepay"
         }
       ]
      }
      ```

  * **POST [`/payments`](https://docs.adyen.com/api-explorer/#/CheckoutService/v64/post/payments)**

  ### Deprecated

  * **POST [`/payments`](https://docs.adyen.com/api-explorer/#/CheckoutService/v64/post/payments__section_resParams)**

    * In the response, we have marked a number of fields as deprecated. Although they are deprecated, these fields have not yet been removed from the response and you can still use them.

      In a future version of the API, the deprecated fields will be removed and replaced by fields in the [`action`](https://docs.adyen.com/api-explorer/#/CheckoutService/v64/post/payments__resParam_action) object. We recommend that you start using the fields in the [`action`](https://docs.adyen.com/api-explorer/#/CheckoutService/v64/post/payments__resParam_action) object in the response.

      This applies to the following fields:

      | Response field          | Solution                                                                                                                                                                                                                                                                                                                           |
      | ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
      | `authentication`        | Use the [`action`](https://docs.adyen.com/api-explorer/#/CheckoutService/v64/post/payments__resParam_action) object instead to get the values to be used in further calls to the [`/payments/details`](https://docs.adyen.com/api-explorer/#/CheckoutService/v64/post/payments/details) endpoint. Applies to 3D Secure 2 payments. |
      | `details [InputDetail]` | Use the [`action`](https://docs.adyen.com/api-explorer/#/CheckoutService/v64/post/payments__resParam_action) object instead to get all the fields needed to submit in the [`/payments/details`](https://docs.adyen.com/api-explorer/#/CheckoutService/v64/post/payments/details) call.                                             |
      | `outputDetails`         | Use the [`action`](https://docs.adyen.com/api-explorer/#/CheckoutService/v64/post/payments__resParam_action) object instead to get the details that will be presented to the shopper.                                                                                                                                              |
      | `paymentData`           | Use `action.Paymentdata` instead.                                                                                                                                                                                                                                                                                                  |
      | `redirect`              | Use the [`action`](https://docs.adyen.com/api-explorer/#/CheckoutService/v64/post/payments__resParam_action) object instead to get information about the redirect URL for payment flows that require a redirect.                                                                                                                   |

  ## 2020-08-09 — Pay by Link

  ### New

  * New supported payment method: [Google Pay](/payment-methods/google-pay).
  * We added support for the PayPal authorisation-only flow.

  ## 2020-07-28 — Web Components/Drop-in — Version 3.11.0

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### New

  You can only use this new feature if you are using [`clientKey`](/development-resources/client-side-authentication) for your client-side authentication. If you are still using `originKey`, refer to our [migration guide](/development-resources/client-side-authentication/migrate-from-origin-key-to-client-key).

  Unsupported cards are now *blocked* on the frontend. When a shopper provides an unsupported card type, the Component disables the payment form, and shows an **Unsupported card** error message.

  In previous versions, you'd only find out if a shopper provided an unsupported card type when you receive an `errorCode: 905` in the `/payments` response. In this version, the Component triggers an `onError` callback after it detects that the card type is unsupported. The callback also returns a `detectedBrands` array that indicates what type of card the shopper used.

  ### Improved

  * The [Bancontact card](/payment-methods/bancontact/bancontact-card/web-component) `brand` property now defaults to `bcmc`.

  ### Fixed

  * Apple Pay now uses the `configuration.merchantName` property as the default label for the total line item if the `totalPriceLabel` is not provided.

  ### Updating

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.11.0/adyen.js"
       integrity="sha384-sR3tFyFWM09aya/mpkzB0fV4t+g6b4i64izXXy+lSSTmrgL/9/cdNFURV5T9gUbI"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.11.0/adyen.css"
      integrity="sha384-8ofgICZZ/k5cC5N7xegqFZOA73H9RQ7H13439JfAZW8Gj3qjuKL2isaTD3GMIhDE"
      crossorigin="anonymous">  
  ```

  ## 2020-07-23 — Checkout API — Version 53

  ### New

  Checkout API v53 is now available in [API Explorer](https://docs.adyen.com/api-explorer/#/CheckoutService/v53/overview).

  * **POST [`/paymentLinks`](https://docs.adyen.com/api-explorer/#/CheckoutService/v53/post/paymentLinks)**
    * The response now returns the payment link `id` along with all other parameters sent in the request. In previous versions, the response only contained the URL, expiry date, reference, and amount.

  * **POST [`/payments`](https://docs.adyen.com/api-explorer/#/CheckoutService/v53/post/payments)**

    * When making a request with `paymentMethod.type` **bcmc\_mobile**, the response now returns both `url` and `qrCodeData`. This allows you to offer both QR code and app redirect to your shoppers.
    * We now return an error if the `origin` in the request contains more than 80 characters or if the URL is invalid.

  ### Improved

  * **POST [`/paymentMethods`](https://docs.adyen.com/api-explorer/#/CheckoutService/v53/post/paymentMethods)**

    * For giropay, the `bic` is no longer returned in the response. If you are using Web Drop-in or Components, the front end will no longer require a BIC. When shoppers select to pay with giropay, they are now redirected to giropay's website where they can provide their BIC.
    * For Bancontact mobile, the response now only returns `bcmc_mobile`. This new payment method type combines the `bcmc_mobile_QR` and `bcmc_mobile_app` types from previous versions of the API.
    * If transaction rules for payment methods are set up for your account, these are now evaluated when you send a `/paymentMethods` request.

  * **POST [`/paymentLinks`](https://docs.adyen.com/api-explorer/#/CheckoutService/v53/post/paymentLinks)**
    * If a request is successful, the response now returns **HTTP 201** instead of an **HTTP 200** result code.

  ## 2020-07-16 — Web Components/Drop-in — Version 3.10.1

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### Fixed

  * Setting only the `clientKey` property in the configuration object, without the `originKey`, now works as expected.

  ### Updating

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.10.1/adyen.js"
       integrity="sha384-wG2z9zSQo61EIvyXmiFCo+zB3y0ZB4hsrXVcANmpP8HLthjoQJQPBh7tZKJSV8jA"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.10.1/adyen.css"
      integrity="sha384-8ofgICZZ/k5cC5N7xegqFZOA73H9RQ7H13439JfAZW8Gj3qjuKL2isaTD3GMIhDE"
      crossorigin="anonymous">
  ```

  ## 2020-07-15 — Web Components/Drop-in — Version 3.10.0

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### New

  * Added support for `callbackIntents` on the Google Pay component. This allows for updating the price dynamically when certain information changes. Refer to [PaymentDataCallbacks](https://developers.google.com/pay/api/web/reference/request-objects#PaymentDataCallbacks).

  ### Improved

  * Added support for plurals and string interpolation on translations.
  * We now generate one set of SRI hashes, so now you can use the same SRI hash regardless of where you are loading Adyen JS and CSS files from—[test or live](/development-resources/live-endpoints#checkout-endpoints), including from live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet).

  ### Fixed

  * With Web Drop-in the `dropin.submit()` is once again working with Google Pay.
  * Fixed an issue in Web Drop-in where selecting "Pay" on stored cards didn't trigger the `onSubmit()` callback due to the `billingAddressRequired` property.
  * Chrome autofill on iOS now works as expected, and setting the value of `placeholder` to `null` no longer throws an error.

  ### Updating

  If you implemented SRI in test or with live [region-specific URLs](/online-payments/web-best-practices#embed-script-and-stylesheet), you can now use the same SRI hashes below.

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.10.0/adyen.js"
       integrity="sha384-ghytckjc6RtqM4eKYE4LBJRtqZWcxPv/sGamiebH2dY3tyiQYUOZnPJ0s27de7vB"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.10.0/adyen.css"
      integrity="sha384-8ofgICZZ/k5cC5N7xegqFZOA73H9RQ7H13439JfAZW8Gj3qjuKL2isaTD3GMIhDE"
      crossorigin="anonymous">
  ```

  ## 2020-07-09 — Checkout API

  ### Fixed

  * When risk data are included in the payments request, this no longer results in an invalid signature calculation.

  ## 2020-07-09 — Pay by Link

  ### New

  * Webhook events for Pay by Link payments now include the `paymentLinkId`.

  ### Fixed

  * Fixed an issue where in some cases split payment data were not retained with iDEAL payments.

  ## 2020-07-02 — Pay by Link

  ### Fixed

  * We fixed an issue where a non-reusable payment link can still be reused after paying with Klarna.

  ## 2020-06-30 — iOS Components/Drop-in — Version 3.6.0

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/release-notes/#releaseNote=2025-08-27-ios-componentsdrop-in-5.20.0">upgrade to v5.20.0\</a> or later.\</p>*

  If you use [Xcode 15](https://developer.apple.com/xcode/), use [v4.11.1](/online-payments/release-notes?integration_type=ios\&version=4.11.1) or later for compatibility.

  ### New

  * You can now choose to show or hide the security code field, and we added a delegate for `onBrand` and `onBin` to the Card Component.
  * `AnyCardPaymentMethod` now contains `CardFundingSource`.
  * When the app goes to the background, sensitive form components are blurred in the UI.
  * You can now customize rounded corners, and we added a customized `tintColor`and `separator`.
  * We introduced a new issue type **Assistance needed** on GitHub.
  * We have enabled dynamic font adjustments. When iPhone users change the font size in their settings, our SDK now supports that.

  ### Improved

  * We now accept card expiry dates up to 30 years in the future when we validate card data.
  * We made the `AmountFormatter` public and added a helper function to convert major unit double values into minor unit `Int` values.
  * We enabled a loading state for the `PaymentMethodListComponent`.
  * We improved warnings, tests coverage, documentation and translation.

  ### Fixed

  * While a payment is in progress, you cannot cancel a payment using Drop-in and the **open all** button is disabled.
  * We adjusted the preselected payment method component height for iOS 10 and fixed bug with the iOS 10 `PreselectedComponent`.
  * We fixed the background for `ListItemView`, focusing on `CVC` field and navigation glitches for half-screen presentation.

  ### Breaking Changes

  * `barTintColor` and `barBackgroundColor` in `NavigationStyle` have been deprecated.
  * We currently present `Redirect` from the top most `viewController` on `keyWindow` and we deprecated `RedirectComponent.presenterViewController`.

  ## 2020-06-29 — Web Components/Drop-in — Version 3.9.5

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### Fixed

  * When using the Component to collect billing address, countries/regions with state datasets now get correctly validated when the `state` field value changes.

  ### Improved

  * Components for payment methods where you receive an `await` action type (such as [MBWAY](/payment-methods/mb-way) and BLIK) now always calls `onAdditionalDetails` when the Component receives an error.

  * The `storePaymentMethod` field is now sent in the `state.data` object as long as `enableStoreDetails` is set to **true** (the ***Save details for next time*** checkbox is shown in the UI). If the shopper doesn't select the checkbox, the `state.data.storePaymentMethod` field will have a value of **false**.

  ### Updating

  ### Tab: EU (Default)

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.9.5/adyen.js"
       integrity="sha384-uOrvYLSC+gNG9rRi6gKnzTwPsO7Hi5KHOlZGl8CR3tA0s/0HLOvU9ViyJTWEcNk1"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.9.5/adyen.css"
      integrity="sha384-6qrXvoxlnBlrflZQ9g5Yf5oZapUSSXctPxacP9oRcEukbEO7lXisuSyMKG8pDX8V"
      crossorigin="anonymous">
  ```

  ### Tab: AU

  ```
  <script src="https://checkoutshopper-live-au.adyen.com/checkoutshopper/sdk/3.9.5/adyen.js"
       integrity="sha384-iZt3PdCyPwmL0/kLOGgFfASMmKfrP3qsruDvBYdjPVr/mZ9zjxNdfpiQRNONechR"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live-au.adyen.com/checkoutshopper/sdk/3.9.5/adyen.css"
      integrity="sha384-6qrXvoxlnBlrflZQ9g5Yf5oZapUSSXctPxacP9oRcEukbEO7lXisuSyMKG8pDX8V"
      crossorigin="anonymous">
  ```

  ### Tab: US

  ```
  <script src="https://checkoutshopper-live-us.adyen.com/checkoutshopper/sdk/3.9.5/adyen.js"
       integrity="sha384-XgOIbSPeGkwWBwvEI5niWrvG/BiWfOrIW+9PQLLkBFSz9EeGG2jb1JWfZMXHfiaH"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live-us.adyen.com/checkoutshopper/sdk/3.9.5/adyen.css"
      integrity="sha384-6qrXvoxlnBlrflZQ9g5Yf5oZapUSSXctPxacP9oRcEukbEO7lXisuSyMKG8pDX8V"
      crossorigin="anonymous">
  ```

  ## 2020-06-25 — Pay by Link

  ### Fixed

  * We fixed an issue where if you upload a logo for your payment page, the favicon did not reflect the logo. Now you can see the logo on the payment page and in your browser's favicon.
  * We resolved an issue where payment links can still be used even if you sent `reusable`: **false** in your request.

  ## 2020-06-23 — Web Components/Drop-in — Version 3.9.2

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### Updating

  ### Tab: EU (Default)

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.9.2/adyen.js"
       integrity="sha384-0CZVjqVYBiMd+93KP09SDniCpCV0cP2g40JBhpN0+7Oq5hzI+JqdzJu9S1+B5tDn"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.9.2/adyen.css"
      integrity="sha384-6qrXvoxlnBlrflZQ9g5Yf5oZapUSSXctPxacP9oRcEukbEO7lXisuSyMKG8pDX8V"
      crossorigin="anonymous">
  ```

  ### Tab: AU

  ```
  <script src="https://checkoutshopper-live-au.adyen.com/checkoutshopper/sdk/3.9.2/adyen.js"
       integrity="sha384-icrcWShOxmycBy8YaYD6uUaLOwHUHwt2Z2vGM/gNm5U/1TJntSrDLWu8kl/60wa9"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live-au.adyen.com/checkoutshopper/sdk/3.9.2/adyen.css"
      integrity="sha384-6qrXvoxlnBlrflZQ9g5Yf5oZapUSSXctPxacP9oRcEukbEO7lXisuSyMKG8pDX8V"
      crossorigin="anonymous">
  ```

  ### Tab: US

  ```
  <script src="https://checkoutshopper-live-us.adyen.com/checkoutshopper/sdk/3.9.2/adyen.js"
       integrity="sha384-VKfWLzBuYRmJ+qmS5SFqjxyaxyQoBZq1vpWSb2WgS6gsqZGsi0PZZKP9Yir9phA5"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live.adyen-us.com/checkoutshopper/sdk/3.9.2/adyen.css"
      integrity="sha384-6qrXvoxlnBlrflZQ9g5Yf5oZapUSSXctPxacP9oRcEukbEO7lXisuSyMKG8pDX8V"
      crossorigin="anonymous">
  ```

  ## 2020-06-23 — Web Components/Drop-in — Version 3.9.3

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### Updating

  ### Tab: EU (Default)

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.9.3/adyen.js"
       integrity="sha384-q0+/vVCY8/PdVap8fjVJm5zYIy08aNdQuBhvk6pnocoDW3IqqdeyCMQH1i+M1EEt"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.9.3/adyen.css"
      integrity="sha384-6qrXvoxlnBlrflZQ9g5Yf5oZapUSSXctPxacP9oRcEukbEO7lXisuSyMKG8pDX8V"
      crossorigin="anonymous">
  ```

  ### Tab: AU

  ```
  <script src="https://checkoutshopper-live-au.adyen.com/checkoutshopper/sdk/3.9.3/adyen.js"
       integrity="sha384-5Fd4uutISWQGO+soWjfXrVsKxtNz0spAD8b/CN7AibB9xVaA2aSnQ3j0USdYI0tZ"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live-au.adyen.com/checkoutshopper/sdk/3.9.3/adyen.css"
      integrity="sha384-6qrXvoxlnBlrflZQ9g5Yf5oZapUSSXctPxacP9oRcEukbEO7lXisuSyMKG8pDX8V"
      crossorigin="anonymous">
  ```

  ### Tab: US

  ```
  <script src="https://checkoutshopper-live-us.adyen.com/checkoutshopper/sdk/3.9.3/adyen.js"
       integrity="sha384-upVt2eJorVIMwWuGQzv/8+LnE47q8SuV8hVji61X+1AZiXVkk4izu2CkXKNo/yNI"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live.adyen-us.com/checkoutshopper/sdk/3.9.3/adyen.css"
      integrity="sha384-6qrXvoxlnBlrflZQ9g5Yf5oZapUSSXctPxacP9oRcEukbEO7lXisuSyMKG8pDX8V"
      crossorigin="anonymous">
  ```

  ## 2020-06-23 — Web Components/Drop-in — Version 3.9.4

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### Fixed

  * Fixed an issue regarding validation of the billing address in the Card Component where a pre-filled country/region with no states available still waits for a state or province field to be provided.
  * Fixed an issue where the Card Component state does not update the address data until the country/region is changed.
  * Fixed an issue where MBWay Component accepted different names for `shopperEmail` and `telephoneNumber` parameters in the request.
  * Fixed an issue regarding validation when a `namePrefix` is passed to the `personalDetails` shopper input fields.

  ### Updating

  ### Tab: EU (Default)

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.9.4/adyen.js"
       integrity="sha384-/rpftrZptnl7EIuIvqz4PAEehQoysKXmwqUAGyH9lK3WHgcvY0lWj/S5LH7xrbf+"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.9.4/adyen.css"
      integrity="sha384-6qrXvoxlnBlrflZQ9g5Yf5oZapUSSXctPxacP9oRcEukbEO7lXisuSyMKG8pDX8V"
      crossorigin="anonymous">
  ```

  ### Tab: AU

  ```
  <script src="https://checkoutshopper-live-au.adyen.com/checkoutshopper/sdk/3.9.4/adyen.js"
       integrity="sha384-x5nR4QlJjqyxVBCSrtwcObqGmUX1o8GRmZAq/kzkAoInnPv9302Kx3IaNmXimXm8"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live-au.adyen.com/checkoutshopper/sdk/3.9.4/adyen.css"
      integrity="sha384-6qrXvoxlnBlrflZQ9g5Yf5oZapUSSXctPxacP9oRcEukbEO7lXisuSyMKG8pDX8V"
      crossorigin="anonymous">
  ```

  ### Tab: US

  ```
  <script src="https://checkoutshopper-live-us.adyen.com/checkoutshopper/sdk/3.9.4/adyen.js"
       integrity="sha384-IByFWjXawq+IAPig1kOIzXhtVvwVfLitFBWEuRH2UnzkErm7Ueq3AtZ5b14v1i2/"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live-us.adyen.com/checkoutshopper/sdk/3.9.4/adyen.css"
      integrity="sha384-6qrXvoxlnBlrflZQ9g5Yf5oZapUSSXctPxacP9oRcEukbEO7lXisuSyMKG8pDX8V"
      crossorigin="anonymous">
  ```

  ## 2020-06-23 — Web Components/Drop-in — Version 3.9.1

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### Fixed

  * The `state.data.paymentMethod.brand` field now shows the brand of the stored cards again.
  * We fixed the translation strings for `da-DK` and added the missing translation strings for `ko-KR`.
  * If an invalid `blikCode` is entered on the front-end, the error message is now correctly reflected.

  ### Updating

  ### Tab: EU (Default)

  ```
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.9.1/adyen.js"
       integrity="sha384-5RGbm/PP27SIGIeNaNn7l1S152uTFxajye1u1O7iVhQDPo5+uJ9uzT+D01cWFT1k"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.9.1/adyen.css"
      integrity="sha384-6qrXvoxlnBlrflZQ9g5Yf5oZapUSSXctPxacP9oRcEukbEO7lXisuSyMKG8pDX8V"
      crossorigin="anonymous">
  ```

  ### Tab: AU

  ```
  <script src="https://checkoutshopper-live-au.adyen.com/checkoutshopper/sdk/3.9.1/adyen.js"
       integrity="sha384-ERDmjx3RpG2KkBBn0Y19E+QHgo14JKC50xIbt/uEiT9JXvQQvyMVzug34vBTFv/8"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live-au.adyen.com/checkoutshopper/sdk/3.9.1/adyen.css"
      integrity="sha384-6qrXvoxlnBlrflZQ9g5Yf5oZapUSSXctPxacP9oRcEukbEO7lXisuSyMKG8pDX8V"
      crossorigin="anonymous">
  ```

  ### Tab: US

  ```
  <script src="https://checkoutshopper-live-us.adyen.com/checkoutshopper/sdk/3.9.1/adyen.js"
       integrity="sha384-lBtqxf0Hp6M513UeAsEA39Zk73W4BJcRwzYq2iailbxSFIgYppkhQKte3ZxKSQ+N"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live-us.adyen.com/checkoutshopper/sdk/3.9.1/adyen.css"
      integrity="sha384-6qrXvoxlnBlrflZQ9g5Yf5oZapUSSXctPxacP9oRcEukbEO7lXisuSyMKG8pDX8V"
      crossorigin="anonymous">
  ```

  ## 2020-06-18 — Pay by Link

  ### New

  You can now see the [`/paymentLinks`](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/post/paymentLinks) endpoint in your [Customer Area](https://ca-live.adyen.com/), under **Accounts** > **API URLs**.

  ### Improved

  Pay by Link now only shows one option for WeChat Pay in the payment method selection list.

  ## 2020-06-18 — Checkout API

  ### Fixed

  Ratepay Direct Debits payments using Austrian (AT) IBANs is now working.

  ## 2020-06-11 — Pay by Link

  ### New

  The `paymentLinkId` is now sent in the **AUTHORISATION** webhook. You can use this to reconcile payments to payment links.

  ## 2020-06-02 — Web Components/Drop-in — Version 3.9.0

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### New

  * New supported payment method: BLIK.
  * [Client-side authentication using the client key](/development-resources/client-side-authentication). The client key allows for more flexible and efficient origin management than the [origin key](/development-resources/how-to-get-an-origin-key). If you are using origin keys, see how to [migrate to using the client key](/development-resources/client-side-authentication/migrate-from-origin-key-to-client-key).

  ### Improved

  * We improved the UI for the [Bancontact mobile](/payment-methods/bancontact/bancontact-mobile) Pay button.
  * Added [new localization fields](/online-payments/build-your-integration/sessions-flow/?platform=Web\&integration=Drop-in#optional-configuration) for BLIK and improved localization fields for credit cards.

  ### Fixed

  * Double-clicking a [Google Pay](/payment-methods/google-pay) button started a session twice, resulting in an error. We fixed this so you can now double-click a Google Pay button without initiating a new session.
  * The 3D Secure 2 Component no longer tries to parse invalid `postMessages`.
  * We fixed an issue where the CVC field for saved Maestro cards was required even when it is optional.
  * When a shopper entered a credit card number using copy and paste or auto-fill, the `onBinValue` callback triggered by the [Custom Card Component](/payment-methods/cards/custom-card-integration/#show-the-available-cards-in-your-payment-form) provided an encrypted BIN number. Now, the `onBinValue` callback provides the actual BIN number, no matter how the card number is filled in.

  ### Updating

  ### Tab: EU (Default)

  ```html
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.9.0/adyen.js"
       integrity="sha384-3aCAMK3oy4UGDOFOxcOniJ10zapprDSOh8hhrBgZ4wkDiw2bVy6MvABAE8UKvhS5"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.9.0/adyen.css"
      integrity="sha384-ECaUNUNaCM7I7c5adYdR56IIBUZtY3ax03DAYSyGIFls9wP7+6ZyHxlBNzAG5qT7"
      crossorigin="anonymous">
  ```

  ### Tab: AU

  ```html
  <script src="https://checkoutshopper-live-au.adyen.com/checkoutshopper/sdk/3.9.0/adyen.js"
       integrity="sha384-MamFtQizCzBwHcQbXmqPhemfVrHNPAUkPU7cIpvJvI5/GQu6kK6Wei+Xa+BexlE0"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live-au.adyen.com/checkoutshopper/sdk/3.9.0/adyen.css"
      integrity="sha384-ECaUNUNaCM7I7c5adYdR56IIBUZtY3ax03DAYSyGIFls9wP7+6ZyHxlBNzAG5qT7"
      crossorigin="anonymous">
  ```

  ### Tab: US

  ```html
  <script src="https://checkoutshopper-live-us.adyen.com/checkoutshopper/sdk/3.9.0/adyen.js"
       integrity="sha384-dfSN6xmBP4tpAvYbC72stxZV//+kj14AmeeuFH550sCkuPtm/stqh18jKi5hvCeR"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live-us.adyen.com/checkoutshopper/sdk/3.9.0/adyen.css"
      integrity="sha384-ECaUNUNaCM7I7c5adYdR56IIBUZtY3ax03DAYSyGIFls9wP7+6ZyHxlBNzAG5qT7"
      crossorigin="anonymous">
  ```

  ## 2020-05-28 — Checkout API

  ### Fixed

  * `onBinValue` now works when a card number is pasted into the field. For more information, see [Web Components 3.9.0](/online-payments/release-notes?integration_type=web\&version=3.9.0).

  ## 2020-05-21 — Checkout API

  ### Improved

  * We improved the [`/paymentMethods`](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/post/paymentMethods) response when getting a list of available payment methods in Sweden. This means that if you are using Drop-in or Components and send a [`/paymentMethods`](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/post/paymentMethods) request with `countryCode`: **SE**, you'll see the following UI improvements in line with [Swedish regulations](/online-payments/lagen-om-betaltjanster).

    * The payment method title has been changed to *Card*.
    * From API version v49 and later: If you support Maestro, the icon for Maestro is shown first.

  ## 2020-05-21 — Pay by Link

  ### Fixed

  * We fixed an issue where a non-reusable payment link can be used to pay multiple times when using Internet Explorer. To fix this issue, we added a no-cache header to the Pay by Link request.

  ## 2020-05-14 — Checkout API

  ### Improved

  * If a [Klarna](/payment-methods/klarna) payment request is missing invoice lines, you will now receive the following error message: **No InvoiceLines provided**.

  ## 2020-05-11 — Web Components/Drop-in — Version 3.8.1

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### Updating

  ### Tab: EU (Default)

  ```html
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.8.1/adyen.js"
       integrity="sha384-pLfJ6XKllmblOK86IVevGarh2cfeBr6lWAEkumlMA3hgTqKpEgNn8ID7zq4HsC6H"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.8.1/adyen.css"
      integrity="sha384-y1lKqffK5z+ENzddmGIfP3bcMRobxkjDt/9lyPAvV9H3JXbJYxCSD6L8TdyRMCGM"
      crossorigin="anonymous">
  ```

  ### Tab: AU

  ```html
  <script src="https://checkoutshopper-live-au.adyen.com/checkoutshopper/sdk/3.8.1/adyen.js"
       integrity="sha384-GKk31uVf6pZX/zpl+otZYXfqKTC2BU0h3mhi39xZF6cLY6NLM8xA6CpthEt3FT7u"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live-au.adyen.com/checkoutshopper/sdk/3.8.1/adyen.css"
      integrity="sha384-y1lKqffK5z+ENzddmGIfP3bcMRobxkjDt/9lyPAvV9H3JXbJYxCSD6L8TdyRMCGM"
      crossorigin="anonymous">
  ```

  ### Tab: US

  ```html
  <script src="https://checkoutshopper-live-us.adyen.com/checkoutshopper/sdk/3.8.0/adyen.js"
       integrity="sha384-5Xksm+UzQiQdrkdijc+3tQseeCieGAjaN6bElDcYfsXxIyYYXojsiMClLPDOiW1c"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live-us.adyen.com/checkoutshopper/sdk/3.8.1/adyen.css"
      integrity="sha384-y1lKqffK5z+ENzddmGIfP3bcMRobxkjDt/9lyPAvV9H3JXbJYxCSD6L8TdyRMCGM"
      crossorigin="anonymous">
  ```

  ### Improved

  * Masking on date inputs is now supported on browsers that do not have native support for date inputs (such as Safari and Internet Explorer).
  * Age validation is now supported in the `Date of birth` field on the [Oney3x4x](/payment-methods/oney) Component.
  * [Installment options for credit cards](/payment-methods/cards/web-component#optional-configuration) are now hidden when the `amount` is set to **0**.

  ### Fixed

  * Resolved a [Google Pay](/payment-methods/google-pay) issue where double-clicking the Google Pay button would initiate two separate payments.
  * Resolved a [Google Pay](/payment-methods/google-pay) issue where Drop-in would, in some cases, open up a new payment sheet when selecting **Continue** on the Google Pay sheet.

  ## 2020-05-07 — Checkout API

  ### Fixed

  * Optional shopper information sent in an Oxxo payment request will now show up in the **Offers** tab in your Customer Area.

  ## 2020-05-05 — Android Components/Drop-in — Version 3.6.6

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/release-notes/#releaseNote=2025-08-19-android-componentsdrop-in-5.14.0">upgrade to v5.14.0\</a> or later.\</p>*

  ### New

  * We added a **Common issues** section on the GitHub [README](https://github.com/Adyen/adyen-android/blob/master/README.md#common-issues).
  * The new `action` type `sdk` replaces the `action` type `wechatpaySDK`.

  ### Fixed

  The WeChatPay Component now correctly triggers the observer automatically.

  ## 2020-04-30 — Pay by Link

  ### New

  * New supported payment methods: Buy now, pay later payment methods such as [Klarna](/payment-methods/klarna) and [Zip](/payment-methods/zip).
  * [Credit card installments](/payment-methods/cards/credit-card-installments)
  * When using Adyen for Platforms, you can now add [split instructions](/classic-platforms/processing-payments#providing-split-instructions) to payment links.

  ### Improved

  * The redirect URL for [Oney 3x4x](/payment-methods/oney) payments has been shortened.

  ## 2020-04-30 — Checkout API

  ### Improved

  * We improved the reliability of 3D Secure 1 authentications after partial payments with [gift cards](/payment-methods/gift-cards).

  ## 2020-04-30 — Android Components/Drop-in — Version 3.6.5

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/release-notes/#releaseNote=2025-08-19-android-componentsdrop-in-5.14.0">upgrade to v5.14.0\</a> or later.\</p>*

  ### New

  The 3D Secure 2 SDK was updated to version `2.1.0-rc08`.

  ### Improved

  * Whenever `CardView` is present, we add a `FLAG_SECURE` to the window.
  * We now accept dates up to 30 years in the future when we validate card data.

  ### Fixed

  * We adressed a localization issue and now use `LocaleUtil.fromLanguageTag()` to parse user locale.
  * Fixed a typo in CUP regex validation.

  ## 2020-04-27 — Web Components/Drop-in — Version 3.8.0

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### New

  * [Credit card installments](/payment-methods/cards/credit-card-installments) are now supported on the [Card Component](/payment-methods/cards/web-component) and [Drop-in](/payment-methods/cards/web-drop-in).

  ### Improved

  * `allowCreditCards` configuration is now available on the [Google Pay Component](/payment-methods/google-pay/web-component#configure) and [Drop-in](/payment-methods/google-pay/web-drop-in#configure).
  * The PayU NetBanking Component and the PayU CashCard Component now provide drop-down issuer lists.

  ### Updating

  ### Tab: EU (Default)

  ```html
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.8.0/adyen.js"
       integrity="sha384-rwJ33r9d5uXn5L8KSr4UqcaSaAHs2NQNjtNCvclBkZ8P36yDAXQq65YPX+q1LiEr"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.8.0/adyen.css"
      integrity="sha384-y1lKqffK5z+ENzddmGIfP3bcMRobxkjDt/9lyPAvV9H3JXbJYxCSD6L8TdyRMCGM"
      crossorigin="anonymous">
  ```

  ### Tab: AU

  ```html
  <script src="https://checkoutshopper-live-au.adyen.com/checkoutshopper/sdk/3.8.0/adyen.js"
       integrity="sha384-avpSB6KxKproYEUN8fw5KPlxIL4XDcAR0Av/cyql9/v0ttzkddTK2XmILq5L1/4/"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live-au.adyen.com/checkoutshopper/sdk/3.8.0/adyen.css"
      integrity="sha384-y1lKqffK5z+ENzddmGIfP3bcMRobxkjDt/9lyPAvV9H3JXbJYxCSD6L8TdyRMCGM"
      crossorigin="anonymous">
  ```

  ### Tab: US

  ```html
  <script src="https://checkoutshopper-live-us.adyen.com/checkoutshopper/sdk/3.8.0/adyen.js"
       integrity="sha384-PMZ9/6gZBDAjIgGNH+Q0ZjeAdGmxGD0Qq7mBJQgU68dx7ps5w2Jei4pys6dsinzw"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live-us.adyen.com/checkoutshopper/sdk/3.8.0/adyen.css"
      integrity="sha384-y1lKqffK5z+ENzddmGIfP3bcMRobxkjDt/9lyPAvV9H3JXbJYxCSD6L8TdyRMCGM"
      crossorigin="anonymous">
  ```

  ## 2020-04-23 — Pay by Link

  ### Changed

  * The `countryCode` is no longer a required parameter for the [`/paymentLinks`](https://docs.adyen.com/api-explorer/#/CheckoutService/paymentLinks) request.

  ### Fixed

  * The shopper can no longer make multiple payments when a single-use payment link is open in multiple tabs.

  ## 2020-04-23 — Checkout API

  ### Fixed

  * We fixed an issue where the 3D Secure 2 flow could break when receiving an unsupported `screen.colorDepth` value on Google Chrome v83 or v84.
  * We fixed an issue where `metadata` was not being sent back in the webhook event.

  ## 2020-04-20 — Web Components/Drop-in — Version 3.7.0

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### Changed

  * Drop-in/Components no longer support the native Klarna integration. Klarna is now only supported through the [redirect integration](/payment-methods/klarna).

  ### New

  * New supported payment methods: [Oney 3x4x](/payment-methods/oney), [MB WAY](/payment-methods/mb-way), RatePAY.

  ### Improved

  * The Card Component/Drop-in now show a visual hint for the location of the CVC/CVV on the card.
  * We added VPay to the card brands recognized by the Card Component/Drop-in.

  ### Fixed

  * A saved card is no longer breaking if the card type is not recognized.
  * When using Internet Explorer 11, the card number can no longer cause the browser to freeze.

  ### Updating

  ### Tab: EU (Default)

  ```html
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.7.0/adyen.js"
       integrity="sha384-QCQYNjVhSRlEZczHTuiZWQuyFi5btsJ/c2otY6apbNM32EdkEDC6rdlJXeubWs9V"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.7.0/adyen.css"
      integrity="sha384-y1lKqffK5z+ENzddmGIfP3bcMRobxkjDt/9lyPAvV9H3JXbJYxCSD6L8TdyRMCGM"
      crossorigin="anonymous">
  ```

  ### Tab: AU

  ```html
  <script src="https://checkoutshopper-live-au.adyen.com/checkoutshopper/sdk/3.7.0/adyen.js"
       integrity="sha384-dmFHS6I2HZMmYiSaymClZP/xAC6sJmo87EjNSSnClpcRNURXdc8s/KslDT/sMm9w"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live-au.adyen.com/checkoutshopper/sdk/3.7.0/adyen.css"
      integrity="sha384-y1lKqffK5z+ENzddmGIfP3bcMRobxkjDt/9lyPAvV9H3JXbJYxCSD6L8TdyRMCGM"
      crossorigin="anonymous">
  ```

  ### Tab: US

  ```html
  <script src="https://checkoutshopper-live-us.adyen.com/checkoutshopper/sdk/3.7.0/adyen.js"
       integrity="sha384-khW7tO7ch8grNxkgbXH3E0mnBIA64klXz5jSAiyyR5YCGbbB9uJYXeq9bFPqcexj"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live-us.adyen.com/checkoutshopper/sdk/3.7.0/adyen.css"
      integrity="sha384-y1lKqffK5z+ENzddmGIfP3bcMRobxkjDt/9lyPAvV9H3JXbJYxCSD6L8TdyRMCGM"
      crossorigin="anonymous">
  ```

  ## 2020-04-16 — iOS Components/Drop-in — Version 3.5.0

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/release-notes/#releaseNote=2025-08-27-ios-componentsdrop-in-5.20.0">upgrade to v5.20.0\</a> or later.\</p>*

  If you use [Xcode 15](https://developer.apple.com/xcode/), use [v4.11.1](/online-payments/release-notes?integration_type=ios\&version=4.11.1) or later for compatibility.

  ### New

  * The `browserInfo` is now included in the `PaymentComponentData` returned by Drop-in/Component.
  * We added UI customization options to the preselected payment screen rendered by Drop-in.
  * Inline validation for text entry is now supported for the Card Component, the SEPA Direct Debit Component, and others.

  ### Fixed

  * The Redirect Component can now deal with a native app redirect.
  * We fixed an issue where the Apple Pay Component would freeze in the payment screen rendered by Drop-in.
  * We fixed an issue where the keyboard would cover the UI.

  ## 2020-04-13 — Web Components/Drop-in — Version 3.6.3

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### New

  Added support for the [Gift Card Component](/payment-methods/gift-cards).

  ### Fixed

  * We fixed an issue where the [Custom Card Component](/payment-methods/cards/custom-card-integration) would not auto-complete the date when using separate date fields.
  * We fixed an issue where Elo and Hipercard cards were not validating correctly in the [Card](/payment-methods/cards) and [Custom Card](/payment-methods/cards/custom-card-integration) Components.

  ### Updating

  ### Tab: EU (Default)

  ```html
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.6.3/adyen.js"
       integrity="sha384-sW7LTx7Q+1PgLUEUyxTGnmFsfMuZHDpIoIz2Tds1KroBZiT29OnTXZmV+nGhRxvO"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.6.3/adyen.css"
      integrity="sha384-l5/gSrWMFWCKnEqoG1F21fvhDesLnZt/JlXjkA0FWp6E68Pc/9mxg+nPvvx+uB4G"
      crossorigin="anonymous">
  ```

  ### Tab: AU

  ```html
  <script src="https://checkoutshopper-live-au.adyen.com/checkoutshopper/sdk/3.6.3/adyen.js"
       integrity="sha384-wfN/7ToQRb5uKdjj6pIhP+/MAE7pIlzvHKphIvCXELe5ryrAm9Qh3BlQy043cxYb"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live-au.adyen.com/checkoutshopper/sdk/3.6.3/adyen.css"
      integrity="sha384-l5/gSrWMFWCKnEqoG1F21fvhDesLnZt/JlXjkA0FWp6E68Pc/9mxg+nPvvx+uB4G"
      crossorigin="anonymous">
  ```

  ### Tab: US

  ```html
  <script src="https://checkoutshopper-live-us.adyen.com/checkoutshopper/sdk/3.6.3/adyen.js"
       integrity="sha384-G/ItUIfwMkQTr3YJik0FOw6w70+nTukM2/Ko6SimPnNJJN/+HH7gfgp5mBdM/zwY"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live-us.adyen.com/checkoutshopper/sdk/3.6.3/adyen.css"
      integrity="sha384-l5/gSrWMFWCKnEqoG1F21fvhDesLnZt/JlXjkA0FWp6E68Pc/9mxg+nPvvx+uB4G"
      crossorigin="anonymous">
  ```

  ## 2020-04-09 — Checkout API

  ### Fixed

  Before this version, the `/paymentMethods` response would return **wechatpayMiniProgram** and **wechatpaySDK** if `channel`:**Web**. These payment methods are now only when `channel`:**Android** or `channel`:**iOS**.

  ## 2020-04-03 — iOS Components/Drop-in — Version 3.4.1

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/release-notes/#releaseNote=2025-08-27-ios-componentsdrop-in-5.20.0">upgrade to v5.20.0\</a> or later.\</p>*

  If you use [Xcode 15](https://developer.apple.com/xcode/), use [v4.11.1](/online-payments/release-notes?integration_type=ios\&version=4.11.1) or later for compatibility.

  ### Fixed

  The `CardSecurityCodeValidator` and `CardSecurityCodeFormatter` are now public.

  ## 2020-04-02 — Pay by Link

  ### New

  * By default, payment links can now only be used to make one successful payment. To create a reusable link, you can override the default behavior when creating the payment link.
  * You can now view previously created payment links in a dashboard in your Customer Area (only for payment links created through the Customer Area).
  * You'll receive an email when a payment link has successfully been paid for (only for payment links created through the Customer Area).

  ### Improved

  The payment link URL has been shortened.

  ### Fixed

  We fixed an issue that didn't allow creating payment links if you only had one store ID under your merchant account.

  ## 2020-04-01 — iOS Components/Drop-in — Version 3.4.0

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/release-notes/#releaseNote=2025-08-27-ios-componentsdrop-in-5.20.0">upgrade to v5.20.0\</a> or later.\</p>*

  If you use [Xcode 15](https://developer.apple.com/xcode/), use [v4.11.1](/online-payments/release-notes?integration_type=ios\&version=4.11.1) or later for compatibility.

  ### New

  * New supported payment methods: [WeChat Pay](/payment-methods/wechat-pay/wechat-pay-in-app-payments/ios), Qiwi wallet
  * Drop-in has a new, half-screen presentation style.
  * The Card Component shows a visual hint for the location of the CVC/CVV on the card.
  * Support for website cross-origin isolation using [COOP and COEP](https://web.dev/coop-coep).

  ### Improved

  * Drop-in shows the first available stored payment method prominently.
  * We improved the card brand recognition by the Card Component.
  * `PaymentMethodDetails` now allows encoding without access to the concrete type.
  * You can now use the Apple Pay Component to collect the billing and delivery address of the shopper.

  ### Fixed

  * The Card Component now only allows card expiry dates from 3 months in the past to 15 years in the future.
  * The Card Component no longer crashes when receiving non-numerical input.

  ## 2020-03-30 — Web Components/Drop-in — Version 3.6.2

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### New

  Added a new Component for making donations, using [Adyen Giving](/online-payments/donations).

  ### Fixed

  * We fixed an issue where the [Custom Card Component](/payment-methods/cards/custom-card-integration) would throw an error if no `onError` event was set.
  * We fixed an issue where the [Custom Card Component](/payment-methods/cards/custom-card-integration) would return an invalid object in the `onError` callback.

  ### Updating

  ### Tab: EU (Default)

  ```html
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.6.2/adyen.js"
       integrity="sha384-xSgkLL5lvMeIIIngOV++b3U0H89TafFDytrHgPVydPopZ/WuAw1Ry8xbGeeLMqQM"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.6.2/adyen.css"
      integrity="sha384-l5/gSrWMFWCKnEqoG1F21fvhDesLnZt/JlXjkA0FWp6E68Pc/9mxg+nPvvx+uB4G"
      crossorigin="anonymous">
  ```

  ### Tab: AU

  ```html
  <script src="https://checkoutshopper-live-au.adyen.com/checkoutshopper/sdk/3.6.2/adyen.js"
       integrity="sha384-2Lbe3G3To2KqowDPbZC10oR1HlKgtr39nwYlyFuAoSi443hYATW+sNVbbKlF/nsV"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live-au.adyen.com/checkoutshopper/sdk/3.6.2/adyen.css"
      integrity="sha384-l5/gSrWMFWCKnEqoG1F21fvhDesLnZt/JlXjkA0FWp6E68Pc/9mxg+nPvvx+uB4G"
      crossorigin="anonymous">
  ```

  ### Tab: US

  ```html
  <script src="https://checkoutshopper-live-us.adyen.com/checkoutshopper/sdk/3.6.2/adyen.js"
       integrity="sha384-zDXlTt+ilW6/gz/vxsrqiriqZl70HJ16/24BMPbk0wlRzqGihyWQSmESdS6pG0u2"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live-us.adyen.com/checkoutshopper/sdk/3.6.2/adyen.css"
      integrity="sha384-l5/gSrWMFWCKnEqoG1F21fvhDesLnZt/JlXjkA0FWp6E68Pc/9mxg+nPvvx+uB4G"
      crossorigin="anonymous">
  ```

  ## 2020-03-23 — Checkout API

  ### New

  To force a card transaction to use a debit funding source, you can now include in the `/payments` request: `paymentMethod.fundingSource`: **debit** .

  ### Fixed

  * The `/paymentMethods` response now returns [ACH](/payment-methods/ach-direct-debit) also when the request includes `amount.value`: **0**.
  * The `deviceFingerprint` is now correctly propagated for all payment methods.

  ## 2020-03-16 — Web Components/Drop-in — Version 3.6.1

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### Fixed

  * We fixed a [Custom Card Component](/payment-methods/cards/custom-card-integration) compatibility issue on IE11.
  * In [Boleto Bancário](/payment-methods/boleto-bancario), the **CPF/CNPJ** field is now properly validated.

  ### Updating

  ### Tab: EU (Default)

  ```html
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.6.1/adyen.js"
       integrity="sha384-hUb/CFxzLJZWUbDBmQfccbVjE3LFxAx3Wt4O37edYVLZmNhcmVUyYLgn6kWk3Hz+"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.6.1/adyen.css"
      integrity="sha384-l5/gSrWMFWCKnEqoG1F21fvhDesLnZt/JlXjkA0FWp6E68Pc/9mxg+nPvvx+uB4G"
      crossorigin="anonymous">
  ```

  ### Tab: AU

  ```html
  <script src="https://checkoutshopper-live-au.adyen.com/checkoutshopper/sdk/3.6.1/adyen.js"
       integrity="sha384-gLmJG+Hjd3tXlmzRLtQUyGoA+NUHPfyKtI10wFBpziEfcqmxPvOcdxjlRIsIJ9AS"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live-au.adyen.com/checkoutshopper/sdk/3.6.1/adyen.css"
      integrity="sha384-l5/gSrWMFWCKnEqoG1F21fvhDesLnZt/JlXjkA0FWp6E68Pc/9mxg+nPvvx+uB4G"
      crossorigin="anonymous">
  ```

  ### Tab: US

  ```html
  <script src="https://checkoutshopper-live-us.adyen.com/checkoutshopper/sdk/3.6.1/adyen.js"
       integrity="sha384-DbrjhtreSI+nsVLOMcdt7D0dAXX7DZtR8UbvbdiLodrRvASh6x5NfHN2nYJbiXag"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live-us.adyen.com/checkoutshopper/sdk/3.6.1/adyen.css"
      integrity="sha384-l5/gSrWMFWCKnEqoG1F21fvhDesLnZt/JlXjkA0FWp6E68Pc/9mxg+nPvvx+uB4G"
      crossorigin="anonymous">
  ```

  ## 2020-03-12 — Checkout API

  ### Improved

  When [updating stored payment details](/online-payments/tokenization/managing-tokens#update-stored-details), you can now send in an unencrypted expiration date.

  ## 2020-03-05 — Pay by Link

  ### New

  Stored payment methods are now available for payment links created through the API.

  ## 2020-03-02 — Web Components/Drop-in — Version 3.6.0

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### New

  * New supported payment method: Automated Clearing House (ACH). We also support sending in encrypted ACH details.
  * Added support for `handleAction` in Components integrations.

  ### Fixed

  * The [Custom Card Component](/payment-methods/cards/custom-card-integration) now supports `brands` configuration.
  * We fixed an issue with card holder name validation when auto-completing card details in Chrome.

  ### Updating

  ### Tab: EU (Default)

  ```html
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.6.0/adyen.js"
       integrity="sha384-Ae3bpVd/uyREJxla2lRiuEXoYQA/WReCh/h1+sek9TFeq6iwAVBu9tDyMJNzpZHc"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.6.0/adyen.css"
      integrity="sha384-NzXIrom1g7+1OMBJWAyapJ4yYXLFHdsE1ZxOVstMQVwURFl3RXldhYENYkBaBjL8"
      crossorigin="anonymous">
  ```

  ### Tab: AU

  ```html
  <script src="https://checkoutshopper-live-au.adyen.com/checkoutshopper/sdk/3.6.0/adyen.js"
       integrity="sha384-APh+Fm6NjzwYOOj1X4AY97qq6TWGJK3sZ/w/Rtzk7TZcU+4iuCsYyAPbX0RpJdPL"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live-au.adyen.com/checkoutshopper/sdk/3.6.0/adyen.css"
      integrity="sha384-NzXIrom1g7+1OMBJWAyapJ4yYXLFHdsE1ZxOVstMQVwURFl3RXldhYENYkBaBjL8"
      crossorigin="anonymous">
  ```

  ### Tab: US

  ```html
  <script src="https://checkoutshopper-live-us.adyen.com/checkoutshopper/sdk/3.6.0/adyen.js"
       integrity="sha384-f3icCu8UAhXshOTLd+UwVjt926hDlsiQ+MfIZLMB1eWCpEYxjpw9DlRlG2+wQhvt"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live-us.adyen.com/checkoutshopper/sdk/3.6.0/adyen.css"
      integrity="sha384-NzXIrom1g7+1OMBJWAyapJ4yYXLFHdsE1ZxOVstMQVwURFl3RXldhYENYkBaBjL8"
      crossorigin="anonymous">
  ```

  ## 2020-02-21 — Android Components/Drop-in — Version 3.6.4

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/release-notes/#releaseNote=2025-08-19-android-componentsdrop-in-5.14.0">upgrade to v5.14.0\</a> or later.\</p>*

  ### New

  The 3D Secure 2 SDK was updated to version `2.1.0-rc07`.

  ### Fixed

  We removed a warning about string formatting that you might have seen when compiling the app.

  ## 2020-02-11 — Android Components/Drop-in — Version 3.6.3

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/release-notes/#releaseNote=2025-08-19-android-componentsdrop-in-5.14.0">upgrade to v5.14.0\</a> or later.\</p>*

  ### New

  Drop-in/Components will now forcefully try to get localized strings from the `ShopperLocale` set in the configuration object.

  ### Improved

  If you don't provide a custom array of supported card brands in the `cardConfiguration` object, CardComponent initialization will now get it from the `PaymentMethod` object, instead of using the default values as before.

  ### Fixed

  * We fixed an issue with 19 digit card numbers.
  * We added missing translated strings.
  * We fixed a synchronization issue that could trigger an OOB exception in `CardType` detection.
  * We added proper return type for some Configuration Builder methods.

  ## 2020-01-27 — Web Components/Drop-in — Version 3.5.0

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/upgrade-your-integration/migrate-to-web-v6/from-v3">upgrade to v6.0.0\</a> or later.\</p>*

  ### New

  * Support for Subresource Integrity (SRI) hashes

    You can now use [SRI hashes](https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity) to ensure that the files you are loading from Adyen have not been manipulated or tampered with by malicious actors.

    To use the SRI hash, you need to add an `integrity` attribute when specifying `<script>` or `<link>` elements. Browsers will also check for the `crossorigin` attribute to ensure that the origin allows [Cross-Origin Resource Sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS). If a browser detects that the file's hash does not match the specified hash, the browser will not load the resource. To know which browsers support SRI, refer to this [browser compatibility list](https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity#Browser_compatibility).

    For example, here is how you specify version 3.5.0 `adyen.js` and `adyen.css` resources:

    ```html
    <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.5.0/adyen.js"
       integrity="sha384-MpcW2OFcC1/y5nwF6UmvRfDXGISpg1rowHVybiS+wJObkUwgFpvbdpJxR2/bwmeA"
       crossorigin="anonymous"></script>
    ```

    ```html
    <link rel="stylesheet"
      href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.5.0/adyen.css"
      integrity="sha384-aWycvW8Dygg+6QHTq56FJMi4CJBjQt4LbRO3zWUuyfbv0A8g3rb5FR/vHyHKfiY0"
      crossorigin="anonymous">
    ```

    You can find the SRI hashes for all previous versions of our JavaScript and CSS files added in their corresponding release notes.

  * You can now render billing address fields in Drop-in and Card Component to collect the shopper's billing address for Address Verification System (AVS) implementation.

  * Drop-in and Components for payment methods that support saving payment details for recurring transactions can now show a preauthorization button. Instead of a **Pay** button, the button prompts the shopper to confirm the preauthorization. The preauthorization button is shown when you send a zero value amount (zero-auth transaction).

  ### Improved

  `shippingOptionRequired` and `shippingOptionParameters` configuration are now available on [Google Pay Component](/payment-methods/google-pay/web-component#payment-data) and in [Drop-in](/payment-methods/google-pay/web-drop-in#payment-data).

  ### Fixed

  * The `showPayButton` configuration is now working for [Multibanco Component](/payment-methods/multibanco/web-component).
  * The preselected bank is now shown if you specify an issuer ID in the `issuer` configuration for [iDEAL Component](/payment-methods/ideal/web-component#optional-configuration) and in [Drop-in](/payment-methods/ideal/web-drop-in#optional-configuration).

  ### Updating

  ### Tab: EU (Default)

  ```html
  <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.5.0/adyen.js"
       integrity="sha384-MpcW2OFcC1/y5nwF6UmvRfDXGISpg1rowHVybiS+wJObkUwgFpvbdpJxR2/bwmeA"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/3.5.0/adyen.css"
      integrity="sha384-aWycvW8Dygg+6QHTq56FJMi4CJBjQt4LbRO3zWUuyfbv0A8g3rb5FR/vHyHKfiY0"
      crossorigin="anonymous">
  ```

  ### Tab: AU

  ```html
  <script src="https://checkoutshopper-live-au.adyen.com/checkoutshopper/sdk/3.5.0/adyen.js"
       integrity="sha384-J6S0GtOk/o/tm9TIo+GPlOrDgUnGhQlXELKJIw26p6H7Llnk4g4gloC52yrJADjp"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live-au.adyen.com/checkoutshopper/sdk/3.5.0/adyen.css"
      integrity="sha384-aWycvW8Dygg+6QHTq56FJMi4CJBjQt4LbRO3zWUuyfbv0A8g3rb5FR/vHyHKfiY0"
      crossorigin="anonymous">
  ```

  ### Tab: US

  ```html
  <script src="https://checkoutshopper-live-us.adyen.com/checkoutshopper/sdk/3.5.0/adyen.js"
       integrity="sha384-lJhGzflfCcHgc4UWBHW391LAtgh8rOQTartaIaLoWCS9+n8J41rSpoMlWJhqt3uQ"
       crossorigin="anonymous"></script>

  <link rel="stylesheet"
      href="https://checkoutshopper-live-us.adyen.com/checkoutshopper/sdk/3.5.0/adyen.css"
      integrity="sha384-aWycvW8Dygg+6QHTq56FJMi4CJBjQt4LbRO3zWUuyfbv0A8g3rb5FR/vHyHKfiY0"
      crossorigin="anonymous">
  ```

  ## 2020-01-20 — Android Components/Drop-in — Version 3.6.2

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/release-notes/#releaseNote=2025-08-19-android-componentsdrop-in-5.14.0">upgrade to v5.14.0\</a> or later.\</p>*

  ### Improved

  * We improved the error validation design: invalid shopper input will now be highlighted after the shopper clicks the **Pay** button.
  * ComponentView classes now have `highlightValidationErrors()` method.
  * Drop-in/Components use the correct separation format for American Express.
  * If the shopper cancels the 3D Secure authentication, you will now receive a `Cancelled3DS2Exception`.
  * We added new translation string files for supported locales.

  ## 2020-01-10 — iOS Components/Drop-in — Version 3.3.0

  *\<p>\<div data-component-wrapper="tag"> \<tag :variant=\&quot;warning\&quot;> End-of-Life \</tag> \</div> \<br> This version is \<a href="/online-payments/upgrade-your-integration/#lifecycle">\<strong>End-of-Life\</strong>\</a> since \<strong>October 1, 2025\</strong>. \<br> We recommend that you \<a href="/online-payments/release-notes/#releaseNote=2025-08-27-ios-componentsdrop-in-5.20.0">upgrade to v5.20.0\</a> or later.\</p>*

  If you use [Xcode 15](https://developer.apple.com/xcode/), use [v4.11.1](/online-payments/release-notes?integration_type=ios\&version=4.11.1) or later for compatibility.

  ### New

  * We added options for customizing the Component appearance, for example with fonts and text colors.
  * You can now specify a custom localization key separator.

  ### Fixed

  We fixed an issue where a custom localization table name would apply to default localizations.

  ## 2019-10-29 — Checkout API — Version 52

  ### Changed

  * **POST** [/paymentMethods](https://docs.adyen.com/api-explorer/Checkout/52/post/paymentMethods):

    * For giropay, the response now indicates `bic` as an optional field.
    * In the response, the [brands](https://docs.adyen.com/api-explorer/Checkout/52/post/paymentMethods#responses-200-paymentMethods-brands) array only contains `scheme` payment methods. Previously, tokenized cards, such as Apple Pay, were returned in the same array.

  ### Improved

  * Native payment method (previously supported through Hosted Payment Pages (HPP)): [Swish](/payment-methods/swish). Payment method [type](/payment-methods/payment-method-types): **swish**.

  ## 2019-08-16 — Checkout API — Version 50

  ### Improved

  * **POST** [/payments](https://docs.adyen.com/api-explorer/Checkout/50/post/payments):
    * For [Multibanco](/payment-methods/multibanco), the response now contains the `action` object for `type`:**voucher**. You can use the information in the `action` object to [present the voucher](/payment-methods/multibanco/api-only/#additional) to the shopper.

  ## 2019-05-14 — Checkout API — Version 49

  ### New

  * **POST** [/payments](https://docs.adyen.com/api-explorer/Checkout/49/post/payments):
    * The response now contains an [`action`](https://docs.adyen.com/api-explorer/Checkout/49/post/payments#responses-200-action) object that indicates the action to be taken for completing the payment.
  * **POST** [/payments/details](https://docs.adyen.com/api-explorer/Checkout/49/post/payments/details):
    * The response now contains the [`merchantReference`](https://docs.adyen.com/api-explorer/Checkout/49/post/payments/details#responses-200-merchantReference) field. This is the reference you passed in the [/payments](https://docs.adyen.com/api-explorer/Checkout/49/post/payments) request.

  ### Changed

  * **POST** [/payments](https://docs.adyen.com/api-explorer/Checkout/49/post/payments):
    * [storePaymentMethod](https://docs.adyen.com/api-explorer/Checkout/49/post/payments#request-storePaymentMethod) replaces `enableOneClick` and `enableRecurring`.

  ### Improved

  * Native payment method (previously supported through Hosted Payment Pages (HPP)): [Oxxo](/payment-methods/oxxo). Payment method [type](/payment-methods/payment-method-types): **oxxo**.

  ## 2019-02-18 — Checkout API — Version 46

  ### Improved

  * Native payment methods (previously supported through Hosted Payment Pages (HPP)):

    * [Gift cards](/payment-methods/gift-cards).
    * [Oney](/payment-methods/oney). Payment method [type](/payment-methods/payment-method-types): **facilypay**.

  ## 2019-02-14 — Checkout API — Version 41

  ### Changed

  * **POST** [/paymentMethods](https://docs.adyen.com/api-explorer/Checkout/41/post/paymentMethods):
    * For giropay, the [Business Identifier Code (BIC)](https://en.wikipedia.org/wiki/ISO_9362) key is now returned in `bic` instead of `giropay.bic`.

  ### Improved

  * Native payment methods (previously supported through Hosted Payment Pages (HPP)):

    * [Boleto Bancário](/payment-methods/boleto-bancario/). Payment method [type](/payment-methods/payment-method-types): **boleto**.
    * DOKU. Payment method [type](/payment-methods/payment-method-types): **doku**.
    * Dragonpay. Payment method [type](/payment-methods/payment-method-types): **dragonpay**.
    * [eContext](/payment-methods/econtext-konbini/). Payment method [types](/payment-methods/payment-method-types): **econtext\_atm**, **econtext-stores**, **econtext\_seven\_eleven**, **econtext\_online**.
    * [Ratepay](/payment-methods/ratepay/). Payment method [type](/payment-methods/payment-method-types): **ratepay**.

  ### New

  * For [WeChatPay](/payment-methods/wechat-pay/), support for payment method [type](/payment-methods/payment-method-types): **wechatpayMiniProgram**.
  * For payment methods that require you to present a voucher to the shopper, the response now includes [resultCode](https://docs.adyen.com/api-explorer/Checkout/41/post/payments#responses-200-resultCode):**presentToShopper**.

  ## 2018-06-27 — Checkout API — Version 40

  ### New

  * Payment methods:

    * [Bancontact](/payment-methods/bancontact):

      * [Bancontact card](/payment-methods/bancontact/bancontact-card): the shopper pays using a card. Payment method [type](/payment-methods/payment-method-types): **bcmc**.
      * [Bancontact mobile](/payment-methods/bancontact/bancontact-card): the shopper pays using a bank app that supports Bancontact mobile. Payment method [type](/payment-methods/payment-method-types): **bcmc\_mobile**.

    * [MoMo](/payment-methods/momo-wallet):

      * [MoMo website](/payment-methods/momo-wallet/?tab=website_1): the shopper pays using a desktop browser. Payment method [type](/payment-methods/payment-method-types): **momo\_wallet**.
      * [MoMo app](/payment-methods/momo-wallet/?tab=mobile_app_2): the shopper pays using a mobile app. Payment method [type](/payment-methods/payment-method-types): **momo\_wallet\_app**.

  * **POST** [/paymentMethods](https://docs.adyen.com/api-explorer/Checkout/40/post/paymentMethods):

    * The response now contains the [`groups`](https://docs.adyen.com/api-explorer/Checkout/40/post/paymentMethods#responses-200-groups) object, which is an array of payment methods that will be recognized.
    * For payment methods that support [recurring payments](/online-payments/tokenization), the response now includes [`supportsRecurring`](https://docs.adyen.com/api-explorer/Checkout/40/post/paymentMethods#responses-200-paymentMethods-supportsRecurring):**true**.

  ### Removed

  * For payments with wallet tokens, you no longer need to include to `additionalData` prefix in the [additionalData](https://docs.adyen.com/api-explorer/Checkout/40/post/payments#request-additionalData) object. For example, instead of `additionalData.paywithgoogle.token`, use `paywithgoogle.token`.

  ## 2018-02-23 — Checkout API — Version 37

  ### New

  * New payment method [types](/payment-methods/payment-method-types) for [WeChatPay](/payment-methods/wechat-pay/): **wechatpaySDK**, **wechatpayQR**, **wechatpayWeb**.

  ### Changed

  * **POST** `/payments`:

    * For iDEAL, `paymentMethod.issuer` replaces `paymentMethod.idealIssuer`.
    * In the response, `details.payload` replaces `returnUrlQueryString`.
