Releases: Adyen/adyen-ios
4.4.0
Important
This release is not compatible with Xcode 15
Please consider updating to 4.11.1 or newer
New
- You can now pre-fill shopper information for card payments. You can pre-fill the cardholder name, billing address, postal code and social security number, by injecting it when creating the component.
- For dual-branded cards issued in Europe, the Card Component now renders both brands, and allows the cardholder to choose the brand they want to pay with.
- On Drop-in, you can now allow shoppers to remove stored cards. Implement
StoredPaymentMethodsDelegate
and set
DropInComponent.Configuration.paymentMethodsList.allowDisablingStoredPaymentMethods
totrue
. - For the Card Component UI, once the card brand is detected, the supported card brand logos become more transparent to make them less prominent.
Fixed
- Shoppers can no longer enter invalid characters in the checkout form.
- Fixed an issue with the Drop-in slide-in animation.
3.9.0
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..
- The
CardDetails
object now contains the version of the 3D Secure SDK inthreeDS2SDKVersion
.
4.3.0
Important
This release is not compatible with Xcode 15
Please consider updating to 4.11.1 or newer
New
- Doku, Affirm, MB WAY and Japanese convenience store payments now support pre-filling the shopper information in the payment form. You can pre-fill shopper information by injecting it when creating the component.
- Added translations for the warning text the shopper sees when they enter a card brand you don't support.
- For shoppers who don't 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.
Improvements
- The Boleto Component now allows shoppers to edit the pre-filled billing address.
Fixes
- Fixed an issue with form views freezing when updating the layout.
3.8.6
4.2.0
Important
This release is not compatible with Xcode 15
Please consider updating to 4.11.1 or newer
New
- New supported payment method: Multibanco.
- The Card Component now allows you to accept credit card payments in installments using InstallmentConfiguration.
- 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) with RSA OAEP 256 and AES CBC 256 with HMAC SHA 512. You don't need to make any changes to your integration.
- The Card Component now shows an error message to the shopper if the card brand they're 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.
4.1.0
Important
This release is not compatible with Xcode 15
Please consider updating to 4.11.1 or newer
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:).
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's 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 for the demo projects.
- Updated the 3D Secure SDK to v2.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 entered a value again.
- Single digit house numbers no longer fail validation.
4.0.0
Important
This release is not compatible with Xcode 15
Please consider updating to 4.11.1 or newer
Improved
- Improves forms to show system auto completion suggestions.
New
- Adds Arabic as a supported language.
- Adds support for RTL layout.
- Adds native support for gift card payments through
GiftCardComponent
. - Adds support for partial payments through the
GiftCardComponent
. - Adds support for Boleto payment method through the
BoletoComponent
. - Adds support for pre filling forms using
DropInComponent.Configuration.shopper
of typePrefilledShopperInformation
. - Adds
didOpenExternalApplication(component:)
call back toDropInComponentDelegate
to notify you about redirects to an external app. - Adds
cardComponentDelegate
property toDropInComponent
. - For certain card types, the CVC field will be marked as optional. The CardComponent performs a BIN lookup call which uses the card number to try and identify the corresponding card type and whether the CVC is required or not.
Fixed
- Fixes a bug where
browserinfo
wasn't properly added to thePaymentComponentData
object. - Fixes a bug in how redirect component parses the redirect query parameters.
Changed
- Combines
clientKey
andenvironment
intoAPIContext
that needs to be injected into every component. - Renames
PaymentMethodsConfiguration
toDropInComponent.Configuration
. - Renames
CardConfiguration
toCardComponent.Configuration
. - Renames
ApplePayConfiguration
toAppleComponent.Configuration
. - Groupes all action components' styles into
ActionComponentStyle
.
3.8.5
Features
- Improves Diners card detection in card component.
- Adds postal code field to card component.
Fixes
- The BCMC component no longer shows the additional large title with the component's name on Drop-In.
- Drop-In now shows Apple Pay button according to Apple's Human Interface Guidelines
4.0.0-beta.2
- Adds Seven Eleven Component.
- Adds EContext Stores component.
- Adds EContext ATM component.
- Adds EContext Online component.
- Adds PIX payment method support and QRCodeComponent to handle QR code based actions like PIX.
- Adds some security measures to prevent leaking sensitive API keys when url responses are cached.
- Sets minimum TLS version to 1.2.
- Fixes a bug where forms were not properly scrollable when the form is not fully visible on screen.
- Renamed
AdyenActionComponent.perform()
tohandle()
for consistency with other action components. - Adds delivery/shipping address to card component.
- Uses a squircle curve by default for rounding corners.
- Changes Apple Pay token to be a base64 string rather than a plain JSON text (please refer to the MIGRATION.md).
- Improves Diners' cards detection in card component.
- Improves how Apple Pay is presented in DropIn in accordance with Apple Store guidelines.
- Fixes a bug with
ThreeDS2Component
specially for checkout API versions equal or above 67, specifically with the 3DS1 fallback flow.
4.0.0-beta.1
Minimum API version
We recommend you use Checkout API v67.
Backwards compatibility with earlier API versions is not fully tested - we would appreciate your feedback :)
Breaking changes
-
Makes
clientKey
required onPaymentMethodsConfiguration
. -
Removed
cancelHandler
from theapplePay
component. -
Drops support for iOS 10.0.
-
Made
paymentData
optional inRedirectAction
,ActionComponentData
andRedirectComponent
. -
RedirectComponent
requirespresentationDelegate
to present its UI. -
Adds a
PaymentMethod
object toDropInDelegate.didSubmit
, so you can identify which payment method is being submitted. -
Removed deprecated classes, functions, properties.
-
Renamed
DropInActionComponent
toAdyenActionComponent
and moved it to theAdyenActions
module. -
Refactored the SDK into a new module structure:
-
AdyenComponents
contains any payment component, for example QiwiWalletComponent, MBWayComponent, ApplePayComponent, and BLIKComponent. -
AdyenCard
contains any card payment related components, for example CardComponent, StoredCardComponent, and BCMCComponent. -
AdyenActions
contains all action components, for example AwaitComponent, VoucherComponent, and RedirectComponent. -
AdyenEncryption
contains the encryption helpers. -
AdyenSwiftUI
contains SwiftUI related integration helpers, for exampleViewControllerPresenter
,ViewModifier
. -
AdyenDropIn
containsDropInComponent
. -
AdyenWeChatPay
contains the WeChat Pay component.
New
- The
ThreeDS2Component
supports the new 3D Secure flow from Checkout API v67. The old flow is still supported if you’re using an API version earlier than v67. DokuComponent
adds support for Indonesian bank transfers and cash payments at convenience stores through Doku Wallet, Doku Alfamart, and Doku Indomaret.VoucherComponent
handles actions for voucher payment flows, for example Doku Alfamart.- Adds support for stored payment details for BLIK.
- You can configure button border color and width using
ButtonStyle
.
Improvements
- Removed hard dependency on Checkout API versions pre 67.
- Allow the title for
DropIn
to be centered. - Allow custom image for the cancel button.
- Get Apple Pay supported networks from
/paymentMethods
response, and removeApplePayConfiguration.excludedCardNetworks
. - Improved accuracy for card brand detection.
- 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. - Refactored the Demo example apps (for UIKit and SwiftUI) to make it easier to follow.
Fixes
- Fixed
MBWayComponent
to show Portugal and Spain in the phone prefix drop down list of phone extensions. - Fixed a bug where gift card payment methods had a missing logo.
- Fixes localization warning when using Swift Package Manager.
- Swish redirects are now fixed by adding the
returnUrlQueryString
option toRedirectDetails
.
Note: Please refer to the migration guide for details about the breaking changes.