{"templateId":"markdown","versions":[{"version":"20261201","label":"(Preview) 2026-12-01","link":"/products/3ds/20261201/android-ios/authentication","default":false,"active":false,"folderId":"9e210f12"},{"version":"v1","label":"v1","link":"/products/3ds/v1/android-ios/authentication","default":false,"active":false,"folderId":"9e210f12"},{"version":"v2","label":"v2","link":"/products/3ds/v2/android-ios/authentication","default":false,"active":false,"folderId":"9e210f12"},{"version":"v3","label":"v3 (Latest)","link":"/products/3ds/android-ios/authentication","default":true,"active":true,"folderId":"9e210f12"}],"sharedDataIds":{"sidebar":"sidebar-products/3ds/sidebars.yaml","current-catalog-info":"current-catalog-info-/products/3ds/openapi","oas-products/3ds/@v3/openapi.yaml":"oas-products/3ds/@v3/openapi.yaml"},"props":{"metadata":{"markdoc":{"tagList":["partial","tabs","tab","openapi-code-sample","admonition","json-schema","code-snippet"]},"custom_product":"3DS","type":"markdown"},"seo":{"title":"Authentication (Android and iOS) | 3DS API","description":"Worldpay for Developers - docs, code examples, resources and tools. Everything you need to build your omnichannel payment solution.","siteUrl":"https://docs.worldpay.com/access","image":"/access/assets/worldpay-logo-light.21b7daf79984773a9fcd7d4fbcb07ae5289dfffd6023c4c3dca720c7058e53dc.33f780a6.svg","keywords":"documentation, api, openapi, sdks, developer, payments, json, payouts, 3ds","jsonLd":{"@context":"https://schema.org","@type":"Organization","url":"https://docs.worldpay.com/access","name":"Worldpay"},"meta":[{"name":"google-site-verification","content":"zjziIKaP3ImsqsfhYnEBnq1R85UabiSwl7HTXuwtZuo"},{"name":"doc_product","content":"Access"},{"name":"doc_category","content":"Documentation"}],"llmstxt":{"hide":false,"sections":[{"title":"Payments API","description":"Payment orchestration API combining fraud assessment, 3ds authentication, SCA exemptions, Worldpay Token creation and a card or wallet based payment.","includeFiles":["products/payments/@20240601/**/*"],"excludeFiles":[]},{"title":"Payment Queries API","description":"Querying your payments data, based on a variety of parameters.","includeFiles":["products/payment-queries/@v1/**/*"],"excludeFiles":[]},{"title":"Card BIN Data API","description":"Provides detailed information about a card.","includeFiles":["products/card-bin/@v1/**/*"],"excludeFiles":[]},{"title":"3DS Authentication API","description":"Request 3DS authentication to protect against fraud, be SCA compliant and to shift liability using this standalone API.","includeFiles":["products/3ds/@v3/**/*"],"excludeFiles":[]},{"title":"FraudSight API","description":"Request a risk assessment and receive a response with an outcome (e.g. lowRisk) using this standalone API.","includeFiles":["products/fraudsight/@v1/**/*"],"excludeFiles":[]},{"title":"Checkout SDK","description":"Integrate using our clientside SDKs for both web and native devices. Benefit from SAQ-A/PCI-SSF compliance.","includeFiles":["products/checkout/web/@v2/**/*","products/checkout/ios/@v4/**/*","products/checkout/android/@v4/**/*","products/checkout/react-native/@v3/**/*","products/checkout/flutter/@v1/**/*"],"excludeFiles":[]},{"title":"Tokens API","description":"Minimizes the exposure of sensitive card details and increases the security of your customer's card details.","includeFiles":["products/tokens/@v3/**/*"],"excludeFiles":[]},{"title":"Card Payments API","description":"Request a card payment using this standalone API, requires separate requests for 3DS, Fraud assessment etc.","includeFiles":["products/card-payments/@v7/**/*"],"excludeFiles":[]},{"title":"Card Verifications API","description":"Verify your customer's card to maximize your authentication rates.","includeFiles":["products/card-verifications/@v6/**/*"],"excludeFiles":[]},{"title":"Account Payouts API","description":"Send funds to your customer's bank accounts and search for payouts using parameters.","includeFiles":["products/account-payouts/@20250101/**/*"],"excludeFiles":[]},{"title":"APMs","description":"Pay using eWallets, bank transfers, direct debits, local card schemes, Postpay and eInvoice/ Buy Now Pay Later.","includeFiles":["products/apms/@20240701/**/*"],"excludeFiles":[]},{"title":"Balance API","description":"Request your account details for a single account or all accounts under an entity.","includeFiles":["products/balance/@20250101/**/*"],"excludeFiles":[]},{"title":"Card Payouts API","description":"Send funds to your customer's cards.","includeFiles":["products/card-payouts/@v4/**/*"],"excludeFiles":[]},{"title":"Events (Webhooks)","description":"Receive status updates from Access Worldpay by setting up a webhook.","includeFiles":["products/events/@v1/**/*"],"excludeFiles":[]},{"title":"FX API","description":"Manage Foreign Exchange (FX) on your payments.","includeFiles":["products/fx/@v1/**/*"],"excludeFiles":[]},{"title":"Hosted Payment Pages (HPP) API","description":"Our low-code option to take payments securely at the lowest PCI compliance level - SAQ A.","includeFiles":["products/hosted-payment-pages/@v1/**/*"],"excludeFiles":[]},{"title":"Money Transfers API","description":"Money Transfer OCTs (Original Credit Transaction) allow funds to be pushed to an eligible card in 30 minutes or less.","includeFiles":["products/money-transfers/@v1/**/*"],"excludeFiles":[]},{"title":"Parties API","description":"Create parties, manage your payout instruments and beneficial owners and carry out identity verification checks.","includeFiles":["products/parties/@20250101/**/*"],"excludeFiles":[]},{"title":"SCA Exemptions API","description":"Maximize a frictionless checkout experience by using issuer data insights to apply exemptions.","includeFiles":["products/sca-exemptions/@v1/**/*"],"excludeFiles":[]},{"title":"Split Payments API","description":"Divide funds from a single payment amongst yourself and your parties/sellers.","includeFiles":["products/split-payments/@20250625/**/*"],"excludeFiles":[]},{"title":"Statements API","description":"Retrieve your account statement and see individual entries for all credits and debits.","includeFiles":["products/statements/@20250101/**/*"],"excludeFiles":[]},{"title":"Transfers API","description":"Transfer funds from source account to target account.","includeFiles":["products/transfers/@20250101/**/*"],"excludeFiles":[]},{"title":"Verified Tokens API","description":"Verified Tokens ensures that your customer's payment details are valid and CIT compliant when creating a token.","includeFiles":["products/verified-tokens/@v3/**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":["openapi"],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Last updated"]},": 09 June 2026 | ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/3ds/changelog/"},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Change log"]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"authentication","__idx":0},"children":["Authentication"]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST"]}," your authentication request to the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["3ds:authenticate"]}," action link. Your authentication request sends order and risk data used to decide if a ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/3ds/android-ios/challenge-verification"},"children":["challenge"]}," is required."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"authentication-example-request","__idx":1},"children":["Authentication example request"]},{"$$mdtype":"Tag","name":"Tabs","attributes":{"size":"medium"},"children":[{"$$mdtype":"Tag","name":"div","attributes":{"label":"Card","disable":false},"children":[{"$$mdtype":"Tag","name":"OpenApiCodeSample","attributes":{"descriptionFile":"oas-products/3ds/@v3/openapi.yaml","operationId":"authenticate","exampleKey":"card/front","parameters":{},"environments":{}},"children":[]}]},{"$$mdtype":"Tag","name":"div","attributes":{"label":"Token","disable":false},"children":[{"$$mdtype":"Tag","name":"OpenApiCodeSample","attributes":{"descriptionFile":"oas-products/3ds/@v3/openapi.yaml","operationId":"authenticate","exampleKey":"card/tokenized","parameters":{},"environments":{}},"children":[]}]},{"$$mdtype":"Tag","name":"div","attributes":{"label":"Network Token","disable":false},"children":[{"$$mdtype":"Tag","name":"OpenApiCodeSample","attributes":{"descriptionFile":"oas-products/3ds/@v3/openapi.yaml","operationId":"authenticate","exampleKey":"card/networkToken","parameters":{},"environments":{}},"children":[]}]},{"$$mdtype":"Tag","name":"div","attributes":{"label":"Google Pay","disable":false},"children":[{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Best practice"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://developers.google.com/pay/api/web/reference/request-objects#CardParameters"},"children":["Set ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["assuranceDetails"]}," to \"true\""]}," in your request when integrating with the Google Pay API, to avoid attempting authentication on an SCA compliant token. A response containing ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"cardHolderAuthenticated\": true"]}," indicates that authentication is not required and you can proceed directly to the authorization and reduce friction in your payment flow."]}]},{"$$mdtype":"Tag","name":"OpenApiCodeSample","attributes":{"descriptionFile":"oas-products/3ds/@v3/openapi.yaml","operationId":"authenticate","exampleKey":"card/wallet+googlepay","parameters":{},"environments":{}},"children":[]}]},{"$$mdtype":"Tag","name":"div","attributes":{"label":"Minimum Recommended key:values","disable":false},"children":[{"$$mdtype":"Tag","name":"OpenApiCodeSample","attributes":{"descriptionFile":"oas-products/3ds/@v3/openapi.yaml","operationId":"authenticate","exampleKey":"Minimum Recommended (native)","parameters":{},"environments":{}},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"how-much-data-to-provide","__idx":2},"children":["How much data to provide"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The issuer uses ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/3ds/android-ios/device-data"},"children":["device data"]}," and values in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["authentication"]}," request to decide if the transaction is likely to be fraudulent.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," ","How this data is interpreted varies by issuer. Supplying more data increases the chances of the outcome being frictionless (without a ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/3ds/android-ios/challenge-verification"},"children":["challenge"]},").",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," ","Some issuers may fail the authentication entirely without the recommended fields."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"emvco-required-values","__idx":3},"children":["EMVco required values"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["instruction.paymentInstrument.cardHolderName"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["riskData.account.email"]}," ",{"$$mdtype":"Tag","name":"sup","attributes":{},"children":["1"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["riskData.transaction.phoneNumber"]}," ",{"$$mdtype":"Tag","name":"sup","attributes":{},"children":["1"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transaction.firstName"]}," ",{"$$mdtype":"Tag","name":"sup","attributes":{},"children":["2"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transaction.lastName"]}," ",{"$$mdtype":"Tag","name":"sup","attributes":{},"children":["2"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"sup","attributes":{},"children":["1"]}," Either ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["riskData.account.email"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["riskData.transaction.phoneNumber"]}," are required."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"sup","attributes":{},"children":["2"]}," Only required if ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["instruction.paymentInstrument.cardHolderName"]}," is not provided"]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The following are considered mandatory by EMVco and are already part of Device Data Collection. We recommend providing these in the API request along with other device values to maximize authentication rates if ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#device-data-collection-failure"},"children":["Device Data Collection fails"]},"."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["deviceData.ipAddress"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"sup","attributes":{},"children":["1"]}," Provide for web/browser integration only"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"emvco-recommended-values","__idx":4},"children":["EMVco recommended values"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["instruction.paymentInstrument.billingAddress.city"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["instruction.paymentInstrument.billingAddress.country"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["instruction.paymentInstrument.billingAddress.address1"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["instruction.paymentInstrument.billingAddress.postalCode"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["instruction.paymentInstrument.billingAddress.state"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"sup","attributes":{},"children":["1"]}," Provide for web/browser integration only"]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"device-data-collection-failure","__idx":5},"children":["Device Data Collection failure"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In the event the Device Data Collection fails to run (browser/native), additionally provide the following, to maintain healthy authentication rates and reduce issuer challenges. For the native SDK the application data is collected as part of initialization. Browser specific device data is not required."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["deviceData.ipAddress"]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"full-authentication-request-schema","__idx":6},"children":["Full authentication request schema"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can either see the full schema in the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/3ds/openapi"},"children":["API Reference"]}," section or expand the sections below. The riskData object, in particular, contains additional data that, while not mandatory or specifically recommended by EMVco,may be used by some issuers as part of their risk analysis."]},{"$$mdtype":"Tag","name":"JsonSchema","attributes":{"schema":{"$ref":"../openapi.yaml#/components/schemas/3DS_authenticate"},"options":{"hideSchemaTitles":true,"hidePropertiesPrefix":true,"schemasExpansionLevel":0},"schemaResolved":{"openapi":"3.1.0","components":{"schemas":{"__root":{"$ref":"#/components/schemas/3DS_authenticate"},"transactionReference":{"maxLength":64,"minLength":1,"pattern":"^[-A-Za-z0-9_!@#$%()*=.:;?\\[\\]{}~`/+]*$","type":"string","description":"A unique reference for authentication. For example, e-commerce order code. Use the same transactionReference across all 3 potential request types (deviceDataInitialization, authentication, verification)."},"cardHolderName":{"maxLength":255,"minLength":1,"type":"string","description":"The name on your customer's card. This is not a mandatory field, however we recommend that you supply this to improve authentication rates."},"billingAddress":{"required":["address1","city","postalCode","countryCode"],"type":"object","description":"An object containing the billing address information.","properties":{"city":{"maxLength":15,"minLength":1,"type":"string","description":"Billing address city"},"address1":{"maxLength":80,"minLength":1,"type":"string","description":"Billing address line 1"},"postalCode":{"maxLength":15,"minLength":1,"type":"string","description":"Billing address postal code, [See country codes with optional postalCode](/products/reference/supported-countries-currencies#postalcode-optional)"},"countryCode":{"maxLength":2,"minLength":2,"pattern":"^[A-Z]{2}$","type":"string","description":"Billing address country code"},"state":{"maxLength":30,"minLength":1,"type":"string","description":"Billing address state. Should only be provided following the `ISO-3611-2` two-character sub division (e.g.“CA” for California). We recommend you provide this for US and China addresses."},"address2":{"maxLength":80,"type":"string","description":"Billing address line 2"},"address3":{"maxLength":80,"type":"string","description":"Billing address line 3"}}},"card_front":{"required":["type","cardNumber","cardExpiryDate"],"type":"object","properties":{"type":{"type":"string","format":"card/front","description":"An identifier for the `paymentInstrument` being used."},"cardHolderName":{"$ref":"#/components/schemas/cardHolderName"},"cardExpiryDate":{"required":["month","year"],"type":"object","description":"Object containing card expiry information","properties":{"month":{"maximum":12,"minimum":1,"type":"integer","description":"Card expiry month"},"year":{"maximum":9999,"minimum":1,"type":"integer","description":"Card expiry year"}}},"cardNumber":{"maxLength":19,"minLength":10,"pattern":"^[0-9]*$","type":"string","description":"Clear card number (PAN)"},"billingAddress":{"$ref":"#/components/schemas/billingAddress"}}},"card_tokenized":{"required":["type","href"],"type":"object","properties":{"type":{"type":"string","format":"card/tokenized","description":"An identifier for the `paymentInstrument` being used."},"href":{"minLength":1,"type":"string","description":"An `http` address that contains your link to an Access Token"}}},"card_networktoken":{"required":["type","tokenNumber","cardExpiryDate"],"type":"object","properties":{"type":{"type":"string","format":"card/networkToken","description":"An identifier for the `paymentInstrument` being used."},"cardExpiryDate":{"required":["month","year"],"type":"object","description":"Object containing card expiry information","properties":{"month":{"maximum":12,"minimum":1,"type":"integer","description":"Card expiry month"},"year":{"maximum":9999,"minimum":1,"type":"integer","description":"Card expiry year"}}},"tokenNumber":{"maxLength":19,"minLength":10,"pattern":"^[0-9]*$","type":"string","description":"The network token number"},"cardHolderName":{"$ref":"#/components/schemas/cardHolderName"},"billingAddress":{"$ref":"#/components/schemas/billingAddress"}}},"card_wallet_googlepay":{"required":["type","walletToken"],"type":"object","properties":{"type":{"enum":["card/wallet+googlepay"],"type":"string"},"walletToken":{"type":"string","description":"The encrypted wallet token returned by Google","example":"{\"protocolVersion\":\"ECv1\",\"signature\":\"MEQCIH6Q4OwQ0jAceFEkGF0JID6sJNXxOEi4r+mA7biRxqBQAiAondqoUpU/bdsrAOpZIsrHQS9nwiiNwOrr24RyPeHA0Q\\u003d\\u003d\",\"signedMessage\":\"{\\\"tag\\\":\\\"jpGz1F1Bcoi/fCNxI9n7Qrsw7i7KHrGtTf3NrRclt+U\\\\u003d\\\",\\\"ephemeralPublicKey\\\":\\\"BJatyFvFPPD21l8/uLP46Ta1hsKHndf8Z+tAgk+DEPQgYTkhHy19cF3h/bXs0tWTmZtnNm+vlVrKbRU9K8+7cZs\\\\u003d\\\",\\\"encryptedMessage\\\":\\\"mKOoXwi8OavZ\\\"}\"}"},"billingAddress":{"required":["postalCode","countryCode"],"type":"object","description":"Contains the billing address information.","properties":{"address1":{"type":"string","description":"First line of the address. Required if `city` is provided."},"address2":{"type":"string","description":"Second line of the address."},"address3":{"type":"string","description":"Third line of the address."},"city":{"type":"string","description":"City. Required if `address1` is provided."},"postalCode":{"type":"string","description":"Post code. Required, but an empty value can be provided for specific countries (e.g., `IE`)."},"state":{"type":"string","description":"State/province in max 3 characters."},"countryCode":{"type":"string","description":"Must be provided in [ISO 3166-1 Alpha-2 format](/products/reference/supported-countries-currencies#iso-country-codes)."}}}}},"3DS_authenticate":{"required":["transactionReference","merchant","instruction","deviceData","challenge"],"type":"object","properties":{"transactionReference":{"$ref":"#/components/schemas/transactionReference"},"merchant":{"required":["entity"],"type":"object","description":"An object that contains information about the merchant and API level configuration.","properties":{"entity":{"maxLength":64,"minLength":1,"pattern":"^[A-Za-z0-9 ]*$","type":"string","description":"Used to route the request in Access Worldpay, created as part of on-boarding."},"overrideName":{"type":"string","maxLength":25,"minLength":1,"pattern":"^[^><&'\\\"]*","description":"Used to override the merchant name that's both submitted to issuers as well as displayed to the customer in the authentication process. PayFac merchants should submit the name of their submerchant."},"acquirerId":{"type":"string","maxLength":20,"minLength":1,"example":"01234567","pattern":"^[0-9]*$","description":"Instructs the issuer that the following authorization will be completed with an external acquirer"}}},"instruction":{"required":["value","paymentInstrument"],"type":"object","description":"The object that contains all the payment information related to the authentication request.","properties":{"value":{"required":["amount","currency"],"type":"object","description":"An object that contains information about the value of the authentication.","properties":{"amount":{"maximum":99999999999,"minimum":0,"type":"integer","description":"The authentication amount. This is a whole number with an exponent e.g. if exponent is two, 250 is 2.50. You can find the relevant exponent in our [currency table](/products/reference/supported-countries-currencies#iso-currency-codes). The authentication amount should be equal to the authorization amount. We recommend you delay authentication until the amount is known, or ensure it's greater than the total transaction amount."},"currency":{"maxLength":3,"minLength":3,"pattern":"^[A-Z]{3}$","type":"string","description":"The three digit currency code. See list of [supported currencies](/products/reference/supported-countries-currencies#iso-currency-codes)"}}},"paymentInstrument":{"oneOf":[{"$ref":"#/components/schemas/card_front"},{"$ref":"#/components/schemas/card_tokenized"},{"$ref":"#/components/schemas/card_networktoken"},{"$ref":"#/components/schemas/card_wallet_googlepay"}],"description":"An object that contains the card details or token location.","discriminator":{"mapping":{"card/front":"#/components/schemas/card_front","card/tokenized":"#/components/schemas/card_tokenized","card/networkToken":"#/components/schemas/card_networktoken","card/wallet+googlepay":"#/components/schemas/card_wallet_googlepay"},"propertyName":"type"}}}},"deviceData":{"required":["acceptHeader","userAgentHeader"],"type":"object","description":"Object containing device data information.","properties":{"acceptHeader":{"maxLength":2048,"minLength":1,"type":"string","description":"Used by the issuer to check if the customer's browser is compatible with the issuer challenge display."},"userAgentHeader":{"maxLength":2048,"minLength":1,"type":"string","description":"Used by issuers as part of risk analysis and correctly displaying the challenge. Must conform to RFC 7321 E.g. `Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0)`."},"collectionReference":{"maxLength":200,"type":"string","description":"For web this is the `sessionId` in the post message response from the Device Data Collection form. For iOS/Android SDK this is the `consumerSessionId` returned as part of SDK initialization. It is __highly recommended__ you provide this, not doing so will increase issuer challenges."},"browserLanguage":{"maxLength":8,"minLength":1,"type":"string","description":" Your customer's browser language that can be used by the issuer in risk analysis. Must conform to the language tags defined by IETF. E.g. en-GB, fr-FR. "},"ipAddress":{"type":"string","description":" A unique identifier for your customer's physical location that\n            can be used by the issuer in risk analysis. Must be in IPv4 or IPv6 format.\nE.g. 192.0.0.0. "},"browserJavaEnabled":{"type":"boolean","description":"Defines whether Java is enabled on your customers browser."},"browserColorDepth":{"type":"string","description":"The color depth of your customers browser","enum":["1","4","8","15","16","24","32","48"]},"browserScreenHeight":{"type":"integer","pattern":"^[0-9]{1,6}$","description":"Defines the pixel height of the customers browser."},"browserScreenWidth":{"type":"integer","pattern":"^[0-9]{1,6}$","description":"Defines the pixel width of the customers browser."},"timeZone":{"pattern":"^[+-]?\\d{1,4}$","type":"string","description":" Time zone offset in minutes between UTC and your customer's browser local time.  \nExample time zone offset values in minutes:  \nIf UTC -5 hours:  \n`300`  \n`+300`  \nIf UTC +5 hours:  \n`-300`  \n "},"browserJavascriptEnabled":{"type":"boolean","description":"Defines whether Javascript is enabled on your customers browser."}}},"challenge":{"required":["returnUrl"],"type":"object","description":"An object that contains challenge related information.","properties":{"returnUrl":{"minLength":1,"type":"string","format":"uri","description":"URL the issuer will use to notify the challenge has been completed."},"preference":{"enum":["noPreference","noChallengeRequested","challengeRequested","challengeMandated","noChallengeRequestedTRAPerformed"],"type":"string","description":"Preference regarding issuer displaying challenge to the customer. The interpretation of this field varies from issuer to issuer, so we cannot guarantee any particular behavior on their part as a result of you setting this field.","x-enumDescriptions":{"noPreference":"Default (decision to challenge owned by issuer)","noChallengeRequested":"Prefer no challenge performed","challengeRequested":"Prefer challenge is performed","challengeMandated":"Local or regional mandates meaning a challenge must be performed. For SCA mandated countries you should use `challengeMandated` in the authentication request as part of the first CIT payment in an MIT series","noChallengeRequestedTRAPerformed":"Prefer no challenge performed due to an exemption to SCA. Only 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."}},"windowSize":{"default":"390x400","enum":["390x400","250x400","500x600","600x400","fullPage"],"type":"string","description":"Specify the challenge window size (width x height) that the issuer should use."}}},"riskData":{"type":"object","description":"Object containing additional risk data.","properties":{"account":{"type":"object","description":"Object containing all customer account related risk data.","properties":{"previousSuspiciousActivity":{"type":"boolean","description":"Whether there is a record of previous suspicious activity."},"type":{"enum":["guestUser","registeredUser","federatedAccount","issuerCredentials","thirdPartyAuthentication","fidoAuthenticator"],"type":"string","description":"Type of account the current customer has.","x-enumDescriptions":{"guestUser":"Order placed without full merchant account registration (no password)","registeredUser":"Order placed with full merchant account registration (password entered)","federatedAccount":"Using a Federated ID","issuerCredentials":"Using issuer credentials","thirdPartyAuthentication":"Using third party authentication","fidoAuthenticator":"FIDO authentication standard"}},"email":{"maxLength":128,"minLength":3,"pattern":"^.+@.+$","type":"string","description":"The customer's email address. We recommend you provide at least one of either `transaction.phoneNumber` or `account.email`"},"history":{"type":"object","description":"Object containing customer's account history.","properties":{"createdAt":{"type":"string","format":"date","description":"When the account was created. Provide in ISO 8601 format.","example":"2019-11-18"},"modifiedAt":{"type":"string","format":"date","description":"When the account was last modified. Provide in ISO 8601 format.","example":"2020-05-12"},"passwordModifiedAt":{"type":"string","format":"date","description":"When the account password was last changed. Provide in ISO 8601 format.","example":"2021-03-15"},"paymentAccountEnrolledAt":{"type":"string","format":"date","description":"Date the payment account was added to the cardholder account. Provide in ISO 8601 format.","example":"2021-06-20"}}}}},"transaction":{"type":"object","description":"Object containing all customer transaction related risk data.","properties":{"reorder":{"type":"boolean","description":"If this is a repeat of a previous order."},"preOrderDate":{"type":"string","format":"date","description":"Expected date that a pre-ordered purchase will be available. Provide in ISO 8601 format.","example":"2021-12-25"},"firstName":{"maxLength":22,"minLength":1,"type":"string","description":"Customer's first name."},"lastName":{"maxLength":22,"minLength":1,"type":"string","description":"Customer's last name."},"phoneNumber":{"maxLength":20,"minLength":4,"pattern":"^[0-9]*$","type":"string","description":"Customer's phone number."},"history":{"type":"object","description":"Object containing details of the last transaction.","properties":{"attemptsLastDay":{"maximum":999,"minimum":0,"type":"integer","description":"Number of transactions (successful or abandoned) for this cardholder account within the last 24 hours."},"attemptsLastYear":{"maximum":999,"minimum":0,"type":"integer","description":"Number of transactions (successful or abandoned) for this cardholder account within the last year."},"completedLastSixMonths":{"maximum":9999,"minimum":0,"type":"integer","description":"Number of purchases with this customer account during the previous six months."},"addCardsLastDay":{"maximum":999,"minimum":0,"type":"integer","description":"Number of attempts to add a card in the last 24hrs."},"shippingAddressFirstUsedAt":{"type":"string","format":"date","description":"When the shipping address used for the transaction was first used. Provide in ISO 8601 format.","example":"2021-06-20"}}},"giftCardsPurchase":{"type":"object","description":"Object containing information on whether the order is being used to purchase a gift card.","properties":{"totalValue":{"required":["amount","currency"],"type":"object","description":"Object containing information on value of the gift cards being purchase.","properties":{"amount":{"maximum":99999999999,"minimum":0,"type":"integer","description":"The amount being placed on the gift card. If provided, must include `totalValue.currency`."},"currency":{"maxLength":3,"minLength":3,"pattern":"^[A-Z]{3}$","type":"string","description":"The three digit currency code. If provided must include `totalValue.amount`."}}},"quantity":{"maximum":99,"minimum":0,"type":"integer","description":"The number of gift cards being purchased."}}}}},"shipping":{"type":"object","description":"Object containing all data related to how the order will be shipped.","properties":{"nameMatchesAccountName":{"type":"boolean","description":"If customer name on account is identical to the shipping name."},"method":{"enum":["billingAddress","verifiedAddress","otherAddress","store","digital","unshippedTickets","other"],"type":"string","description":"Field containing information on shipping method chosen by customer.","x-enumDescriptions":{"billingAddress":"Ship to customer's billing address","verifiedAddress":"Ship to another verified address on file with merchant","otherAddress":"Ship to address that is different than billing address","store":"Ship to store (store address should be populated on request)","digital":"Digital goods","unshippedTickets":"Travel and event tickets, not shipped","other":"Other"}},"timeFrame":{"enum":["electronic","twoDaysPlus","nextDay","sameDay"],"type":"string","description":"Timeframe chosen by customer for delivery."},"email":{"maxLength":128,"minLength":3,"pattern":"^.+@.+$","type":"string","description":"The email address used for an electronic delivery."},"address":{"type":"object","required":["address1","city","postalCode","countryCode","stateCode"],"description":"An object containing the shipping address information.","properties":{"address1":{"type":"string","maxLength":80,"minLength":1,"description":"Shipping address line 1"},"address2":{"type":"string","maxLength":80,"minLength":1,"description":"Shipping address line 2"},"address3":{"type":"string","maxLength":80,"minLength":1,"description":"Shipping address line 3"},"postalCode":{"type":"string","maxLength":15,"minLength":1,"description":"Postcode of shipping address"},"city":{"maxLength":15,"type":"string","description":"Shipping address city"},"countryCode":{"type":"string","maxLength":2,"minLength":2,"description":"Shipping address country code"},"stateCode":{"type":"string","maxLength":2,"minLength":1,"description":"Shipping address state. Should only be provided following the `ISO-3611-2` two-character sub division (e.g.“CA” for California)."},"phoneNumber":{"type":"string","maxLength":20,"minLength":4,"pattern":"^[0-9]*$","description":"Shipping recipient's phone number."}}}}}}}}}}}},"schemaResolvedErrors":[]},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"authentication-responses","__idx":7},"children":["Authentication responses"]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Best practice"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Access Worldpay returns a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["WP-CorrelationId"]}," in the headers of service responses. We ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["highly recommend"]}," you log this. The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["WP-CorrelationId"]}," is used by us to examine individual service requests."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The response contains the outcome of your authentication request. To understand more about the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["outcomes"]}," and how to reproduce them, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/3ds/testing"},"children":["3DS testing"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can see the full response schema in the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/3ds/openapi/other/authenticate#other/authenticate/response&c=200"},"children":["API Reference"]},"."]},{"$$mdtype":"Tag","name":"Tabs","attributes":{"size":"medium"},"children":[{"$$mdtype":"Tag","name":"div","attributes":{"label":"Authenticated","disable":false},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Successful frictionless authentication"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"file":"../examples/responses/authentication-authenticated.yaml","language":"json","title":"authenticated","header":{"title":"authenticated","controls":{"copy":{}}},"lang":"json","source":"  {\n      \"outcome\": \"authenticated\",\n      \"transactionReference\": \"Memory265-13/08/1876\",\n      \"acsTransactionId\": \"fe007a6e-315f-4cdf-98ca-28a9e40e3581\",\n      \"status\": \"Y\",\n      \"enrolled\": \"Y\",\n      \"authentication\": {\n          \"version\": \"2.1.0\",\n          \"authenticationValue\": \"MAAAAAAAAAAAAAAAAAAAAAAAAAA=\",\n          \"eci\": \"05\",\n          \"transactionId\": \"c5b808e7-1de1-4069-a17b-f70d3b3b1645\"\n      }\n  }"},"children":[]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"file":"../examples/responses/authentication-authenticated-cartesbancaires.yaml","language":"json","title":"authenticated - Cartes Bancaires","header":{"title":"authenticated - Cartes Bancaires","controls":{"copy":{}}},"lang":"json","source":"  {\n      \"outcome\": \"authenticated\",\n      \"transactionReference\": \"Memory265-13/08/1876\",\n      \"acsTransactionId\": \"fe007a6e-315f-4cdf-98ca-28a9e40e3581\",\n      \"status\": \"Y\",\n      \"enrolled\": \"Y\",\n      \"authentication\": {\n          \"version\": \"2.1.0\",\n          \"authenticationValue\": \"AJkBBkhgQQAAAE4gSEJydQAAAAA=\",\n          \"eci\": \"05\",\n          \"transactionId\": \"be122acf-0ba7-4eff-aa5b-fb53e9ad2f87\",\n          \"cryptogramAlgorithm\": \"1\",\n          \"challengePreference\": \"challengeMandated\",\n          \"authenticationFlow\": \"frictionless\",\n          \"brand\": \"cartesBancaires\"\n      }\n  }"},"children":[]}]},{"$$mdtype":"Tag","name":"div","attributes":{"label":"Token already authenticated","disable":false},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The token is already SCA compliant."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"file":"../examples/responses/already-authenticated.yaml","language":"json","title":"alreadyAuthenticated","header":{"title":"alreadyAuthenticated","controls":{"copy":{}}},"lang":"json","source":"  {\n      \"outcome\": \"alreadyAuthenticated\",\n      \"transactionReference\": \"Memory265-13/08/1876\"\n  }"},"children":[]}]},{"$$mdtype":"Tag","name":"div","attributes":{"label":"Authentication failed","disable":false},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Issuer failed the authentication without providing the option for a challenge"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"file":"../examples/responses/authentication-authentication-failed.yaml","language":"json","title":"authenticationFailed","header":{"title":"authenticationFailed","controls":{"copy":{}}},"lang":"json","source":"  {\n      \"outcome\": \"authenticationFailed\",\n      \"transactionReference\": \"Memory265-13/08/1876\",\n      \"acsTransactionId\": \"fe007a6e-315f-4cdf-98ca-28a9e40e3581\",\n      \"status\": \"N\",\n      \"enrolled\": \"Y\",\n      \"authentication\": {\n          \"version\": \"2.1.0\",\n          \"eci\": \"07\",\n          \"transactionId\": \"c5b808e7-1de1-4069-a17b-f70d3b3b1645\"\n      },\n      \"_links\": {\n          \"3ds:authenticate\": {\n              \"href\": \"https://try.access.worldpay.com/verifications/customers/3ds/authentication\"\n          },\n          \"curies\": [\n              {\n                  \"href\": \"https://try.access.worldpay.com/rels/verifications/customers/3ds/{rel}\",\n                  \"templated\": true,\n                  \"name\": \"3ds\"\n              }\n          ]\n      }\n  }"},"children":[]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"file":"../examples/responses/authentication-authentication-failed-cartesbancaires.yaml","language":"json","title":"authenticationFailed - Cartes Bancaires","header":{"title":"authenticationFailed - Cartes Bancaires","controls":{"copy":{}}},"lang":"json","source":"    \"transactionReference\": \"Memory265-13/08/1876\",\n    \"acsTransactionId\": \"fe007a6e-315f-4cdf-98ca-28a9e40e3581\",\n    \"status\": \"N\",\n    \"enrolled\": \"Y\",\n    \"authentication\": {\n        \"version\": \"2.1.0\",\n        \"eci\": \"07\",\n        \"transactionId\": \"424c464d-3b04-4101-950a-8a71cd1f9dc6\",\n        \"challengePreference\": \"challengeMandated\",\n        \"authenticationFlow\": \"frictionless\",\n        \"statusReason\": \"01\",\n        \"brand\": \"cartesBancaires\"\n    },\n    \"_links\": {\n        \"3ds:authenticate\": {\n            \"href\": \"https://try.access.worldpay.com/verifications/customers/3ds/authentication\"\n        },\n        \"curies\": [\n            {\n                \"href\": \"https://try.access.worldpay.com/rels/verifications/customers/3ds/{rel}\",\n                \"name\": \"3ds\",\n                \"templated\": true\n            }\n        ]\n    }\n}"},"children":[]}]},{"$$mdtype":"Tag","name":"div","attributes":{"label":"Challenged","disable":false},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Issuer challenge required based on a risk assessment they have performed."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"file":"../examples/responses/authentication-challenged.yaml","language":"json","title":"challenged","header":{"title":"challenged","controls":{"copy":{}}},"lang":"json","source":"  {\n      \"outcome\": \"challenged\",\n      \"transactionReference\": \"Memory265-13/08/1876\",\n      \"authentication\": {\n          \"version\": \"2.1.0\"\n      },\n      \"challenge\": {\n          \"reference\": \"123456789\",\n          \"url\": \"https://ChallengePageUrl.example.com\",\n          \"jwt\": \"VGhpcyBpcyBhIGJhc2UgNjQgZW5jb2RlZCBleGFtcGxlIG9mIGEgM0RTICJwYXlsb2FkIg==\",\n          \"payload\": \"eyJtZXNzYWdlVHlwZSI6IkNSZXEiLCJtZXNzYWdlVmVyc2lvbiI6IjIuMS4wIiwidGhyZWVE\"\n      },\n      \"_links\": {\n          \"3ds:verify\": {\n              \"href\": \"https://try.access.worldpay.com/verifications/customers/3ds/verification\"\n          },\n          \"curies\": [\n              {\n                  \"href\": \"https://try.access.worldpay.com/rels/verifications/customers/3ds/{rel}\",\n                  \"templated\": true,\n                  \"name\": \"3ds\"\n              }\n          ]\n      }\n  }"},"children":[]}]},{"$$mdtype":"Tag","name":"div","attributes":{"label":"Unavailable","disable":false},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Error/timeout whilst attempting authentication. Not a recognized outage."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"file":"../examples/responses/authentication-unavailable.yaml","language":"json","title":"unavailable","header":{"title":"unavailable","controls":{"copy":{}}},"lang":"json","source":"  {\n      \"outcome\": \"unavailable\",\n      \"transactionReference\": \"Memory265-13/08/1876\",\n      \"status\": \"U\",\n      \"enrolled\": \"U\",\n      \"_links\": {\n          \"3ds:authenticate\": {\n              \"href\": \"https://try.access.worldpay.com/verifications/customers/3ds/authentication\"\n          },\n          \"curies\": [\n              {\n                  \"href\": \"https://try.access.worldpay.com/rels/verifications/customers/3ds/{rel}\",\n                  \"templated\": true,\n                  \"name\": \"3ds\"\n              }\n          ]\n      }\n  }"},"children":[]}]},{"$$mdtype":"Tag","name":"div","attributes":{"label":"Authentication outage","disable":false},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Recognized downstream 3DS outage. ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#authentication-outage"},"children":["See below"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"file":"../examples/responses/authentication-authentication-outage.yaml","language":"json","title":"authenticationOutage","header":{"title":"authenticationOutage","controls":{"copy":{}}},"lang":"json","source":"    {\n        \"outcome\": \"authenticationOutage\",\n        \"transactionReference\": \"Memory265-13/08/1876\",\n        \"_links\": {\n            \"3ds:authenticate\": {\n                \"href\": \"https://try.access.worldpay.com/verifications/customers/3ds/authentication\"\n            },\n            \"curies\": [{\n                \"href\": \"https://try.access.worldpay.com/rels/verifications/customers/3ds/{rel}\",\n                \"templated\": true,\n                \"name\": \"3ds\"\n            }]\n        }\n    }"},"children":[]}]},{"$$mdtype":"Tag","name":"div","attributes":{"label":"Bypassed","disable":false},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Bypass the authentication flow using Cardinal rules engine configuration. Part of 3DS premium."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"file":"../examples/responses/authentication-bypassed.yaml","language":"json","title":"bypassed","header":{"title":"bypassed","controls":{"copy":{}}},"lang":"json","source":"  {\n      \"outcome\": \"bypassed\",\n      \"transactionReference\": \"Memory265-13/08/1876\",\n      \"acsTransactionId\": \"fe007a6e-315f-4cdf-98ca-28a9e40e3581\",\n      \"status\": \"Y\",\n      \"enrolled\": \"B\",\n      \"authentication\": {\n          \"version\": \"2.1.0\",\n          \"eci\": \"07\",\n          \"transactionId\": \"c5b808e7-1de1-4069-a17b-f70d3b3b1645\"\n      }\n  }"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning","name":"Warning"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You cannot re-use the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["authenticationValue"]}," in multiple authorization requests. Re-using the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["authenticationValue"]}," in this way will result in issuer declines and may incur fees."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"authentication-outage","__idx":8},"children":["Authentication outage"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If the outcome is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["authenticationOutage"]}," due to a recognized downstream issue (e.g. Visa/Mastercard/ACS provider), you can attempt authorization using the authentication outage exemption in the authorization request. This will increase the likelihood of receiving a successful authorization but will not be eligible for liability shift."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This is currently not enabled by default, speak to your Worldpay Implementation Manager to be set up for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["authenticationOutage"]}," responses."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Apply the details (such as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["eci"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["version"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["authenticationValue"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transactionId"]},") required by ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/card-payments/"},"children":["Card Payments"]}," in the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/card-payments/authorize-a-payment#3ds"},"children":["authorization request"]},". If the outcome is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["challenged"]},", proceed with ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/3ds/android-ios/challenge-verification"},"children":["challenge display & verification"]},". See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/3ds/testing"},"children":["Testing"]}," for details."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Next steps"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/3ds/android-ios/challenge-verification"},"children":["Challenge"]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/card-payments/authorize-a-payment#3ds"},"children":["Take a payment"]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/3ds/testing"},"children":["Testing"]}]}]},"headings":[{"value":"Authentication","id":"authentication","depth":1},{"value":"Authentication example request","id":"authentication-example-request","depth":2},{"value":"How much data to provide","id":"how-much-data-to-provide","depth":2},{"value":"EMVco required values","id":"emvco-required-values","depth":3},{"value":"EMVco recommended values","id":"emvco-recommended-values","depth":4},{"value":"Device Data Collection failure","id":"device-data-collection-failure","depth":3},{"value":"Full authentication request schema","id":"full-authentication-request-schema","depth":3},{"value":"Authentication responses","id":"authentication-responses","depth":2},{"value":"Authentication outage","id":"authentication-outage","depth":3}],"frontmatter":{"seo":{"title":"Authentication (Android and iOS) | 3DS API"}},"lastModified":"2026-06-09T11:39:59.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/products/3ds/android-ios/authentication","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}