# Versioning and change log This log details any breaking and non-breaking API changes we have released for our 3DS service. Prerequisite Make yourself familiar with our [API principles](/products/reference/api-principles) to ensure a resilient integration. ## Versioning log #### Version 3 (12 May 2021) details summary New test values - header `Content-Type` and `Accept` changed to version 3: ``` Content-Type: application/vnd.worldpay.verifications.customers-v3.hal+json Accept: application/vnd.worldpay.verifications.customers-v3.hal+json ``` - [Test card values](/products/3ds/testing) for the v3 have changed to support Android and iOS SDK testing #### Version 2 (26 February 2020) details summary Error handling - header `Content-Type` and `Accept` changed to version 2: ``` Content-Type: application/vnd.worldpay.verifications.customers-v2.hal+json Accept: application/vnd.worldpay.verifications.customers-v2.hal+json ``` - Error responses no longer contain `path` and `status` as keys - Invalid card numbers are now producing an error message ``` "validationErrors": [ { "errorName": "fieldHasInvalidValue", "jsonPath": "$.instruction.paymentInstrument.cardNumber", "message": "Card number is invalid" } ], ``` ## Change log (non-breaking changes) #### Authentication outage (22 April 2025) details summary More details Receive an `authenticationOutage` outcome in the [authentication](/products/3ds/web/authentication) response if there are downstream issues (Visa/Mastercard etc). You can use this as a prompt to apply an `authenticationOutage` exemption in the payment authorization request. #### New challenge preference value (19 February 2025) details summary More details You can now submit a `challenge.preference` value of `noChallengeRequestedTRAPerformed` in your [3DS authentication request](/products/3ds/openapi/other/authenticate#other/authenticate/t=request&path=challenge/preference). You can use this when Transaction Risk Analysis (TRA) has been performed using an approved third party vendor and an SCA exemption has been recommended for the authentication. #### React Native support (08 October 2024) details summary More details We have documented [code samples](/products/3ds/react-native/) showing you how to integrate our 3DS flow in a React Native application. #### Additional browser fields for authentication requests (17 July 2024) details summary More details You can now submit the following fields in your authentication request: - `deviceData.timeZone` - `deviceData.browserScreenWidth` - `deviceData.browserScreenHeight` - `deviceData.browserColorDepth` - `deviceData.javascriptBrowserEnabled` - `deviceData.javaBrowserEnabled` #### Added support for Cartes Bancaires in 3DS2 authentications (10 January 2024) details summary More details We now provide additional values in the [authentication and 3DS verification responses](/products/3ds/web/authentication#authentication-responses) when the card brand is Cartes Bancaires. These additional values must then be applied in the [authorization request](/products/card-payments/v6/authorize-a-payment). #### Network Payment Token as new payment instrument (v2 + v3) (10 January 2024) details summary More details You can now authenticate a Network Payment Token using the "card/networkToken" `paymentInstrument via the 3DS [SDK](/products/3ds/android-ios/authentication#authentication-example-request) and [Web](/products/3ds/web/authentication#authentication-example-request) flow. #### Optional override field for authentication requests (15 February 2023) details summary More details You now have the option to send `overrideName` in your authentication request with our [3DS Web API](/products/3ds/web/authentication). This field allows you to override the merchant name sent to the issuer. #### Optional shipping address fields in 3DS authentication request (v2/v3) (15 February 2023) details summary More details You now have the option to send `shippingAddress` in the authentication request for our 3DS [Web API](/products/3ds/web/authentication) and [Android-iOS SDKs](/products/3ds/android-ios/authentication). We recommend you send these details, if the shipping address is different to the billing address. #### 3DS1 test values unavailability (18 October 2022) details summary More details 3DS1 test values are no longer available by default as 3DS1 has been decommissioned by the card schemes. The test values can be enabled if required. #### Optional cardholder name field in authentication request (12 October 2022) details summary More details `paymentInstrument.cardHolderName` field is no longer mandatory in authentication requests. #### Optional device data fields in authentication request (v2/v3) (10 October 2022) details summary More details You now have an option to send `browserLanguage` and `ipAddress` fields in the `deviceData` object of the authentication request for 3DS [Web API](/products/3ds/web/authentication) and [Android-iOS SDKs](/products/3ds/android-ios/authentication). In case of unsuccessful device data collection, providing these values will increase the chances of successful authentication. #### New error message returned when using duplicate `transactionReference` (v2/v3) (14 September 2021) details summary More details For versions 2 and 3 we now return a `transactionReferenceIsADuplicate` error instead of `unavailable` when a duplicate `transactionReference` is used for an `authentication` request. #### Authentication challenge response now contains payload (v2) (26 May 2020) details summary More details As part of changes to support a native mobile integration for 3DS2 we have made a new key:value available. The challenge object in the authentication response now contains the following: ``` challenge { ... "payload": "eJxdUttugkAQ/RXic2V3qUgx4xqsTeqDplH6AQgToZGLu0vBfn13EcV1EpI558zMMhdYtPnJ..." } ``` #### transactionId in 3DS1 signatureFailed outcome (v2) (26 May 2020) details summary More details If provided, `transactionId` is returned as part of the 3DS1 authentication `signatureFailed` outcome. Whilst you should not proceed with payment authorization, the value can be useful for tracing. ## Cardinal SDK Change log The Access 3DS API is periodically tested against the latest version of the Cardinal SDK. Current tested Cardinal SDK version: * Android: `v2.2.7` * iOS: `v2.2.5` - [iOS](https://cardinaldocs.atlassian.net/wiki/x/3IJUdw) - [Android](https://cardinaldocs.atlassian.net/wiki/x/EQC1) SDK updates We strongly recommend signing up [here](https://win.cardinalcommerce.com/CardinalMobileSDKNotifications) so you are kept informed of SDK updates.