This log details any breaking and non-breaking API changes we have released for our 3DS service.
Make yourself familiar with our API principles to ensure a resilient integration.
New test values
- header 
Content-TypeandAcceptchanged 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 for the v3 have changed to support Android and iOS SDK testing
 
Error handling
- header 
Content-TypeandAcceptchanged 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
pathandstatusas keysInvalid card numbers are now producing an error message
"validationErrors": [
  {
    "errorName": "fieldHasInvalidValue",
    "jsonPath": "$.instruction.paymentInstrument.cardNumber",
    "message": "Card number is invalid"
  }
],More details
Receive an authenticationOutage outcome in the 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.
More details
You can now submit a challenge.preference value of noChallengeRequestedTRAPerformed in your 3DS authentication request. 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.
More details
We have documented code samples showing you how to integrate our 3DS flow in a React Native application.
More details
You can now submit the following fields in your authentication request:
deviceData.timeZonedeviceData.browserScreenWidthdeviceData.browserScreenHeightdeviceData.browserColorDepthdeviceData.javascriptBrowserEnableddeviceData.javaBrowserEnabled
More details
We now provide additional values in the authentication and 3DS verification responses when the card brand is Cartes Bancaires. These additional values must then be applied in the authorization request.
More details
You can now authenticate a Network Payment Token using the "card/networkToken" `paymentInstrument via the 3DS SDK and Web flow.
More details
You now have the option to send overrideName in your authentication request with our 3DS Web API. This field allows you to override the merchant name sent to the issuer.
More details
You now have the option to send shippingAddress in the authentication request for our 3DS Web API and Android-iOS SDKs.
We recommend you send these details, if the shipping address is different to the billing address.
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.
More details
paymentInstrument.cardHolderName field is no longer mandatory in authentication requests.
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 and Android-iOS SDKs.
In case of unsuccessful device data collection, providing these values will increase the chances of successful authentication.
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.
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..."
}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.
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 
We strongly recommend signing up here so you are kept informed of SDK updates.