{"templateId":"markdown","versions":[{"version":"20261001","label":"(Preview) 2026-10-01","link":"/products/3ds/20261001","default":false,"active":true,"folderId":"9e210f12"},{"version":"v1","label":"v1","link":"/products/3ds/v1","default":false,"active":false,"folderId":"9e210f12"},{"version":"v2","label":"v2","link":"/products/3ds/v2","default":false,"active":false,"folderId":"9e210f12"},{"version":"v3","label":"v3 (Latest)","link":"/products/3ds","default":true,"active":false,"folderId":"9e210f12"}],"sharedDataIds":{"sidebar":"sidebar-products/3ds/sidebars.yaml","current-catalog-info":"current-catalog-info-/products/3ds/openapi","api-docs-products/3ds/@20261001/openapi.yaml":"api-docs-products/3ds/@20261001/openapi.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition","partial","openapi-code-sample","cards","card","openapi-response-sample","tabs","tab"]},"custom_product":"3DS","type":"markdown"},"seo":{"title":"3DS Authentication API | Worldpay Developer","description":"Perform 3DS authentication to minimize fraud and verify your customer's identity. Use our strong customer authentication (SCA) to benefit from liability shift.","siteUrl":"https://docs.worldpay.com","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/**/*"]},{"title":"Payment Queries API","description":"Querying your payments data, based on a variety of parameters.","includeFiles":["products/payment-queries/@v1/**/*"]},{"title":"Card BIN Data API","description":"Provides detailed information about a card.","includeFiles":["products/card-bin/@v1/**/*"]},{"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/**/*"]},{"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/**/*"]},{"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/**/*"]},{"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/**/*"]},{"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/**/*"]},{"title":"Card Verifications API","description":"Verify your customer's card to maximize your authentication rates.","includeFiles":["products/card-verifications/@v6/**/*"]},{"title":"Account Payouts API","description":"Send funds to your customer's bank accounts and search for payouts using parameters.","includeFiles":["products/account-payouts/@20250101/**/*"]},{"title":"APMs","description":"Pay using eWallets, bank transfers, direct debits, local card schemes, Postpay and eInvoice/ Buy Now Pay Later.","includeFiles":["products/apms/@20240701/**/*"]},{"title":"Balance API","description":"Request your account details for a single account or all accounts under an entity.","includeFiles":["products/balance/@20250101/**/*"]},{"title":"Card Payouts API","description":"Send funds to your customer's cards.","includeFiles":["products/card-payouts/@v4/**/*"]},{"title":"Events (Webhooks)","description":"Receive status updates from Access Worldpay by setting up a webhook.","includeFiles":["products/events/@v1/**/*"]},{"title":"FX API","description":"Manage Foreign Exchange (FX) on your payments.","includeFiles":["products/fx/@v1/**/*"]},{"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/**/*"]},{"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/**/*"]},{"title":"Parties API","description":"Create parties, manage your payout instruments and beneficial owners and carry out identity verification checks.","includeFiles":["products/parties/@20250101/**/*"]},{"title":"SCA Exemptions API","description":"Maximize a frictionless checkout experience by using issuer data insights to apply exemptions.","includeFiles":["products/sca-exemptions/@v1/**/*"]},{"title":"Split Payments API","description":"Divide funds from a single payment amongst yourself and your parties/sellers.","includeFiles":["products/split-payments/@20250625/**/*"]},{"title":"Statements API","description":"Retrieve your account statement and see individual entries for all credits and debits.","includeFiles":["products/statements/@20250101/**/*"]},{"title":"Transfers API","description":"Transfer funds from source account to target account.","includeFiles":["products/transfers/@20250101/**/*"]},{"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/**/*"]}]}},"dynamicMarkdocComponents":["openapi"],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"danger","name":"Preview only"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This is a preview of the next major version and is subject to change."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Estimated availability: Late 2026"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Last updated"]},": 12 August 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":"3ds-api","__idx":0},"children":["3DS API"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Verify your customer's identity to minimize fraud. Use our Strong Customer Authentication (SCA) to benefit from liability shift."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["3DS allows you to meet the Strong Customer Authentication (SCA) requirement under the PSD2 regulation as well as shifting liability for fraudulent transactions to the issuer. Learn more about ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/3ds-sca-exemptions#when-sca-applies"},"children":["when SCA applies"]},"."]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Supported payment methods"]},": ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["American Express / Cartes Bancaires / Discover / Diners / EFTPOS  / JCB / Maestro / MasterCard / MasterCard Debit / Visa / Visa Debit / Visa Electron (UK only)"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"sequence-diagram","__idx":1},"children":["Sequence diagram"]},{"$$mdtype":"Tag","name":"Diagram","attributes":{"data-language":"mermaid","diagramType":"mermaid","diagramSource":"\nsequenceDiagram\n    autonumber\n    participant c as Customer\n    participant fe as Merchant frontend\n    participant be as Merchant backend\n    participant 3hfe as 3DS hosted page\n    participant 3 as 3DS API\n    be->>3: Authentication request\n    3->>be: Authentication response\n    be->>fe: Redirect URL\n    fe->>3hfe: Submit redirect URL\n    3hfe<<-->>c: Collect customer browser data (hidden)\n    opt Issuer Challenge response\n    3hfe<<-->>c: Display challenge (visible)\n    end\n    3hfe->>fe: postMessage with outcome <br> e.g. 3dsAuthenticated\n    fe->>be: complete\n    be->>3: Request /{authenticationId}\n    3->>be: Response <br> Full details e.g. authenticationValue, eci\n\n","diagramHtml":"<svg id=\"diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" style=\"max-width: 1052px;\" viewBox=\"-50 -10 1052 718\" role=\"graphics-document document\" aria-roledescription=\"sequence\"><style>\n    #diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 foreignObject {\n      overflow: visible;\n    }\n  </style><g><rect x=\"802\" y=\"632\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"3\" rx=\"3\" ry=\"3\" class=\"actor actor-bottom\"></rect><text x=\"877\" y=\"664.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"877\" dy=\"0\">3DS API</tspan></text></g><g><rect x=\"602\" y=\"632\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"3hfe\" rx=\"3\" ry=\"3\" class=\"actor actor-bottom\"></rect><text x=\"677\" y=\"664.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"677\" dy=\"0\">3DS hosted page</tspan></text></g><g><rect x=\"400\" y=\"632\" fill=\"#eaeaea\" stroke=\"#666\" width=\"152\" height=\"65\" name=\"be\" rx=\"3\" ry=\"3\" class=\"actor actor-bottom\"></rect><text x=\"476\" y=\"664.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"476\" dy=\"0\">Merchant backend</tspan></text></g><g><rect x=\"200\" y=\"632\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"fe\" rx=\"3\" ry=\"3\" class=\"actor actor-bottom\"></rect><text x=\"275\" y=\"664.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"275\" dy=\"0\">Merchant frontend</tspan></text></g><g><rect x=\"0\" y=\"632\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"c\" rx=\"3\" ry=\"3\" class=\"actor actor-bottom\"></rect><text x=\"75\" y=\"664.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"75\" dy=\"0\">Customer</tspan></text></g><g><line id=\"actor4\" x1=\"877\" y1=\"65\" x2=\"877\" y2=\"632\" class=\"actor-line 200\" stroke-width=\"0.5px\" stroke=\"#999\" name=\"3\" data-et=\"life-line\" data-id=\"3\"></line><g id=\"root-4\" data-et=\"participant\" data-type=\"participant\" data-id=\"3\"><rect x=\"802\" y=\"0\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"3\" rx=\"3\" ry=\"3\" class=\"actor actor-top\"></rect><text x=\"877\" y=\"32.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"877\" dy=\"0\">3DS API</tspan></text></g></g><g><line id=\"actor3\" x1=\"677\" y1=\"65\" x2=\"677\" y2=\"632\" class=\"actor-line 200\" stroke-width=\"0.5px\" stroke=\"#999\" name=\"3hfe\" data-et=\"life-line\" data-id=\"3hfe\"></line><g id=\"root-3\" data-et=\"participant\" data-type=\"participant\" data-id=\"3hfe\"><rect x=\"602\" y=\"0\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"3hfe\" rx=\"3\" ry=\"3\" class=\"actor actor-top\"></rect><text x=\"677\" y=\"32.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"677\" dy=\"0\">3DS hosted page</tspan></text></g></g><g><line id=\"actor2\" x1=\"476\" y1=\"65\" x2=\"476\" y2=\"632\" class=\"actor-line 200\" stroke-width=\"0.5px\" stroke=\"#999\" name=\"be\" data-et=\"life-line\" data-id=\"be\"></line><g id=\"root-2\" data-et=\"participant\" data-type=\"participant\" data-id=\"be\"><rect x=\"400\" y=\"0\" fill=\"#eaeaea\" stroke=\"#666\" width=\"152\" height=\"65\" name=\"be\" rx=\"3\" ry=\"3\" class=\"actor actor-top\"></rect><text x=\"476\" y=\"32.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"476\" dy=\"0\">Merchant backend</tspan></text></g></g><g><line id=\"actor1\" x1=\"275\" y1=\"65\" x2=\"275\" y2=\"632\" class=\"actor-line 200\" stroke-width=\"0.5px\" stroke=\"#999\" name=\"fe\" data-et=\"life-line\" data-id=\"fe\"></line><g id=\"root-1\" data-et=\"participant\" data-type=\"participant\" data-id=\"fe\"><rect x=\"200\" y=\"0\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"fe\" rx=\"3\" ry=\"3\" class=\"actor actor-top\"></rect><text x=\"275\" y=\"32.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"275\" dy=\"0\">Merchant frontend</tspan></text></g></g><g><line id=\"actor0\" x1=\"75\" y1=\"65\" x2=\"75\" y2=\"632\" class=\"actor-line 200\" stroke-width=\"0.5px\" stroke=\"#999\" name=\"c\" data-et=\"life-line\" data-id=\"c\"></line><g id=\"root-0\" data-et=\"participant\" data-type=\"participant\" data-id=\"c\"><rect x=\"0\" y=\"0\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"c\" rx=\"3\" ry=\"3\" class=\"actor actor-top\"></rect><text x=\"75\" y=\"32.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"75\" dy=\"0\">Customer</tspan></text></g></g><style>#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 .error-icon{fill:#552222;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 .error-text{fill:#552222;stroke:#552222;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 .edge-thickness-normal{stroke-width:1px;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 .edge-thickness-thick{stroke-width:3.5px;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 .edge-pattern-solid{stroke-dasharray:0;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 .edge-pattern-dashed{stroke-dasharray:3;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 .edge-pattern-dotted{stroke-dasharray:2;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 .marker{fill:#333333;stroke:#333333;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 .marker.cross{stroke:#333333;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 svg{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 p{margin:0;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 .actor{stroke:#9370DB;fill:#ECECFF;stroke-width:1;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 rect.actor.outer-path[data-look=\"neo\"]{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 rect.note[data-look=\"neo\"]{stroke:#aaaa33;fill:#fff5ad;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 text.actor&gt;tspan{fill:black;stroke:none;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 .actor-line{stroke:#9370DB;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 .innerArc{stroke-width:1.5;stroke-dasharray:none;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 [id$=\"-arrowhead\"] path{fill:#333;stroke:#333;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 .sequenceNumber{fill:white;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 [id$=\"-sequencenumber\"]{fill:#333;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 [id$=\"-crosshead\"] path{fill:#333;stroke:#333;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 .messageText{fill:#333;stroke:none;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 .labelBox{stroke:#9370DB;fill:#ECECFF;filter:none;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 .labelText,#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 .labelText&gt;tspan{fill:black;stroke:none;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 .loopText,#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 .loopText&gt;tspan{fill:black;stroke:none;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 .sectionTitle,#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 .sectionTitle&gt;tspan{fill:black;stroke:none;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:#9370DB;fill:#9370DB;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 .note{stroke:#aaaa33;fill:#fff5ad;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 .noteText,#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 .noteText&gt;tspan{fill:black;stroke:none;font-weight:normal;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 .activation0{fill:#f4f4f4;stroke:#666;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 .activation1{fill:#f4f4f4;stroke:#666;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 .activation2{fill:#f4f4f4;stroke:#666;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 .actorPopupMenu{position:absolute;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 .actor-man circle,#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 line{fill:#ECECFF;stroke-width:2px;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 g rect.rect{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));stroke:#9370DB;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 .node .neo-node{stroke:#9370DB;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 [data-look=\"neo\"].node rect,#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 [data-look=\"neo\"].cluster rect,#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 [data-look=\"neo\"].node polygon{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 [data-look=\"neo\"].node path{stroke:#9370DB;stroke-width:1px;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 [data-look=\"neo\"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 [data-look=\"neo\"].node .neo-line path{stroke:#9370DB;filter:none;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 [data-look=\"neo\"].node circle{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 [data-look=\"neo\"].icon-shape .icon{fill:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 [data-look=\"neo\"].icon-shape .icon-neo path{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16 :root{--mermaid-font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;}</style><g></g><defs><symbol id=\"diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16-computer\" width=\"24\" height=\"24\"><path transform=\"scale(.5)\" d=\"M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z\"></path></symbol></defs><defs><symbol id=\"diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16-database\" fill-rule=\"evenodd\" clip-rule=\"evenodd\"><path transform=\"scale(.5)\" d=\"M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z\"></path></symbol></defs><defs><symbol id=\"diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16-clock\" width=\"24\" height=\"24\"><path transform=\"scale(.5)\" d=\"M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z\"></path></symbol></defs><defs><marker id=\"diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16-arrowhead\" refX=\"7.9\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\"><path d=\"M -1 0 L 10 5 L 0 10 z\"></path></marker></defs><defs><marker id=\"diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16-crosshead\" markerWidth=\"15\" markerHeight=\"8\" orient=\"auto\" refX=\"4\" refY=\"4.5\"><path fill=\"none\" stroke=\"#000000\" stroke-width=\"1pt\" d=\"M 1,2 L 6,7 M 6,2 L 1,7\" style=\"stroke-dasharray: 0, 0;\"></path></marker></defs><defs><marker id=\"diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16-filled-head\" refX=\"15.5\" refY=\"7\" markerWidth=\"20\" markerHeight=\"28\" orient=\"auto\"><path d=\"M 18,7 L9,13 L14,7 L9,1 Z\"></path></marker></defs><defs><marker id=\"diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16-sequencenumber\" refX=\"15\" refY=\"15\" markerWidth=\"60\" markerHeight=\"40\" orient=\"auto\"><circle cx=\"15\" cy=\"15\" r=\"6\"></circle></marker></defs><defs><marker id=\"diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16-solidTopArrowHead\" refX=\"7.9\" refY=\"7.25\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\"><path d=\"M 0 0 L 10 8 L 0 8 z\"></path></marker></defs><defs><marker id=\"diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16-solidBottomArrowHead\" refX=\"7.9\" refY=\"0.75\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\"><path d=\"M 0 0 L 10 0 L 0 8 z\"></path></marker></defs><defs><marker id=\"diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16-stickTopArrowHead\" refX=\"7.5\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\"><path d=\"M 0 0 L 7 7\" stroke=\"black\" stroke-width=\"1.5\" fill=\"none\"></path></marker></defs><defs><marker id=\"diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16-stickBottomArrowHead\" refX=\"7.5\" refY=\"0\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\"><path d=\"M 0 7 L 7 0\" stroke=\"black\" stroke-width=\"1.5\" fill=\"none\"></path></marker></defs><g data-et=\"control-structure\" data-id=\"i8\"><line x1=\"64\" y1=\"301\" x2=\"688\" y2=\"301\" class=\"loopLine\"></line><line x1=\"688\" y1=\"301\" x2=\"688\" y2=\"392\" class=\"loopLine\"></line><line x1=\"64\" y1=\"392\" x2=\"688\" y2=\"392\" class=\"loopLine\"></line><line x1=\"64\" y1=\"301\" x2=\"64\" y2=\"392\" class=\"loopLine\"></line><polygon points=\"64,301 114,301 114,314 105.6,321 64,321\" class=\"labelBox\"></polygon><text x=\"89\" y=\"314\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"labelText\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">opt</text><text x=\"401\" y=\"319\" text-anchor=\"middle\" class=\"loopText\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\"><tspan x=\"401\">[Issuer Challenge response]</tspan></text></g><text x=\"675\" y=\"80\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Authentication request</text><line x1=\"483\" y1=\"111\" x2=\"873\" y2=\"111\" class=\"messageLine0\" data-et=\"message\" data-id=\"i1\" data-from=\"be\" data-to=\"3\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16-arrowhead)\" style=\"fill: none;\"></line><line x1=\"476\" y1=\"111\" x2=\"476\" y2=\"111\" stroke-width=\"0\" marker-start=\"url(#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16-sequencenumber)\"></line><text x=\"476\" y=\"115\" font-family=\"sans-serif\" font-size=\"12px\" text-anchor=\"middle\" class=\"sequenceNumber\">1</text><text x=\"678\" y=\"126\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Authentication response</text><line x1=\"882\" y1=\"157\" x2=\"480\" y2=\"157\" class=\"messageLine0\" data-et=\"message\" data-id=\"i2\" data-from=\"3\" data-to=\"be\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16-arrowhead)\" style=\"fill: none;\"></line><line x1=\"877\" y1=\"157\" x2=\"877\" y2=\"157\" stroke-width=\"0\" marker-start=\"url(#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16-sequencenumber)\"></line><text x=\"877\" y=\"161\" font-family=\"sans-serif\" font-size=\"12px\" text-anchor=\"middle\" class=\"sequenceNumber\">2</text><text x=\"377\" y=\"172\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Redirect URL</text><line x1=\"481\" y1=\"201\" x2=\"279\" y2=\"201\" class=\"messageLine0\" data-et=\"message\" data-id=\"i3\" data-from=\"be\" data-to=\"fe\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16-arrowhead)\" style=\"fill: none;\"></line><line x1=\"476\" y1=\"201\" x2=\"476\" y2=\"201\" stroke-width=\"0\" marker-start=\"url(#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16-sequencenumber)\"></line><text x=\"476\" y=\"205\" font-family=\"sans-serif\" font-size=\"12px\" text-anchor=\"middle\" class=\"sequenceNumber\">3</text><text x=\"475\" y=\"216\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Submit redirect URL</text><line x1=\"282\" y1=\"245\" x2=\"673\" y2=\"245\" class=\"messageLine0\" data-et=\"message\" data-id=\"i4\" data-from=\"fe\" data-to=\"3hfe\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16-arrowhead)\" style=\"fill: none;\"></line><line x1=\"275\" y1=\"245\" x2=\"275\" y2=\"245\" stroke-width=\"0\" marker-start=\"url(#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16-sequencenumber)\"></line><text x=\"275\" y=\"249\" font-family=\"sans-serif\" font-size=\"12px\" text-anchor=\"middle\" class=\"sequenceNumber\">4</text><text x=\"376\" y=\"260\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Collect customer browser data (hidden)</text><line x1=\"667\" y1=\"291\" x2=\"79\" y2=\"291\" class=\"messageLine1\" data-et=\"message\" data-id=\"i5\" data-from=\"3hfe\" data-to=\"c\" stroke-width=\"2\" stroke=\"none\" marker-start=\"url(#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16-arrowhead)\" marker-end=\"url(#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><line x1=\"677\" y1=\"291\" x2=\"677\" y2=\"291\" stroke-width=\"0\" marker-start=\"url(#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16-sequencenumber)\"></line><text x=\"677\" y=\"295\" font-family=\"sans-serif\" font-size=\"12px\" text-anchor=\"middle\" class=\"sequenceNumber\">5</text><text x=\"376\" y=\"351\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Display challenge (visible)</text><line x1=\"667\" y1=\"382\" x2=\"79\" y2=\"382\" class=\"messageLine1\" data-et=\"message\" data-id=\"i7\" data-from=\"3hfe\" data-to=\"c\" stroke-width=\"2\" stroke=\"none\" marker-start=\"url(#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16-arrowhead)\" marker-end=\"url(#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><line x1=\"677\" y1=\"382\" x2=\"677\" y2=\"382\" stroke-width=\"0\" marker-start=\"url(#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16-sequencenumber)\"></line><text x=\"677\" y=\"386\" font-family=\"sans-serif\" font-size=\"12px\" text-anchor=\"middle\" class=\"sequenceNumber\">6</text><text x=\"478\" y=\"407\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">postMessage with outcome </text><text x=\"478\" y=\"425\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\"> e.g. 3dsAuthenticated</text><line x1=\"682\" y1=\"456\" x2=\"279\" y2=\"456\" class=\"messageLine0\" data-et=\"message\" data-id=\"i9\" data-from=\"3hfe\" data-to=\"fe\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16-arrowhead)\" style=\"fill: none;\"></line><line x1=\"677\" y1=\"456\" x2=\"677\" y2=\"456\" stroke-width=\"0\" marker-start=\"url(#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16-sequencenumber)\"></line><text x=\"677\" y=\"460\" font-family=\"sans-serif\" font-size=\"12px\" text-anchor=\"middle\" class=\"sequenceNumber\">7</text><text x=\"374\" y=\"471\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">complete</text><line x1=\"282\" y1=\"502\" x2=\"472\" y2=\"502\" class=\"messageLine0\" data-et=\"message\" data-id=\"i10\" data-from=\"fe\" data-to=\"be\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16-arrowhead)\" style=\"fill: none;\"></line><line x1=\"275\" y1=\"502\" x2=\"275\" y2=\"502\" stroke-width=\"0\" marker-start=\"url(#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16-sequencenumber)\"></line><text x=\"275\" y=\"506\" font-family=\"sans-serif\" font-size=\"12px\" text-anchor=\"middle\" class=\"sequenceNumber\">8</text><text x=\"675\" y=\"517\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Request /{authenticationId}</text><line x1=\"483\" y1=\"548\" x2=\"873\" y2=\"548\" class=\"messageLine0\" data-et=\"message\" data-id=\"i11\" data-from=\"be\" data-to=\"3\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16-arrowhead)\" style=\"fill: none;\"></line><line x1=\"476\" y1=\"548\" x2=\"476\" y2=\"548\" stroke-width=\"0\" marker-start=\"url(#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16-sequencenumber)\"></line><text x=\"476\" y=\"552\" font-family=\"sans-serif\" font-size=\"12px\" text-anchor=\"middle\" class=\"sequenceNumber\">9</text><text x=\"678\" y=\"563\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Response </text><text x=\"678\" y=\"581\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\"> Full details e.g. authenticationValue, eci</text><line x1=\"882\" y1=\"612\" x2=\"480\" y2=\"612\" class=\"messageLine0\" data-et=\"message\" data-id=\"i12\" data-from=\"3\" data-to=\"be\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16-arrowhead)\" style=\"fill: none;\"></line><line x1=\"877\" y1=\"612\" x2=\"877\" y2=\"612\" stroke-width=\"0\" marker-start=\"url(#diagram-718c35de0c1e285a2256b6d595f07791a38e0edab43708b8eb10b96404a7ca16-sequencenumber)\"></line><text x=\"877\" y=\"616\" font-family=\"sans-serif\" font-size=\"12px\" text-anchor=\"middle\" class=\"sequenceNumber\">10</text></svg>","diagramHtmlDark":"<svg id=\"diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" style=\"max-width: 1052px;\" viewBox=\"-50 -10 1052 718\" role=\"graphics-document document\" aria-roledescription=\"sequence\"><style>\n    #diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae foreignObject {\n      overflow: visible;\n    }\n  </style><g><rect x=\"802\" y=\"632\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"3\" rx=\"3\" ry=\"3\" class=\"actor actor-bottom\"></rect><text x=\"877\" y=\"664.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"877\" dy=\"0\">3DS API</tspan></text></g><g><rect x=\"602\" y=\"632\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"3hfe\" rx=\"3\" ry=\"3\" class=\"actor actor-bottom\"></rect><text x=\"677\" y=\"664.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"677\" dy=\"0\">3DS hosted page</tspan></text></g><g><rect x=\"400\" y=\"632\" fill=\"#eaeaea\" stroke=\"#666\" width=\"152\" height=\"65\" name=\"be\" rx=\"3\" ry=\"3\" class=\"actor actor-bottom\"></rect><text x=\"476\" y=\"664.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"476\" dy=\"0\">Merchant backend</tspan></text></g><g><rect x=\"200\" y=\"632\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"fe\" rx=\"3\" ry=\"3\" class=\"actor actor-bottom\"></rect><text x=\"275\" y=\"664.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"275\" dy=\"0\">Merchant frontend</tspan></text></g><g><rect x=\"0\" y=\"632\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"c\" rx=\"3\" ry=\"3\" class=\"actor actor-bottom\"></rect><text x=\"75\" y=\"664.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"75\" dy=\"0\">Customer</tspan></text></g><g><line id=\"actor4\" x1=\"877\" y1=\"65\" x2=\"877\" y2=\"632\" class=\"actor-line 200\" stroke-width=\"0.5px\" stroke=\"#999\" name=\"3\" data-et=\"life-line\" data-id=\"3\"></line><g id=\"root-4\" data-et=\"participant\" data-type=\"participant\" data-id=\"3\"><rect x=\"802\" y=\"0\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"3\" rx=\"3\" ry=\"3\" class=\"actor actor-top\"></rect><text x=\"877\" y=\"32.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"877\" dy=\"0\">3DS API</tspan></text></g></g><g><line id=\"actor3\" x1=\"677\" y1=\"65\" x2=\"677\" y2=\"632\" class=\"actor-line 200\" stroke-width=\"0.5px\" stroke=\"#999\" name=\"3hfe\" data-et=\"life-line\" data-id=\"3hfe\"></line><g id=\"root-3\" data-et=\"participant\" data-type=\"participant\" data-id=\"3hfe\"><rect x=\"602\" y=\"0\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"3hfe\" rx=\"3\" ry=\"3\" class=\"actor actor-top\"></rect><text x=\"677\" y=\"32.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"677\" dy=\"0\">3DS hosted page</tspan></text></g></g><g><line id=\"actor2\" x1=\"476\" y1=\"65\" x2=\"476\" y2=\"632\" class=\"actor-line 200\" stroke-width=\"0.5px\" stroke=\"#999\" name=\"be\" data-et=\"life-line\" data-id=\"be\"></line><g id=\"root-2\" data-et=\"participant\" data-type=\"participant\" data-id=\"be\"><rect x=\"400\" y=\"0\" fill=\"#eaeaea\" stroke=\"#666\" width=\"152\" height=\"65\" name=\"be\" rx=\"3\" ry=\"3\" class=\"actor actor-top\"></rect><text x=\"476\" y=\"32.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"476\" dy=\"0\">Merchant backend</tspan></text></g></g><g><line id=\"actor1\" x1=\"275\" y1=\"65\" x2=\"275\" y2=\"632\" class=\"actor-line 200\" stroke-width=\"0.5px\" stroke=\"#999\" name=\"fe\" data-et=\"life-line\" data-id=\"fe\"></line><g id=\"root-1\" data-et=\"participant\" data-type=\"participant\" data-id=\"fe\"><rect x=\"200\" y=\"0\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"fe\" rx=\"3\" ry=\"3\" class=\"actor actor-top\"></rect><text x=\"275\" y=\"32.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"275\" dy=\"0\">Merchant frontend</tspan></text></g></g><g><line id=\"actor0\" x1=\"75\" y1=\"65\" x2=\"75\" y2=\"632\" class=\"actor-line 200\" stroke-width=\"0.5px\" stroke=\"#999\" name=\"c\" data-et=\"life-line\" data-id=\"c\"></line><g id=\"root-0\" data-et=\"participant\" data-type=\"participant\" data-id=\"c\"><rect x=\"0\" y=\"0\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"c\" rx=\"3\" ry=\"3\" class=\"actor actor-top\"></rect><text x=\"75\" y=\"32.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"75\" dy=\"0\">Customer</tspan></text></g></g><style>#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;fill:#ccc;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae .error-icon{fill:#a44141;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae .error-text{fill:#ddd;stroke:#ddd;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae .edge-thickness-normal{stroke-width:1px;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae .edge-thickness-thick{stroke-width:3.5px;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae .edge-pattern-solid{stroke-dasharray:0;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae .edge-pattern-dashed{stroke-dasharray:3;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae .edge-pattern-dotted{stroke-dasharray:2;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae .marker{fill:lightgrey;stroke:lightgrey;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae .marker.cross{stroke:lightgrey;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae svg{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae p{margin:0;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae .actor{stroke:#ccc;fill:#1f2020;stroke-width:1;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae rect.actor.outer-path[data-look=\"neo\"]{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae rect.note[data-look=\"neo\"]{stroke:hsl(180, 0%, 18.3529411765%);fill:hsl(180, 1.5873015873%, 28.3529411765%);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae text.actor&gt;tspan{fill:lightgrey;stroke:none;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae .actor-line{stroke:#ccc;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae .innerArc{stroke-width:1.5;stroke-dasharray:none;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:lightgrey;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:lightgrey;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae [id$=\"-arrowhead\"] path{fill:lightgrey;stroke:lightgrey;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae .sequenceNumber{fill:black;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae [id$=\"-sequencenumber\"]{fill:lightgrey;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae [id$=\"-crosshead\"] path{fill:lightgrey;stroke:lightgrey;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae .messageText{fill:lightgrey;stroke:none;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae .labelBox{stroke:#ccc;fill:#1f2020;filter:none;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae .labelText,#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae .labelText&gt;tspan{fill:lightgrey;stroke:none;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae .loopText,#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae .loopText&gt;tspan{fill:lightgrey;stroke:none;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae .sectionTitle,#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae .sectionTitle&gt;tspan{fill:lightgrey;stroke:none;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:#ccc;fill:#ccc;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae .note{stroke:hsl(180, 0%, 18.3529411765%);fill:hsl(180, 1.5873015873%, 28.3529411765%);}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae .noteText,#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae .noteText&gt;tspan{fill:rgb(183.8476190475, 181.5523809523, 181.5523809523);stroke:none;font-weight:normal;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae .activation0{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:#ccc;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae .activation1{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:#ccc;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae .activation2{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:#ccc;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae .actorPopupMenu{position:absolute;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae .actorPopupMenuPanel{position:absolute;fill:#1f2020;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae .actor-man circle,#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae line{fill:#1f2020;stroke-width:2px;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae g rect.rect{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));stroke:#ccc;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae .node .neo-node{stroke:#ccc;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae [data-look=\"neo\"].node rect,#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae [data-look=\"neo\"].cluster rect,#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae [data-look=\"neo\"].node polygon{stroke:url(#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae [data-look=\"neo\"].node path{stroke:url(#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae-gradient);stroke-width:1px;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae [data-look=\"neo\"].node .outer-path{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae [data-look=\"neo\"].node .neo-line path{stroke:#ccc;filter:none;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae [data-look=\"neo\"].node circle{stroke:url(#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae [data-look=\"neo\"].icon-shape .icon{fill:url(#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae [data-look=\"neo\"].icon-shape .icon-neo path{stroke:url(#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae :root{--mermaid-font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;}</style><g></g><defs><symbol id=\"diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae-computer\" width=\"24\" height=\"24\"><path transform=\"scale(.5)\" d=\"M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z\"></path></symbol></defs><defs><symbol id=\"diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae-database\" fill-rule=\"evenodd\" clip-rule=\"evenodd\"><path transform=\"scale(.5)\" d=\"M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z\"></path></symbol></defs><defs><symbol id=\"diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae-clock\" width=\"24\" height=\"24\"><path transform=\"scale(.5)\" d=\"M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z\"></path></symbol></defs><defs><marker id=\"diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae-arrowhead\" refX=\"7.9\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\"><path d=\"M -1 0 L 10 5 L 0 10 z\"></path></marker></defs><defs><marker id=\"diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae-crosshead\" markerWidth=\"15\" markerHeight=\"8\" orient=\"auto\" refX=\"4\" refY=\"4.5\"><path fill=\"none\" stroke=\"#000000\" stroke-width=\"1pt\" d=\"M 1,2 L 6,7 M 6,2 L 1,7\" style=\"stroke-dasharray: 0, 0;\"></path></marker></defs><defs><marker id=\"diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae-filled-head\" refX=\"15.5\" refY=\"7\" markerWidth=\"20\" markerHeight=\"28\" orient=\"auto\"><path d=\"M 18,7 L9,13 L14,7 L9,1 Z\"></path></marker></defs><defs><marker id=\"diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae-sequencenumber\" refX=\"15\" refY=\"15\" markerWidth=\"60\" markerHeight=\"40\" orient=\"auto\"><circle cx=\"15\" cy=\"15\" r=\"6\"></circle></marker></defs><defs><marker id=\"diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae-solidTopArrowHead\" refX=\"7.9\" refY=\"7.25\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\"><path d=\"M 0 0 L 10 8 L 0 8 z\"></path></marker></defs><defs><marker id=\"diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae-solidBottomArrowHead\" refX=\"7.9\" refY=\"0.75\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\"><path d=\"M 0 0 L 10 0 L 0 8 z\"></path></marker></defs><defs><marker id=\"diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae-stickTopArrowHead\" refX=\"7.5\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\"><path d=\"M 0 0 L 7 7\" stroke=\"black\" stroke-width=\"1.5\" fill=\"none\"></path></marker></defs><defs><marker id=\"diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae-stickBottomArrowHead\" refX=\"7.5\" refY=\"0\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\"><path d=\"M 0 7 L 7 0\" stroke=\"black\" stroke-width=\"1.5\" fill=\"none\"></path></marker></defs><g data-et=\"control-structure\" data-id=\"i8\"><line x1=\"64\" y1=\"301\" x2=\"688\" y2=\"301\" class=\"loopLine\"></line><line x1=\"688\" y1=\"301\" x2=\"688\" y2=\"392\" class=\"loopLine\"></line><line x1=\"64\" y1=\"392\" x2=\"688\" y2=\"392\" class=\"loopLine\"></line><line x1=\"64\" y1=\"301\" x2=\"64\" y2=\"392\" class=\"loopLine\"></line><polygon points=\"64,301 114,301 114,314 105.6,321 64,321\" class=\"labelBox\"></polygon><text x=\"89\" y=\"314\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"labelText\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">opt</text><text x=\"401\" y=\"319\" text-anchor=\"middle\" class=\"loopText\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\"><tspan x=\"401\">[Issuer Challenge response]</tspan></text></g><text x=\"675\" y=\"80\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Authentication request</text><line x1=\"483\" y1=\"111\" x2=\"873\" y2=\"111\" class=\"messageLine0\" data-et=\"message\" data-id=\"i1\" data-from=\"be\" data-to=\"3\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae-arrowhead)\" style=\"fill: none;\"></line><line x1=\"476\" y1=\"111\" x2=\"476\" y2=\"111\" stroke-width=\"0\" marker-start=\"url(#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae-sequencenumber)\"></line><text x=\"476\" y=\"115\" font-family=\"sans-serif\" font-size=\"12px\" text-anchor=\"middle\" class=\"sequenceNumber\">1</text><text x=\"678\" y=\"126\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Authentication response</text><line x1=\"882\" y1=\"157\" x2=\"480\" y2=\"157\" class=\"messageLine0\" data-et=\"message\" data-id=\"i2\" data-from=\"3\" data-to=\"be\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae-arrowhead)\" style=\"fill: none;\"></line><line x1=\"877\" y1=\"157\" x2=\"877\" y2=\"157\" stroke-width=\"0\" marker-start=\"url(#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae-sequencenumber)\"></line><text x=\"877\" y=\"161\" font-family=\"sans-serif\" font-size=\"12px\" text-anchor=\"middle\" class=\"sequenceNumber\">2</text><text x=\"377\" y=\"172\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Redirect URL</text><line x1=\"481\" y1=\"201\" x2=\"279\" y2=\"201\" class=\"messageLine0\" data-et=\"message\" data-id=\"i3\" data-from=\"be\" data-to=\"fe\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae-arrowhead)\" style=\"fill: none;\"></line><line x1=\"476\" y1=\"201\" x2=\"476\" y2=\"201\" stroke-width=\"0\" marker-start=\"url(#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae-sequencenumber)\"></line><text x=\"476\" y=\"205\" font-family=\"sans-serif\" font-size=\"12px\" text-anchor=\"middle\" class=\"sequenceNumber\">3</text><text x=\"475\" y=\"216\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Submit redirect URL</text><line x1=\"282\" y1=\"245\" x2=\"673\" y2=\"245\" class=\"messageLine0\" data-et=\"message\" data-id=\"i4\" data-from=\"fe\" data-to=\"3hfe\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae-arrowhead)\" style=\"fill: none;\"></line><line x1=\"275\" y1=\"245\" x2=\"275\" y2=\"245\" stroke-width=\"0\" marker-start=\"url(#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae-sequencenumber)\"></line><text x=\"275\" y=\"249\" font-family=\"sans-serif\" font-size=\"12px\" text-anchor=\"middle\" class=\"sequenceNumber\">4</text><text x=\"376\" y=\"260\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Collect customer browser data (hidden)</text><line x1=\"667\" y1=\"291\" x2=\"79\" y2=\"291\" class=\"messageLine1\" data-et=\"message\" data-id=\"i5\" data-from=\"3hfe\" data-to=\"c\" stroke-width=\"2\" stroke=\"none\" marker-start=\"url(#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae-arrowhead)\" marker-end=\"url(#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><line x1=\"677\" y1=\"291\" x2=\"677\" y2=\"291\" stroke-width=\"0\" marker-start=\"url(#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae-sequencenumber)\"></line><text x=\"677\" y=\"295\" font-family=\"sans-serif\" font-size=\"12px\" text-anchor=\"middle\" class=\"sequenceNumber\">5</text><text x=\"376\" y=\"351\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Display challenge (visible)</text><line x1=\"667\" y1=\"382\" x2=\"79\" y2=\"382\" class=\"messageLine1\" data-et=\"message\" data-id=\"i7\" data-from=\"3hfe\" data-to=\"c\" stroke-width=\"2\" stroke=\"none\" marker-start=\"url(#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae-arrowhead)\" marker-end=\"url(#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><line x1=\"677\" y1=\"382\" x2=\"677\" y2=\"382\" stroke-width=\"0\" marker-start=\"url(#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae-sequencenumber)\"></line><text x=\"677\" y=\"386\" font-family=\"sans-serif\" font-size=\"12px\" text-anchor=\"middle\" class=\"sequenceNumber\">6</text><text x=\"478\" y=\"407\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">postMessage with outcome </text><text x=\"478\" y=\"425\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\"> e.g. 3dsAuthenticated</text><line x1=\"682\" y1=\"456\" x2=\"279\" y2=\"456\" class=\"messageLine0\" data-et=\"message\" data-id=\"i9\" data-from=\"3hfe\" data-to=\"fe\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae-arrowhead)\" style=\"fill: none;\"></line><line x1=\"677\" y1=\"456\" x2=\"677\" y2=\"456\" stroke-width=\"0\" marker-start=\"url(#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae-sequencenumber)\"></line><text x=\"677\" y=\"460\" font-family=\"sans-serif\" font-size=\"12px\" text-anchor=\"middle\" class=\"sequenceNumber\">7</text><text x=\"374\" y=\"471\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">complete</text><line x1=\"282\" y1=\"502\" x2=\"472\" y2=\"502\" class=\"messageLine0\" data-et=\"message\" data-id=\"i10\" data-from=\"fe\" data-to=\"be\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae-arrowhead)\" style=\"fill: none;\"></line><line x1=\"275\" y1=\"502\" x2=\"275\" y2=\"502\" stroke-width=\"0\" marker-start=\"url(#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae-sequencenumber)\"></line><text x=\"275\" y=\"506\" font-family=\"sans-serif\" font-size=\"12px\" text-anchor=\"middle\" class=\"sequenceNumber\">8</text><text x=\"675\" y=\"517\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Request /{authenticationId}</text><line x1=\"483\" y1=\"548\" x2=\"873\" y2=\"548\" class=\"messageLine0\" data-et=\"message\" data-id=\"i11\" data-from=\"be\" data-to=\"3\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae-arrowhead)\" style=\"fill: none;\"></line><line x1=\"476\" y1=\"548\" x2=\"476\" y2=\"548\" stroke-width=\"0\" marker-start=\"url(#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae-sequencenumber)\"></line><text x=\"476\" y=\"552\" font-family=\"sans-serif\" font-size=\"12px\" text-anchor=\"middle\" class=\"sequenceNumber\">9</text><text x=\"678\" y=\"563\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Response </text><text x=\"678\" y=\"581\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\"> Full details e.g. authenticationValue, eci</text><line x1=\"882\" y1=\"612\" x2=\"480\" y2=\"612\" class=\"messageLine0\" data-et=\"message\" data-id=\"i12\" data-from=\"3\" data-to=\"be\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae-arrowhead)\" style=\"fill: none;\"></line><line x1=\"877\" y1=\"612\" x2=\"877\" y2=\"612\" stroke-width=\"0\" marker-start=\"url(#diagram-6710ec300a21ff7c61024a8f1e266b1aee8850af22973159b9add2c4189e53ae-sequencenumber)\"></line><text x=\"877\" y=\"616\" font-family=\"sans-serif\" font-size=\"12px\" text-anchor=\"middle\" class=\"sequenceNumber\">10</text></svg>"},"children":["\nsequenceDiagram\n    autonumber\n    participant c as Customer\n    participant fe as Merchant frontend\n    participant be as Merchant backend\n    participant 3hfe as 3DS hosted page\n    participant 3 as 3DS API\n    be->>3: Authentication request\n    3->>be: Authentication response\n    be->>fe: Redirect URL\n    fe->>3hfe: Submit redirect URL\n    3hfe<<-->>c: Collect customer browser data (hidden)\n    opt Issuer Challenge response\n    3hfe<<-->>c: Display challenge (visible)\n    end\n    3hfe->>fe: postMessage with outcome <br> e.g. 3dsAuthenticated\n    fe->>be: complete\n    be->>3: Request /{authenticationId}\n    3->>be: Response <br> Full details e.g. authenticationValue, eci\n\n"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"get-started","__idx":2},"children":["Get started"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Get started using our ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/3ds/20261001/openapi"},"children":["API reference"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"authentication-request","__idx":3},"children":["Authentication request"]},{"$$mdtype":"Tag","name":"OpenApiCodeSample","attributes":{"descriptionFile":"api-docs-products/3ds/@20261001/openapi.yaml","operationId":"authenticate","parameters":{},"environments":{},"codeSamplesResolved":[{"lang":"json","title":"Payload application/json","source":"{\n  \"orderReference\": \"order-1234\",\n  \"transactionReference\": \"request-5678\",\n  \"merchant\": {\n    \"entity\": \"default\"\n  },\n  \"instruction\": {\n    \"value\": {\n      \"amount\": 100,\n      \"currency\": \"GBP\"\n    },\n    \"paymentInstrument\": {\n      \"type\": \"card/plain\",\n      \"cardNumber\": \"4444333322221111\",\n      \"cardHolderName\": \"Sherlock Holmes\",\n      \"expiryDate\": {\n        \"month\": 1,\n        \"year\": 2028\n      },\n      \"billingAddress\": {\n        \"address1\": \"221B Baker Street\",\n        \"city\": \"London\",\n        \"postalCode\": \"NW1 6XE\",\n        \"countryCode\": \"GB\"\n      }\n    }\n  },\n  \"deviceData\": {\n    \"acceptHeader\": \"text/html\",\n    \"userAgentHeader\": \"Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0)\"\n  },\n  \"customer\": {\n    \"firstName\": \"Sherlock\",\n    \"lastName\": \"Holmes\",\n    \"phone\": \"02031234321\",\n    \"email\": \"sherlock.holmes@example.com\"\n  }\n}"},{"lang":"shell","title":"curl","source":"curl -i -X POST \\\n  https://try.access.worldpay.com/3ds/authentications \\\n  -H 'Content-Type: application/json' \\\n  -H 'WP-Api-Version: 2026-10-01' \\\n  -d '{\n    \"orderReference\": \"order-1234\",\n    \"transactionReference\": \"request-5678\",\n    \"merchant\": {\n      \"entity\": \"default\"\n    },\n    \"instruction\": {\n      \"value\": {\n        \"amount\": 100,\n        \"currency\": \"GBP\"\n      },\n      \"paymentInstrument\": {\n        \"type\": \"card/plain\",\n        \"cardNumber\": \"4444333322221111\",\n        \"cardHolderName\": \"Sherlock Holmes\",\n        \"expiryDate\": {\n          \"month\": 1,\n          \"year\": 2028\n        },\n        \"billingAddress\": {\n          \"address1\": \"221B Baker Street\",\n          \"city\": \"London\",\n          \"postalCode\": \"NW1 6XE\",\n          \"countryCode\": \"GB\"\n        }\n      }\n    },\n    \"deviceData\": {\n      \"acceptHeader\": \"text/html\",\n      \"userAgentHeader\": \"Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0)\"\n    },\n    \"customer\": {\n      \"firstName\": \"Sherlock\",\n      \"lastName\": \"Holmes\",\n      \"phone\": \"02031234321\",\n      \"email\": \"sherlock.holmes@example.com\"\n    }\n  }'"},{"lang":"python","title":"Python","source":"import requests\n\nurl = \"https://try.access.worldpay.com/3ds/authentications\"\n\npayload = {\n  \"orderReference\": \"order-1234\",\n  \"transactionReference\": \"request-5678\",\n  \"merchant\": {\n    \"entity\": \"default\"\n  },\n  \"instruction\": {\n    \"value\": {\n      \"amount\": 100,\n      \"currency\": \"GBP\"\n    },\n    \"paymentInstrument\": {\n      \"type\": \"card/plain\",\n      \"cardNumber\": \"4444333322221111\",\n      \"cardHolderName\": \"Sherlock Holmes\",\n      \"expiryDate\": {\n        \"month\": 1,\n        \"year\": 2028\n      },\n      \"billingAddress\": {\n        \"address1\": \"221B Baker Street\",\n        \"city\": \"London\",\n        \"postalCode\": \"NW1 6XE\",\n        \"countryCode\": \"GB\"\n      }\n    }\n  },\n  \"deviceData\": {\n    \"acceptHeader\": \"text/html\",\n    \"userAgentHeader\": \"Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0)\"\n  },\n  \"customer\": {\n    \"firstName\": \"Sherlock\",\n    \"lastName\": \"Holmes\",\n    \"phone\": \"02031234321\",\n    \"email\": \"sherlock.holmes@example.com\"\n  }\n}\n\nheaders = {\n  \"Content-Type\": \"application/json\",\n  \"WP-Api-Version\": \"2026-10-01\"\n}\n\nresponse = requests.post(url, json=payload, headers=headers)\n\ndata = response.json()\nprint(data)"},{"lang":"java","title":"Java","source":"import java.net.*;\nimport java.net.http.*;\nimport java.util.*;\n\npublic class App {\n  public static void main(String[] args) throws Exception {\n    var httpClient = HttpClient.newBuilder().build();\n\n    var payload = String.join(\"\\n\"\n      , \"{\"\n      , \" \\\"orderReference\\\": \\\"order-1234\\\",\"\n      , \" \\\"transactionReference\\\": \\\"request-5678\\\",\"\n      , \" \\\"merchant\\\": {\"\n      , \"  \\\"entity\\\": \\\"default\\\"\"\n      , \" },\"\n      , \" \\\"instruction\\\": {\"\n      , \"  \\\"value\\\": {\"\n      , \"   \\\"amount\\\": 100,\"\n      , \"   \\\"currency\\\": \\\"GBP\\\"\"\n      , \"  },\"\n      , \"  \\\"paymentInstrument\\\": {\"\n      , \"   \\\"type\\\": \\\"card/plain\\\",\"\n      , \"   \\\"cardNumber\\\": \\\"4444333322221111\\\",\"\n      , \"   \\\"cardHolderName\\\": \\\"Sherlock Holmes\\\",\"\n      , \"   \\\"expiryDate\\\": {\"\n      , \"    \\\"month\\\": 1,\"\n      , \"    \\\"year\\\": 2028\"\n      , \"   },\"\n      , \"   \\\"billingAddress\\\": {\"\n      , \"    \\\"address1\\\": \\\"221B Baker Street\\\",\"\n      , \"    \\\"city\\\": \\\"London\\\",\"\n      , \"    \\\"postalCode\\\": \\\"NW1 6XE\\\",\"\n      , \"    \\\"countryCode\\\": \\\"GB\\\"\"\n      , \"   }\"\n      , \"  }\"\n      , \" },\"\n      , \" \\\"deviceData\\\": {\"\n      , \"  \\\"acceptHeader\\\": \\\"text/html\\\",\"\n      , \"  \\\"userAgentHeader\\\": \\\"Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0)\\\"\"\n      , \" },\"\n      , \" \\\"customer\\\": {\"\n      , \"  \\\"firstName\\\": \\\"Sherlock\\\",\"\n      , \"  \\\"lastName\\\": \\\"Holmes\\\",\"\n      , \"  \\\"phone\\\": \\\"02031234321\\\",\"\n      , \"  \\\"email\\\": \\\"sherlock.holmes@example.com\\\"\"\n      , \" }\"\n      , \"}\"\n    );\n\n    var host = \"https://try.access.worldpay.com\";\n    var pathname = \"/3ds/authentications\";\n    var request = HttpRequest.newBuilder()\n      .POST(HttpRequest.BodyPublishers.ofString(payload))\n      .uri(URI.create(host + pathname ))\n      .header(\"Content-Type\", \"application/json\")\n      .header(\"WP-Api-Version\", \"2026-10-01\")\n      .build();\n\n    var response = httpClient.send(request, HttpResponse.BodyHandlers.ofString());\n\n    System.out.println(response.body());\n  }\n}"},{"lang":"javascript","title":"Node.js","source":"import fetch from 'node-fetch';\n\nasync function run() {\n  const resp = await fetch(\n    `https://try.access.worldpay.com/3ds/authentications`,\n    {\n      method: 'POST',\n      headers: {\n        'Content-Type': 'application/json',\n        'WP-Api-Version': '2026-10-01'\n      },\n      body: JSON.stringify({\n        orderReference: 'order-1234',\n        transactionReference: 'request-5678',\n        merchant: {entity: 'default'},\n        instruction: {\n          value: {\n            amount: 100,\n            currency: 'GBP'\n          },\n          paymentInstrument: {\n            type: 'card/plain',\n            cardNumber: '4444333322221111',\n            cardHolderName: 'Sherlock Holmes',\n            expiryDate: {month: 1, year: 2028},\n            billingAddress: {\n              address1: '221B Baker Street',\n              city: 'London',\n              postalCode: 'NW1 6XE',\n              countryCode: 'GB'\n            }\n          }\n        },\n        deviceData: {\n          acceptHeader: 'text/html',\n          userAgentHeader: 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0)'\n        },\n        customer: {\n          firstName: 'Sherlock',\n          lastName: 'Holmes',\n          phone: '02031234321',\n          email: 'sherlock.holmes@example.com'\n        }\n      })\n    }\n  );\n\n  const data = await resp.json();\n  console.log(data);\n}\n\nrun();"},{"lang":"go","title":"Go","source":"package main\n\nimport (\n  \"fmt\"\n  \"bytes\"\n  \"net/http\"\n  \"io/ioutil\"\n)\n\nfunc main() {\n  reqUrl := \"https://try.access.worldpay.com/3ds/authentications\"\n  var data = []byte(`{\n    \"orderReference\": \"order-1234\",\n    \"transactionReference\": \"request-5678\",\n    \"merchant\": {\n      \"entity\": \"default\"\n    },\n    \"instruction\": {\n      \"value\": {\n        \"amount\": 100,\n        \"currency\": \"GBP\"\n      },\n      \"paymentInstrument\": {\n        \"type\": \"card/plain\",\n        \"cardNumber\": \"4444333322221111\",\n        \"cardHolderName\": \"Sherlock Holmes\",\n        \"expiryDate\": {\n          \"month\": 1,\n          \"year\": 2028\n        },\n        \"billingAddress\": {\n          \"address1\": \"221B Baker Street\",\n          \"city\": \"London\",\n          \"postalCode\": \"NW1 6XE\",\n          \"countryCode\": \"GB\"\n        }\n      }\n    },\n    \"deviceData\": {\n      \"acceptHeader\": \"text/html\",\n      \"userAgentHeader\": \"Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0)\"\n    },\n    \"customer\": {\n      \"firstName\": \"Sherlock\",\n      \"lastName\": \"Holmes\",\n      \"phone\": \"02031234321\",\n      \"email\": \"sherlock.holmes@example.com\"\n    }\n  }`)\n  req, err := http.NewRequest(\"POST\", reqUrl, bytes.NewBuffer(data))\n  if err != nil {\n    panic(err)\n  }\n  req.Header.Add(\"Content-Type\", \"application/json\")\n  req.Header.Add(\"WP-Api-Version\", \"2026-10-01\")\n  res, err := http.DefaultClient.Do(req)\n  if err != nil {\n    panic(err)\n  }\n  defer res.Body.Close()\n  body, err := ioutil.ReadAll(res.Body)\n  if err != nil {\n    panic(err)\n  }\n\n  fmt.Println(res)\n  fmt.Println(string(body))\n}"},{"lang":"php","title":"PHP","source":"/**\n * Requires libcurl\n */\n\n$curl = curl_init();\n\n$payload = array(\n  \"orderReference\" => \"order-1234\",\n  \"transactionReference\" => \"request-5678\",\n  \"merchant\" => array(\n    \"entity\" => \"default\"\n  ),\n  \"instruction\" => array(\n    \"value\" => array(\n      \"amount\" => 100,\n      \"currency\" => \"GBP\"\n    ),\n    \"paymentInstrument\" => array(\n      \"type\" => \"card/plain\",\n      \"cardNumber\" => \"4444333322221111\",\n      \"cardHolderName\" => \"Sherlock Holmes\",\n      \"expiryDate\" => array(\n        \"month\" => 1,\n        \"year\" => 2028\n      ),\n      \"billingAddress\" => array(\n        \"address1\" => \"221B Baker Street\",\n        \"city\" => \"London\",\n        \"postalCode\" => \"NW1 6XE\",\n        \"countryCode\" => \"GB\"\n      )\n    )\n  ),\n  \"deviceData\" => array(\n    \"acceptHeader\" => \"text/html\",\n    \"userAgentHeader\" => \"Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0)\"\n  ),\n  \"customer\" => array(\n    \"firstName\" => \"Sherlock\",\n    \"lastName\" => \"Holmes\",\n    \"phone\" => \"02031234321\",\n    \"email\" => \"sherlock.holmes@example.com\"\n  )\n);\n\ncurl_setopt_array($curl, [\n  CURLOPT_HTTPHEADER => [\n    \"Content-Type: application/json\",\n    \"WP-Api-Version: 2026-10-01\"\n  ],\n  CURLOPT_POSTFIELDS => json_encode($payload),\n  CURLOPT_URL => \"https://try.access.worldpay.com/3ds/authentications\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n]);\n\n$response = curl_exec($curl);\n$error = curl_error($curl);\n\ncurl_close($curl);\n\nif ($error) {\n  echo \"cURL Error #:\" . $error;\n} else {\n  echo $response;\n}"},{"lang":"ruby","title":"Ruby","source":"require 'json'\nrequire 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI('https://try.access.worldpay.com/3ds/authentications')\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\n\nrequest = Net::HTTP::Post.new(url)\nrequest['Content-Type'] = 'application/json'\nrequest['WP-Api-Version'] = '2026-10-01'\nrequest.body = {\n  orderReference: 'order-1234',\n  transactionReference: 'request-5678',\n  merchant: {entity: 'default'},\n  instruction: {\n    value: {\n      amount: 100,\n      currency: 'GBP'\n    },\n    paymentInstrument: {\n      type: 'card/plain',\n      cardNumber: '4444333322221111',\n      cardHolderName: 'Sherlock Holmes',\n      expiryDate: {month: 1, year: 2028},\n      billingAddress: {\n        address1: '221B Baker Street',\n        city: 'London',\n        postalCode: 'NW1 6XE',\n        countryCode: 'GB'\n      }\n    }\n  },\n  deviceData: {\n    acceptHeader: 'text/html',\n    userAgentHeader: 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0)'\n  },\n  customer: {\n    firstName: 'Sherlock',\n    lastName: 'Holmes',\n    phone: '02031234321',\n    email: 'sherlock.holmes@example.com'\n  }\n}.to_json\n\nresponse = http.request(request)\nputs response.read_body\n"},{"lang":"csharp","title":"C#","source":"using System;\nusing System.Net.Http;\nusing System.Threading.Tasks;\nusing System.Text;\nusing System.Text.Json;\n\npublic class Program\n{\n  public static async Task Main()\n  {\n    System.Net.Http.HttpClient client = new()\n    {\n      DefaultRequestHeaders =\n      {\n        {\"WP-Api-Version\", \"2026-10-01\"},\n      }\n    };\n\n    string json = JsonSerializer.Serialize(new\n    {\n      orderReference = \"order-1234\",\n      transactionReference = \"request-5678\",\n      merchant = new {\n        entity = \"default\"\n      },\n      instruction = new {\n        value = new {\n          amount = \"100\",\n          currency = \"GBP\"\n        },\n        paymentInstrument = new {\n          type = \"card/plain\",\n          cardNumber = \"4444333322221111\",\n          cardHolderName = \"Sherlock Holmes\",\n          expiryDate = new {\n            month = \"1\",\n            year = \"2028\"\n          },\n          billingAddress = new {\n            address1 = \"221B Baker Street\",\n            city = \"London\",\n            postalCode = \"NW1 6XE\",\n            countryCode = \"GB\"\n          }\n        }\n      },\n      deviceData = new {\n        acceptHeader = \"text/html\",\n        userAgentHeader = \"Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0)\"\n      },\n      customer = new {\n        firstName = \"Sherlock\",\n        lastName = \"Holmes\",\n        phone = \"02031234321\",\n        email = \"sherlock.holmes@example.com\"\n      }\n    });\n\n    using StringContent postData = new(json, Encoding.UTF8, \"application/json\");\n    using HttpResponseMessage request = await client.PostAsync(\"https://try.access.worldpay.com/3ds/authentications\", postData);\n    string response = await request.Content.ReadAsStringAsync();\n\n    Console.WriteLine(response);\n  }\n}"}]},"children":[]},{"$$mdtype":"Tag","name":"Cards","attributes":{"columns":3,"cardMinWidth":180},"children":[{"$$mdtype":"Tag","name":"Card","attributes":{"title":"View the full authentication request schema","imagePosition":"start","iconPosition":"auto","layout":"vertical","align":"center","variant":"outlined","to":"/products/3ds/20261001/openapi/authentication/authenticate"},"children":[]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"authentication-response","__idx":4},"children":["Authentication response"]},{"$$mdtype":"Tag","name":"OpenApiResponseSample","attributes":{"descriptionFile":"api-docs-products/3ds/@20261001/openapi.yaml","operationId":"authenticate","responseSamplesResolved":[{"lang":"json","title":"200 application/json","source":"{\n  \"outcome\": \"3dsRedirect\",\n  \"authenticationId\": \"3dsLfC-Tuhv7J2nEw2m9ca_e0\",\n  \"redirect\": \"https://hpp-test.worldpay.com/all/hosted-threeds/3dsLfC-Tuhv7J2nEw2m9ca_e0\",\n  \"_links\": {\n    \"self\": {\n      \"href\": \"https://try.access.worldpay.com/3ds/authentications/3dsLfC-Tuhv7J2nEw2m9ca_e0\"\n    },\n    \"queryAuthentication\": {\n      \"href\": \"https://try.access.worldpay.com/3ds/authentications/3dsLfC-Tuhv7J2nEw2m9ca_e0\"\n    }\n  }\n}"},{"lang":"json","title":"400 application/json","source":"{\n  \"message\": \"The json body provided does not match the expected schema\",\n  \"errorName\": \"bodyDoesNotMatchSchema\",\n  \"validationErrors\": [\n    {\n      \"errorName\": \"stringFailedRegexCheck\",\n      \"jsonPath\": \"$.merchant.entity\",\n      \"message\": \"Entity must be alphanumeric with optional spaces\"\n    },\n    {\n      \"errorName\": \"stringFailedRegexCheck\",\n      \"jsonPath\": \"$.transactionReference\",\n      \"message\": \"Transaction reference characters must be alphanumeric or one of the following: _!@#$%()*=-.:;?[]{}~`/+\"\n    }\n  ],\n  \"_links\": {\n    \"self\": {\n      \"href\": \"https://try.access.worldpay.com/3ds/authentications/LfC-Tuhv7J2nEw2m9ca_e\"\n    }\n  }\n}"},{"lang":"json","title":"502 application/json","source":"{\n  \"message\": \"Service Unavailable\",\n  \"errorName\": \"serviceUnavailable\",\n  \"_links\": {\n    \"self\": {\n      \"href\": \"https://try.access.worldpay.com/3ds/authentications/LfC-Tuhv7J2nEw2m9ca_e\"\n    }\n  }\n}"},{"lang":"json","title":"503 application/json","source":"{\n  \"message\": \"Service Unavailable\",\n  \"errorName\": \"serviceUnavailable\",\n  \"_links\": {\n    \"self\": {\n      \"href\": \"https://try.access.worldpay.com/3ds/authentications/LfC-Tuhv7J2nEw2m9ca_e\"\n    }\n  }\n}"}]},"children":[]},{"$$mdtype":"Tag","name":"Cards","attributes":{"columns":3,"cardMinWidth":180},"children":[{"$$mdtype":"Tag","name":"Card","attributes":{"title":"View the full authentication response schema","imagePosition":"start","iconPosition":"auto","layout":"vertical","align":"center","variant":"outlined","to":"/products/3ds/20261001/openapi/authentication/authenticate#authentication/authenticate/response&c=200"},"children":[]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"issuer-device-data-and-challenge","__idx":5},"children":["Issuer device data and challenge"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Perform issuer Device Data Collection (DDC) and, when required, a challenge using a Worldpay hosted URL."]},{"$$mdtype":"Tag","name":"Tabs","attributes":{"size":"medium"},"children":[{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"API only","disable":false},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Add the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["redirect"]}," URL to an iframe to run Device Data Collection and, if required by the issuer, a challenge."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"html","header":{"controls":{"copy":{}}},"source":"<iframe height=\"1\" width=\"1\" style=\"display: none;\" src=\"{replace with redirect url}\"></iframe>\n","lang":"html"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"postmessage","__idx":6},"children":["postMessage"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You are notified of the outcome via a ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage"},"children":["postMessage"]}," event. For security, use a strict whitelist check against the provided Worldpay origins using the postMessage ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["origin"]}," property, as detailed in the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage"},"children":["MDN documentation"]},"."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Try - ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://hpp-test.worldpay.com"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Live - ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://hpp.worldpay.com"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For UCP (Universal Commerce Protocol) integration an additional postMessage handshake is required to initialize the redirect page."]},{"$$mdtype":"Tag","name":"details","attributes":{},"children":[{"$$mdtype":"Tag","name":"summary","attributes":{},"children":["Details of UCP postMessage handshake"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The following JSON examples are the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["event.data"]}," payloads."," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["origin"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["source"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ports"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["lastEventId"]}," are fields on the browser ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MessageEvent"]}," object."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To parent frame (request)"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"jsonrpc\": \"2.0\",\n  \"id\": \"ready-1\",\n  \"method\": \"action.ready\",\n  \"params\": {\n    \"id\": \"{authenticationId}\",\n    \"version\": \"{{ ucp_version }}\"\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To child frame (response)"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"jsonrpc\": \"2.0\",\n  \"id\": \"ready-1\",\n  \"result\": {}\n}\n","lang":"json"},"children":[]}]},{"$$mdtype":"Tag","name":"Tabs","attributes":{"size":"medium"},"children":[{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"Prompt (challenge)","disable":false},"children":[{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning","name":"Preview only"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The challenge postMessage design is still under review."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["method"]}," of value ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["action.prompt"]}," means an action is required by your customer."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["params.outcome"]}," is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["3dsChallenged"]},", you must make the iframe visible (if it is not already). Your customer must authenticate with their bank and they are shown the prompt to do so (e.g. to authenticate using their banking app)."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"jsonrpc\": \"2.0\",\n  \"method\": \"action.prompt\",\n  \"params\": {\n    \"id\": \"3dsI-dUcet9fk4_X4qZU0hpU0\",\n    \"outcome\": \"3dsChallenged\"\n  }\n}\n","lang":"json"},"children":[]}]},{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"Done","disable":false},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["method"]}," of value ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["action.done"]}," means the client-side interaction is complete."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For all other ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["params.outcome"]}," values besides ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["3dsChallenged"]},", the client-side flow is complete (\"method\": \"action.done\"). ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#supported-paramsoutcome-values"},"children":["See the schema below"]}," for values and meaning. Perform a ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#query-request"},"children":["query request"]}," to retrieve the details."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"canonical-payload","__idx":7},"children":["Canonical payload"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"jsonrpc\": \"2.0\",\n  \"method\": \"action.done\",\n  \"params\": {\n    \"id\": \"3dsI-dUcet9fk4_X4qZU0hpU0\",\n    \"outcome\": \"3dsAuthenticated\"\n  }\n}\n","lang":"json"},"children":[]}]},{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"Error","disable":false},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When an error occurs during the client-side flow, a postMessage is returned with an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["error"]}," object."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"example-generic-error-response","__idx":8},"children":["Example generic error response"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"jsonrpc\": \"2.0\",\n  \"error\": {\n    //TBC\n  }\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"supported-paramsoutcome-values","__idx":9},"children":["Supported ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["params.outcome"]}," values"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Except for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["3dsChallenged"]}," (which is not the end of the flow) and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["3dsRedirect"]}," (which is completed before the postMessage takes place), the below outcomes match the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/3ds/20261001/openapi"},"children":["API query response"]}," values."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Outcome value"},"children":["Outcome value"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Meaning"},"children":["Meaning"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["3dsAuthenticated"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Cardholder successfully authenticated by card issuer."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["3dsAttempted"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["3DS attempted but card issuer not participating. Stand-in authentication by the scheme."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["3dsChallenged"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Issuer requests an identity check using the challenge screen"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["3dsChallengeFailed"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Failed cardholder challenge."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["3dsRejected"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Issuer rejects the authentication, do not proceed with payment."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["3dsNotAuthenticated"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Authentication failure by card issuer (system issue)."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["3dsUnavailable"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Authentication unavailable at this current time."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["3dsOutage"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Issuer recognized outage. Can attempt authentication outage exemption."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["3dsError"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Error details for when a downstream failure happens during redirect url POST."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["3dsBypassed"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["3DS bypassed based on rules or recommendation from authentication optimization service."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["3dsExempted"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Successful exemption in 3DS authentication."]}]}]}]}]}]},{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"Components SDK","disable":false},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Provide the redirect URL to the Components SDK and let it handle all aspects of running the challenge display. Receive the outcomes as callbacks."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"em","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Coming soon..."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"query-request","__idx":10},"children":["Query request"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["authenticationId"]}," to get the details for the current state or outcome of the 3DS authentication."]},{"$$mdtype":"Tag","name":"OpenApiCodeSample","attributes":{"descriptionFile":"api-docs-products/3ds/@20261001/openapi.yaml","operationId":"authenticationQuery","language":"curl","parameters":{},"environments":{},"codeSamplesResolved":[{"lang":"shell","title":"curl","source":"curl -i -X GET \\\n  'https://try.access.worldpay.com/3ds/authentications/{authenticationId}' \\\n  -H 'WP-Api-Version: 2026-10-01'"}]},"children":[]},{"$$mdtype":"Tag","name":"Cards","attributes":{"columns":3,"cardMinWidth":180},"children":[{"$$mdtype":"Tag","name":"Card","attributes":{"title":"View the full query request schema","imagePosition":"start","iconPosition":"auto","layout":"vertical","align":"center","variant":"outlined","to":"/products/3ds/20261001/openapi/authentication/authenticationquery#authentication/authenticationquery/request"},"children":[]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"query-response","__idx":11},"children":["Query response"]},{"$$mdtype":"Tag","name":"OpenApiResponseSample","attributes":{"descriptionFile":"api-docs-products/3ds/@20261001/openapi.yaml","operationId":"authenticationQuery","responseSamplesResolved":[{"lang":"json","title":"200 application/json","source":"{\n  \"outcome\": \"3dsAuthenticated\",\n  \"status\": \"Y\",\n  \"enrolled\": \"Y\",\n  \"version\": \"2.2.0\",\n  \"authenticationValue\": \"MAAAAAAAAAAAAAAAAAAAAAAAAAA=\",\n  \"eci\": \"05\",\n  \"dsTransactionId\": \"c5b808e7-1de1-4069-a17b-f70d3b3b1645\",\n  \"acsTransactionId\": \"fe007a6e-315f-4cdf-98ca-28a9e40e3581\",\n  \"_links\": {\n    \"self\": {\n      \"href\": \"https://try.access.worldpay.com/3ds/authentications/LfC-Tuhv7J2nEw2m9ca_e\"\n    }\n  }\n}"},{"lang":"json","title":"400 application/json","source":"{\n  \"message\": \"The json body provided does not match the expected schema\",\n  \"errorName\": \"bodyDoesNotMatchSchema\",\n  \"validationErrors\": [\n    {\n      \"errorName\": \"stringFailedRegexCheck\",\n      \"jsonPath\": \"$.merchant.entity\",\n      \"message\": \"Entity must be alphanumeric with optional spaces\"\n    },\n    {\n      \"errorName\": \"stringFailedRegexCheck\",\n      \"jsonPath\": \"$.transactionReference\",\n      \"message\": \"Transaction reference characters must be alphanumeric or one of the following: _!@#$%()*=-.:;?[]{}~`/+\"\n    }\n  ],\n  \"_links\": {\n    \"self\": {\n      \"href\": \"https://try.access.worldpay.com/3ds/authentications/LfC-Tuhv7J2nEw2m9ca_e\"\n    }\n  }\n}"},{"lang":"json","title":"502 application/json","source":"{\n  \"message\": \"Service Unavailable\",\n  \"errorName\": \"serviceUnavailable\",\n  \"_links\": {\n    \"self\": {\n      \"href\": \"https://try.access.worldpay.com/3ds/authentications/LfC-Tuhv7J2nEw2m9ca_e\"\n    }\n  }\n}"},{"lang":"json","title":"503 application/json","source":"{\n  \"message\": \"Service Unavailable\",\n  \"errorName\": \"serviceUnavailable\",\n  \"_links\": {\n    \"self\": {\n      \"href\": \"https://try.access.worldpay.com/3ds/authentications/LfC-Tuhv7J2nEw2m9ca_e\"\n    }\n  }\n}"}]},"children":[]},{"$$mdtype":"Tag","name":"Cards","attributes":{"columns":3,"cardMinWidth":180},"children":[{"$$mdtype":"Tag","name":"Card","attributes":{"title":"View the full query response schema","imagePosition":"start","iconPosition":"auto","layout":"vertical","align":"center","variant":"outlined","to":"/products/3ds/20261001/openapi/authentication/authenticationquery#authentication/authenticationquery/response&c=200"},"children":[]}]}]},"headings":[{"value":"3DS API","id":"3ds-api","depth":1},{"value":"Sequence diagram","id":"sequence-diagram","depth":2},{"value":"Get started","id":"get-started","depth":2},{"value":"Authentication request","id":"authentication-request","depth":2},{"value":"Authentication response","id":"authentication-response","depth":2},{"value":"Issuer device data and challenge","id":"issuer-device-data-and-challenge","depth":2},{"value":"postMessage","id":"postmessage","depth":3},{"value":"Canonical payload","id":"canonical-payload","depth":4},{"value":"Example generic error response","id":"example-generic-error-response","depth":4},{"value":"Supported params.outcome values","id":"supported-paramsoutcome-values","depth":4},{"value":"Query request","id":"query-request","depth":2},{"value":"Query response","id":"query-response","depth":2}],"frontmatter":{"markdown":{"toc":{"hide":false}},"seo":{"title":"3DS Authentication API | Worldpay Developer","description":"Perform 3DS authentication to minimize fraud and verify your customer's identity. Use our strong customer authentication (SCA) to benefit from liability shift."}},"lastModified":"2026-10-06T14:15:21.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/products/3ds/20261001","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}