Releases: Adyen/adyen-ios
5.3.0
Important
This release is not compatible with Xcode 15
Please consider updating to 5.4.0 or newer
Removed
func didComplete(with resultCode: SessionPaymentResultCode, component: Component, session: AdyenSession)
Use the new didComplete
method with the AdyenSessionResult
object instead.
Changed
-
The
countryCode
property ofAdyenSession.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 theAdyenSessionResult
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 ofPKPaymentRequest
. PassPKPaymentRequest
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 onLocalizationParameters
. -
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: LookupHandler)
. -
For the gift cards using Drop-in, you can now configure the visibility of the security code field. Set
showsSecurityCodeField
(boolean) in thegiftcard
payment method configuration.
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.
- Remove property
applePayCardNetwork
fromApplePayDetails
that was causing conflicts on some API libraries.
4.10.4
Important
This release is not compatible with Xcode 15
Please consider updating to 4.11.1 or newer
New:
- Live environment 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.
- 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
, whenallowsSkippingPaymentList
is set to true, Drop-in now stays in theloading
state until the shopper cancels or completes the payment. - For payment methods with additional actions on Drop-in, the shopper can no longer select the Pay button more than once. Previously, the Pay button could be selected again before the additional action UI appears.
5.2.0
Important
This release is not compatible with Xcode 15
Please consider updating to 5.4.0 or newer
New:
-
Payment Method: CashApp Pay.
paymentMethod.type
: cashapp -
Payment method: Titres-Restaurant (French Meal Vouchers).
- Apetiz (Natixis).
paymentMethod.type
: mealVoucher_FR_natixis. - Sodexo.
paymentMethod.type
: mealVoucher_FR_sodexo. - Up Déjeuner.
paymentMethod.type
: mealVoucher_FR_groupeup.
- Apetiz (Natixis).
-
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.
- 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 displays the correct size when used in split screen mode
on iPad or on Mac application designed for iPad. -
For alerts under input fields, you can now see full messages that don't 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 ofPaymentComponentData
. Use theamount
property instead.
5.1.0
Important
This release is not compatible with Xcode 15
Please consider updating to 5.4.0 or newer
New
-
Payment methods:
- PayNow.
paymentMethod.type
: paynow. - DuitNow.
paymentMethod.type
: duitnow. - Open banking UK.
paymentMethod.type
: openbanking_UK. - 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.
- UPI Collect: The shopper pays by entering their virtual payment
- PayNow.
-
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 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
, whenallowsSkippingPaymentList
is set to true, Drop-in now stays in theloading
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 doesn'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.
4.10.3
4.10.2
Important
This release is not compatible with Xcode 15
Please consider updating to 4.11.1 or newer
Fixed
- When the shopper submits a payment, the billing address that the shopper entered is now submitted. Previously, when the selected country doesn't include a state or province field, the submitted value was
nil
. - 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.
- For cards, when the shopper enters a card number and a dual branded card is detected, a brand is no longer selected.
5.0.0
Important
This release is not compatible with Xcode 15
Please consider updating to 5.4.0 or newer
New
-
Using the
/sessions
endpoint, you can integrate Drop-in and Components with a single API call. The newAdyenSession
object handles all actions after the payment session is created.
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. -
Added support for Delegated Authentication.
-
Atome payment method is now supported via the
AtomeComponent
. -
Online Banking is supported for Poland and Czech Republic.
-
ACH direct debit details can now be stored for later use.
-
ApplepayComponent
now supports shipping capabilities. -
Payment method titles can now be customized via the
PaymentMethods.overrideDisplayInformation()
functions. -
Added a new
PaymentMethodType
enum instead of relying on strings for payment method types -
The SDK will collect basic telemetry events which can be toggled in
AnalyticsConfiguration
. -
Boleto details can now be configured in the
DropInComponent.Configuration
via theboleto
property. -
Upgraded the 3DS2 SDK to version 2.3.0
-
The
CardComponent.cardComponentDelegate.didChangeBIN(: component:)
now reports 8 digit bins in case of PAN's with more than 16 digits. -
ThreeDS2Component
can now be configured withthreeDSRequestorAppURL
Changed
Observer
is renamed toAdyenObserver
to avoid potential conflicts.
4.10.1
Important
This release is not compatible with Xcode 15
Please consider updating to 4.11.1 or newer
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.
- The Google Pay payment method now blocked and is no longer shown.
4.10.0
Important
This release is not compatible with Xcode 15
Please consider updating to 4.11.1 or newer
Removed
- The
URL
extension. It caused conflict with the code in some integrations.
New
- For 3D Secure 2.2.0, the
threeDSRequestorAppURL
parameter is automatically populated with thereturnUrl
value from the/payments
request.
Changed
- The
RedirectDetails
property is now public.
Fixed
- A successful QR code payment now always triggers the callback.
4.9.0
Important
This release is not compatible with Xcode 15
Please consider updating to 4.11.1 or newer
Deprecated
- The
finalizeIfNeeded(with success: Bool)
method. UsefinalizeIfNeeded(with success: Bool, completion: (() -> Void)?)
instead.
Improved
- Successful Apple Pay are now finalized with
finalizeIfNeeded(with success: Bool, completion: (() -> Void)?)
, which increases conversion rates.