{"title":"Authentication-only integration","category":"default","creationDate":1776961627,"content":"<div class=\"sc-notice warning\"><div>\n<p><strong>Adyen is no longer developing the Classic API integration<\/strong><\/p>\n<p>This page is for the Classic API (<code>\/authorise<\/code>) integration, which we no longer accept new integrations with. <\/p>\n<p>We strongly recommend migrating to the newer <a href=\"\/online-payments\/3d-secure\/standalone-authentication\">3D Secure authentication-only on Checkout API<\/a> integration. To use this newer integration, you must also <a href=\"\/pt\/online-payments\/upgrade-your-integration\/migrate-to-checkout-api\">migrate to the Checkout API<\/a>.<\/p>\n<\/div><\/div>\n<p>Implement a fallback implementation in case the issuer does not support <a href=\"\/pt\/online-payments\/classic-integrations\/classic-api-integration\/3d-secure-authentication\/native-3ds2\/authentication-only-integration\">3D Secure 2 authentication-only integration<\/a> yet. In the response, you get the authentication data that you need to authorise the payment with another PSP or acquirer.<\/p>\n<p>If after the authentication you decide to\u00a0process the payment with us, you can also\u00a0<a href=\"#authorise-the-payment-with-adyen\">continue with the payment authorisation<\/a>\u00a0with Adyen.<\/p>\n<h2 id=\"before-you-begin\">Before\u00a0you begin<\/h2>\n<p>Before you begin to integrate, make sure you have followed the <a href=\"\/pt\/get-started-with-adyen\">Get started with Adyen guide<\/a> to:<\/p>\n<ul>\n<li>Get an overview of the steps needed to accept live payments.<\/li>\n<li>Create your test account.<\/li>\n<\/ul>\n<p>After you have created your test account:<\/p>\n<ol>\n<li><a href=\"\/pt\/development-resources\/api-credentials#generate-api-key\">Get your API Key<\/a>. Save a copy\u00a0as you'll need it for API calls you make to the\u00a0plataforma de pagamentos da Adyen.<\/li>\n<li>Read and understand the\u00a0<a href=\"\/pt\/online-payments\/classic-integrations\/classic-api-integration\/3d-secure-authentication\">full 3D Secure 1 Classic API integration guide<\/a>.\u00a0<\/li>\n<\/ol>\n<h2 id=\"submit-a-payment-authentication-request\">Step 1: Submit a payment authentication request<\/h2>\n<p>Submit an authentication request with a\u00a0 <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Payment\/latest\/post\/authorise\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/authorise<\/a>\u00a0call containing the\u00a0required 3D Secure 1 parameters and the <code>authenticationData.authenticationOnly<\/code> parameter:<\/p>\n<ul>\n<li><code>authenticationData.authenticationOnly<\/code>:\u00a0Set this to <strong>true<\/strong>.<\/li>\n<\/ul>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'\/authorise request'\" :id=\"'authorise-request-5395432192'\" :code-data=\"[{&quot;language&quot;:&quot;bash&quot;,&quot;tabTitle&quot;:&quot;&quot;,&quot;content&quot;:&quot;curl https:\\\/\\\/pal-test.adyen.com\\\/pal\\\/servlet\\\/Payment\\\/v46\\\/authorise \\\\\\n-H 'x-api-key: ADYEN_API_KEY' \\\\\\n-H 'content-type: application\\\/json' \\\\\\n-d '{\\n  \\&quot;amount\\&quot;:{\\n    \\&quot;currency\\&quot;:\\&quot;EUR\\&quot;,\\n    \\&quot;value\\&quot;:2100\\n  },\\n  \\&quot;merchantAccount\\&quot;:\\&quot;YOUR_MERCHANT_ACCOUNT\\&quot;,\\n  \\&quot;reference\\&quot;:\\&quot;YOUR_REFERENCE_NUMBER\\&quot;,\\n  \\&quot;authenticationData\\&quot; {\\n    \\&quot;authenticationOnly\\&quot;: true,\\n    \\&quot;attemptAuthentication\\&quot;: \\&quot;always\\&quot;\\n  },\\n  \\&quot;browserInfo\\&quot;:{\\n    \\&quot;userAgent\\&quot;:\\&quot;Mozilla\\\\\\\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\\\\\\\/537.36 (KHTML, like Gecko) Chrome\\\\\\\/70.0.3538.110 Safari\\\\\\\/537.36\\&quot;,\\n    \\&quot;acceptHeader\\&quot;:\\&quot;text\\\\\\\/html,application\\\\\\\/xhtml+xml,application\\\\\\\/xml;q=0.9,image\\\\\\\/webp,image\\\\\\\/apng,*\\\\\\\/*;q=0.8\\&quot;,\\n    \\&quot;language\\&quot;:\\&quot;en\\&quot;,\\n    \\&quot;colorDepth\\&quot;:24,\\n    \\&quot;screenHeight\\&quot;:723,\\n    \\&quot;screenWidth\\&quot;:1536,\\n    \\&quot;timeZoneOffset\\&quot;:0,\\n    \\&quot;javaEnabled\\&quot;:false\\n  },\\n  \\&quot;card\\&quot;: {\\n    \\&quot;number\\&quot;: \\&quot;4212345678901237\\&quot;,\\n    \\&quot;expiryMonth\\&quot;: \\&quot;03\\&quot;,\\n    \\&quot;expiryYear\\&quot;: \\&quot;2030\\&quot;,\\n    \\&quot;cvc\\&quot;: \\&quot;737\\&quot;,\\n    \\&quot;holderName\\&quot;: \\&quot;Simon Hopper\\&quot;\\n  }\\n}'&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<p>You'll receive a response containing:<\/p>\n<ul>\n<li><code>resultCode<\/code>: <strong>RedirectShopper<\/strong>. This means that you have to perform the <a href=\"#perform-3d-secure-1-flow\">3D Secure authentication flow<\/a>.<\/li>\n<\/ul>\n<p>For a complete list of\u00a0<code>resultCode<\/code>\u00a0values and the actions that you need to do, see\u00a0<a href=\"\/pt\/online-payments\/payment-result-codes\">Result codes<\/a>.<\/p>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'\/authorise response'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n    \\\"pspReference\\\": \\\"8825536842162448\\\",\\n    \\\"resultCode\\\": \\\"RedirectShopper\\\",\\n    \\\"issuerUrl\\\": \\\"https:\\\/\\\/test.adyen.com\\\/hpp\\\/3d\\\/validate.shtml\\\",\\n    \\\"md\\\": \\\"djIhR2R6NkNkdVFROVdFc1YrN1B3cmZ3dz09IfNZPuc4S9doxv...=\\\",\\n    \\\"paRequest\\\": \\\"eNpVUttuwjAM\\\/RXGB5A0baFUJlIHSEMal3F5nrLU9gH...=\\\"\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<h2 id=\"perform-3d-secure-1-flow\">Step 2: Perform the 3D Secure 1 authentication flow<\/h2>\n<ol>\n<li>\n<p><a href=\"\/pt\/online-payments\/classic-integrations\/classic-api-integration\/3d-secure-authentication\/3d-secure-1#step-2-redirect-to-the-card-issuer\">Redirect the shopper to the card issuer<\/a> to perform authentication. After a successful authentication, the card issuer <a href=\"\/pt\/online-payments\/classic-integrations\/classic-api-integration\/3d-secure-authentication\/3d-secure-1#step-3-return-to-the-merchant-site\">returns the shopper to your site<\/a> and sends an HTTP POST to your <code>TermUrl<\/code> containing the following:<\/p>\n<ul>\n<li><code>MD<\/code>: Payment session identifier.<\/li>\n<li><code>PaRes<\/code>: Payment authorisation response.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>Get the <code>MD<\/code> and <code>PaRes<\/code> values and proceed to submit the authentication result.<\/p>\n<\/li>\n<\/ol>\n<div class=\"sc-notice note\"><div>\n<p>If after performing the authentication you decide to continue the payment authorisation with Adyen, skip the next step proceed to <a href=\"#authorise-the-payment-with-adyen\">Authorise the payment with Adyen<\/a> instead.<\/p>\n<\/div><\/div>\n<h2 id=\"submit-authentication-result\">Step 3: Submit the result and get the authentication data<\/h2>\n<ol>\n<li>Submit the authentication result in an  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Payment\/latest\/post\/authorise3d\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">authorise3d<\/a> request:<\/li>\n<\/ol>\n<ul>\n<li><code>md<\/code>: Payment session identifier, <code>MD<\/code>, returned by the card issuer in the previous step.<\/li>\n<li><code>paResponse<\/code>: Payment authorisation response, <code>PaRes<\/code>, returned by the card issuer in the previous step.<\/li>\n<li>\n<p><code>authenticationData.authenticationOnly<\/code>:\u00a0Set this to <strong>true<\/strong>.<\/p>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'\/authorise3d request'\" :id=\"'authorise3d-request-2793971518'\" :code-data=\"[{&quot;language&quot;:&quot;bash&quot;,&quot;tabTitle&quot;:&quot;curl&quot;,&quot;content&quot;:&quot;curl https:\\\/\\\/pal-test.adyen.com\\\/pal\\\/servlet\\\/Payment\\\/v46\\\/authorise3d \\\\\\n-H 'x-api-key: ADYEN_API_KEY' \\\\\\n-H 'content-type: application\\\/json' \\\\\\n-d '{\\n    \\&quot;md\\&quot;: \\&quot;djIhR2R6NkNkdVFROVdFc1YrN1B3cmZ3dz09IfNZPuc4S9doxvKxoki3cg..=\\&quot;,\\n    \\&quot;paResponse\\&quot;: \\&quot;eNrNV1mTqsgSfvdXdJx5ZOawC56gjSgWFZUdQXhjkx0UkMVff2md6dM..=\\&quot;,\\n    \\&quot;authenticationData\\&quot;: {\\n        \\&quot;authenticationOnly\\&quot;: true\\n    },\\n    \\&quot;merchantAccount\\&quot;: \\&quot;YOUR_MERCHANT_ACCOUNT\\&quot;\\n}'&quot;},{&quot;language&quot;:&quot;java&quot;,&quot;tabTitle&quot;:&quot;Java&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Java API Library v26.3.0\\nimport com.adyen.Client;\\nimport com.adyen.enums.Environment;\\nimport com.adyen.model.payment.*;\\nimport java.time.OffsetDateTime;\\nimport java.util.*;\\nimport com.adyen.service.*;\\n\\nClient client = new Client(\\&quot;ADYEN_API_KEY\\&quot;, Environment.TEST);\\n\\n\\\/\\\/ Create the request object(s)\\nPaymentRequest3d paymentRequest3d = new PaymentRequest3d()\\n  .paResponse(\\&quot;eNrNV1mTqsgSfvdXdJx5ZOawC56gjSgWFZUdQXhjkx0UkMVff2md6dM..=\\&quot;)\\n  .merchantAccount(\\&quot;YOUR_MERCHANT_ACCOUNT\\&quot;)\\n  .md(\\&quot;djIhR2R6NkNkdVFROVdFc1YrN1B3cmZ3dz09IfNZPuc4S9doxvKxoki3cg..=\\&quot;);\\n\\n\\\/\\\/ Send the request\\npaymentApi service = new paymentApi(client);\\nPaymentResult response = service.authorise3d(paymentRequest3d, null);&quot;},{&quot;language&quot;:&quot;php&quot;,&quot;tabTitle&quot;:&quot;PHP&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen PHP API Library v18.2.1\\nuse Adyen\\\\Client;\\nuse Adyen\\\\Environment;\\nuse Adyen\\\\Model\\\\Payments\\\\PaymentRequest3d;\\nuse Adyen\\\\Service\\\\Payments\\\\PaymentsApi;\\n\\n$client = new Client();\\n$client-&gt;setXApiKey(\\&quot;ADYEN_API_KEY\\&quot;);\\n$client-&gt;setEnvironment(Environment::TEST);\\n\\n\\n\\\/\\\/ Create the request object(s)\\n$paymentRequest3d = new PaymentRequest3d();\\n$paymentRequest3d\\n  -&gt;setPaResponse(\\&quot;eNrNV1mTqsgSfvdXdJx5ZOawC56gjSgWFZUdQXhjkx0UkMVff2md6dM..=\\&quot;)\\n  -&gt;setMerchantAccount(\\&quot;YOUR_MERCHANT_ACCOUNT\\&quot;)\\n  -&gt;setMd(\\&quot;djIhR2R6NkNkdVFROVdFc1YrN1B3cmZ3dz09IfNZPuc4S9doxvKxoki3cg..=\\&quot;);\\n\\n\\\/\\\/ Send the request\\n$service = new PaymentsApi($client);\\n$response = $service-&gt;authorise3d($paymentRequest3d);&quot;},{&quot;language&quot;:&quot;cs&quot;,&quot;tabTitle&quot;:&quot;C#&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen .net API Library v17.0.0\\nusing Adyen;\\nusing Environment = Adyen.Model.Environment;\\nusing Adyen.Model;\\nusing Adyen.Model.Payment;\\nusing Adyen.Service;\\n\\nvar config = new Config()\\n{\\n    XApiKey = \\&quot;ADYEN_API_KEY\\&quot;,\\n    Environment = Environment.Test\\n};\\nvar client = new Client(config);\\n\\n\\\/\\\/ Create the request object(s)\\nPaymentRequest3d paymentRequest3d = new PaymentRequest3d\\n{\\n  PaResponse = \\&quot;eNrNV1mTqsgSfvdXdJx5ZOawC56gjSgWFZUdQXhjkx0UkMVff2md6dM..=\\&quot;,\\n  MerchantAccount = \\&quot;YOUR_MERCHANT_ACCOUNT\\&quot;,\\n  Md = \\&quot;djIhR2R6NkNkdVFROVdFc1YrN1B3cmZ3dz09IfNZPuc4S9doxvKxoki3cg..=\\&quot;\\n};\\n\\n\\\/\\\/ Send the request\\nvar service = new PaymentService(client);\\nvar response = service.Authorise3d(paymentRequest3d);&quot;},{&quot;language&quot;:&quot;js&quot;,&quot;tabTitle&quot;:&quot;NodeJS (JavaScript)&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Node API Library v17.3.0\\n\\\/\\\/ Require the parts of the module you want to use\\nconst { Client, PaymentAPI } = require('@adyen\\\/api-library');\\n\\\/\\\/ Initialize the client object\\nconst client = new Client({apiKey: \\&quot;ADYEN_API_KEY\\&quot;, environment: \\&quot;TEST\\&quot;});\\n\\n\\\/\\\/ Create the request object(s)\\nconst paymentRequest3d = {\\n  md: \\&quot;djIhR2R6NkNkdVFROVdFc1YrN1B3cmZ3dz09IfNZPuc4S9doxvKxoki3cg..=\\&quot;,\\n  paResponse: \\&quot;eNrNV1mTqsgSfvdXdJx5ZOawC56gjSgWFZUdQXhjkx0UkMVff2md6dM..=\\&quot;,\\n  authenticationData: {\\n    authenticationOnly: true\\n  },\\n  merchantAccount: \\&quot;YOUR_MERCHANT_ACCOUNT\\&quot;\\n}\\n\\n\\\/\\\/ Send the request\\nconst paymentAPI = new PaymentAPI(client);\\nconst response = paymentAPI.authorise3d(paymentRequest3d);&quot;},{&quot;language&quot;:&quot;go&quot;,&quot;tabTitle&quot;:&quot;Go&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Go API Library v10.4.0\\nimport (\\n  \\&quot;context\\&quot;\\n  \\&quot;github.com\\\/adyen\\\/adyen-go-api-library\\\/v9\\\/src\\\/common\\&quot;\\n  \\&quot;github.com\\\/adyen\\\/adyen-go-api-library\\\/v9\\\/src\\\/adyen\\&quot;\\n  \\&quot;github.com\\\/adyen\\\/adyen-go-api-library\\\/v9\\\/src\\\/payments\\&quot;\\n)\\nclient := adyen.NewClient(&amp;common.Config{\\n  ApiKey:      \\&quot;ADYEN_API_KEY\\&quot;,\\n  Environment: common.TestEnv,\\n})\\n\\n\\\/\\\/ Create the request object(s)\\npaymentRequest3d := payments.PaymentRequest3d{\\n  PaResponse: \\&quot;eNrNV1mTqsgSfvdXdJx5ZOawC56gjSgWFZUdQXhjkx0UkMVff2md6dM..=\\&quot;,\\n  MerchantAccount: \\&quot;YOUR_MERCHANT_ACCOUNT\\&quot;,\\n  Md: \\&quot;djIhR2R6NkNkdVFROVdFc1YrN1B3cmZ3dz09IfNZPuc4S9doxvKxoki3cg..=\\&quot;,\\n}\\n\\n\\\/\\\/ Send the request\\nservice := client.Payments()\\nreq := service.PaymentsApi.Authorise3dInput().PaymentRequest3d(paymentRequest3d)\\nres, httpRes, err := service.PaymentsApi.Authorise3d(context.Background(), req)&quot;},{&quot;language&quot;:&quot;py&quot;,&quot;tabTitle&quot;:&quot;Python&quot;,&quot;content&quot;:&quot;# Adyen Python API Library v12.5.1\\nimport Adyen\\n\\nadyen = Adyen.Adyen()\\nadyen.client.xapikey = \\&quot;ADYEN_API_KEY\\&quot;\\nadyen.client.platform = \\&quot;test\\&quot; # The environment to use library in.\\n\\n# Create the request object(s)\\njson_request = {\\n  \\&quot;md\\&quot;: \\&quot;djIhR2R6NkNkdVFROVdFc1YrN1B3cmZ3dz09IfNZPuc4S9doxvKxoki3cg..=\\&quot;,\\n  \\&quot;paResponse\\&quot;: \\&quot;eNrNV1mTqsgSfvdXdJx5ZOawC56gjSgWFZUdQXhjkx0UkMVff2md6dM..=\\&quot;,\\n  \\&quot;authenticationData\\&quot;: {\\n    \\&quot;authenticationOnly\\&quot;: True\\n  },\\n  \\&quot;merchantAccount\\&quot;: \\&quot;YOUR_MERCHANT_ACCOUNT\\&quot;\\n}\\n\\n# Send the request\\nresult = adyen.payment.payments_api.authorise3d(request=json_request)&quot;},{&quot;language&quot;:&quot;rb&quot;,&quot;tabTitle&quot;:&quot;Ruby&quot;,&quot;content&quot;:&quot;# Adyen Ruby API Library v9.5.1\\nrequire \\&quot;adyen-ruby-api-library\\&quot;\\n\\nadyen = Adyen::Client.new\\nadyen.api_key = 'ADYEN_API_KEY'\\nadyen.env = :test # Set to \\&quot;live\\&quot; for live environment\\n\\n# Create the request object(s)\\nrequest_body = {\\n  :md =&gt; 'djIhR2R6NkNkdVFROVdFc1YrN1B3cmZ3dz09IfNZPuc4S9doxvKxoki3cg..=',\\n  :paResponse =&gt; 'eNrNV1mTqsgSfvdXdJx5ZOawC56gjSgWFZUdQXhjkx0UkMVff2md6dM..=',\\n  :authenticationData =&gt; {\\n    :authenticationOnly =&gt; true\\n  },\\n  :merchantAccount =&gt; 'YOUR_MERCHANT_ACCOUNT'\\n}\\n\\n# Send the request\\nresult = adyen.payment.payments_api.authorise3d(request_body)&quot;},{&quot;language&quot;:&quot;ts&quot;,&quot;tabTitle&quot;:&quot;NodeJS (TypeScript)&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Node API Library v17.3.0\\n\\\/\\\/ Require the parts of the module you want to use\\nimport { Client, PaymentAPI, Types } from \\&quot;@adyen\\\/api-library\\&quot;;\\n\\\/\\\/ Initialize the client object\\nconst client = new Client({apiKey: \\&quot;ADYEN_API_KEY\\&quot;, environment: \\&quot;TEST\\&quot;});\\n\\n\\\/\\\/ Create the request object(s)\\nconst paymentRequest3d: Types.payment.PaymentRequest3d = {\\n  paResponse: \\&quot;eNrNV1mTqsgSfvdXdJx5ZOawC56gjSgWFZUdQXhjkx0UkMVff2md6dM..=\\&quot;,\\n  merchantAccount: \\&quot;YOUR_MERCHANT_ACCOUNT\\&quot;,\\n  md: \\&quot;djIhR2R6NkNkdVFROVdFc1YrN1B3cmZ3dz09IfNZPuc4S9doxvKxoki3cg..=\\&quot;\\n};\\n\\n\\\/\\\/ Send the request\\nconst paymentAPI = new PaymentAPI(client);\\nconst response = paymentAPI.authorise3d(paymentRequest3d);&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<\/ul>\n<p>You'll receive a response containing:<\/p>\n<ul>\n<li><code>resultCode<\/code>: If the authentication process has finished, you receive <strong>AuthenticationFinished<\/strong>.<\/li>\n<li>\n<p><code>additionalData.threeDAuthenticatedResponse<\/code>: Indicates the results of the authentication. The value <strong>Y<\/strong> means that authentication was successful. If you get another value, see the <a href=\"\/pt\/online-payments\/classic-integrations\/classic-api-integration\/3d-secure-authentication\/raw-3d-secure-responses#3ds-challenged\">list of possible values<\/a> to learn what it means.<\/p>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'\/authorise3d response'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n    \\\"additionalData\\\": {\\n        \\\"cavv\\\": \\\"AQIDBAUGBwgJCgsMDQ4PEBESExQ=\\\",\\n        \\\"xid\\\": \\\"ODgyNTUzNjg0MjE2MjQ0OAAAAAA=\\\",\\n        \\\"threeDAuthenticatedResponse\\\": \\\"Y\\\",\\n        \\\"cavvAlgorithm\\\": \\\"1\\\",\\n        \\\"threeDOfferedResponse\\\": \\\"Y\\\",\\n        \\\"eci\\\": \\\"02\\\",\\n        \\\"authorisationMid\\\": \\\"1000\\\",\\n        \\\"acquirerCode\\\": \\\"TestPmmAcquirerAccount\\\"\\n    },\\n    \\\"pspReference\\\": \\\"8825536842162448\\\",\\n    \\\"resultCode\\\": \\\"AuthenticationFinished\\\"\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<\/ul>\n<ol start=\"2\">\n<li>If you received <strong>Y<\/strong> in <code>additionalData.threeDAuthenticatedResponse<\/code>, you can continue to <a href=\"#authorise-the-payment-with-adyen\">the next step to authorise the payment<\/a>.<\/li>\n<\/ol>\n<div class=\"sc-notice info\"><div>\n<p>See our <a href=\"https:\/\/docs.adyen.com\/api-explorer\/#\/Payment\/latest\/authorise__resParam_additionalData\" class=\"codeLabel external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">API reference<\/a> to learn more about the response parameters and how the values map to 3D Secure specifications.<\/p>\n<\/div><\/div>\n<h2 id=\"authorise-the-payment-with-adyen\">Optional: Authorise the payment with Adyen<\/h2>\n<p>If after completing the authentication flow you decide to proceed with authorising the payment with Adyen, you can still switch and continue with a payment authorisation.<\/p>\n<p>Make a POST\u00a0 <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Payment\/latest\/post\/authorise3d\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">authorise3d<\/a>\u00a0request from your server and include the following parameters:\u00a0<\/p>\n<ul>\n<li><code>authenticationData.authenticationOnly<\/code>:\u00a0Set this to <strong>false<\/strong>.<\/li>\n<\/ul>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'\/authorise3d request - Continue authorising with Adyen'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n    \\\"md\\\": \\\"djIhR2R6NkNkdVFROVdFc1YrN1B3cmZ3dz09IfNZPuc4S9doxvKxoki3cg..=\\\",\\n    \\\"paResponse\\\": \\\"eNrNV1mTqsgSfvdXdJx5ZOawC56gjSgWFZUdQXhjkx0UkMVff2md6dM..=\\\",\\n    \\\"authenticationData\\\": {\\n        \\\"authenticationOnly\\\": false\\n    },\\n    \\\"merchantAccount\\\": \\\"YOUR_MERCHANT_ACCOUNT\\\"\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<p>You'll receive\u00a0<strong>Authorised<\/strong>\u00a0as the\u00a0<code>resultCode<\/code>\u00a0if the payment was successful.<\/p>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'\/authorise3d response - Successful authorisation'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n    \\\"pspReference\\\": \\\"8825495331860022\\\",\\n    \\\"resultCode\\\": \\\"Authorised\\\"\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>","url":"https:\/\/docs.adyen.com\/pt\/online-payments\/classic-integrations\/classic-api-integration\/3d-secure-authentication\/3d-secure-1\/3d-secure-1-authentication-only","articleFields":{"description":"Learn how you can integrate with Adyen as a standalone 3D Secure provider.","parameters":{"anchor_new":"<a href=\/online-payments\/3d-secure\/standalone-authentication>3D Secure authentication-only on Checkout API<\/a>","parent_page":"Classic API (<code>\/authorise<\/code>)","new_desc":"integrating using our Checkout APIs"},"sitemap":{"priority":0.3},"id":"47486111","type":"page","_expandable":{"operations":""},"status":"current"},"algolia":{"url":"https:\/\/docs.adyen.com\/pt\/online-payments\/classic-integrations\/classic-api-integration\/3d-secure-authentication\/3d-secure-1\/3d-secure-1-authentication-only","title":"Authentication-only integration","content":"\nAdyen is no longer developing the Classic API integration\nThis page is for the Classic API (\/authorise) integration, which we no longer accept new integrations with. \nWe strongly recommend migrating to the newer 3D Secure authentication-only on Checkout API integration. To use this newer integration, you must also migrate to the Checkout API.\n\nImplement a fallback implementation in case the issuer does not support 3D Secure 2 authentication-only integration yet. In the response, you get the authentication data that you need to authorise the payment with another PSP or acquirer.\nIf after the authentication you decide to\u00a0process the payment with us, you can also\u00a0continue with the payment authorisation\u00a0with Adyen.\nBefore\u00a0you begin\nBefore you begin to integrate, make sure you have followed the Get started with Adyen guide to:\n\nGet an overview of the steps needed to accept live payments.\nCreate your test account.\n\nAfter you have created your test account:\n\nGet your API Key. Save a copy\u00a0as you'll need it for API calls you make to the\u00a0plataforma de pagamentos da Adyen.\nRead and understand the\u00a0full 3D Secure 1 Classic API integration guide.\u00a0\n\nStep 1: Submit a payment authentication request\nSubmit an authentication request with a\u00a0 \/authorise\u00a0call containing the\u00a0required 3D Secure 1 parameters and the authenticationData.authenticationOnly parameter:\n\nauthenticationData.authenticationOnly:\u00a0Set this to true.\n\n\n    \n\nYou'll receive a response containing:\n\nresultCode: RedirectShopper. This means that you have to perform the 3D Secure authentication flow.\n\nFor a complete list of\u00a0resultCode\u00a0values and the actions that you need to do, see\u00a0Result codes.\n\n    \n\nStep 2: Perform the 3D Secure 1 authentication flow\n\n\nRedirect the shopper to the card issuer to perform authentication. After a successful authentication, the card issuer returns the shopper to your site and sends an HTTP POST to your TermUrl containing the following:\n\nMD: Payment session identifier.\nPaRes: Payment authorisation response.\n\n\n\nGet the MD and PaRes values and proceed to submit the authentication result.\n\n\n\nIf after performing the authentication you decide to continue the payment authorisation with Adyen, skip the next step proceed to Authorise the payment with Adyen instead.\n\nStep 3: Submit the result and get the authentication data\n\nSubmit the authentication result in an  authorise3d request:\n\n\nmd: Payment session identifier, MD, returned by the card issuer in the previous step.\npaResponse: Payment authorisation response, PaRes, returned by the card issuer in the previous step.\n\nauthenticationData.authenticationOnly:\u00a0Set this to true.\n\n\n\n\n\nYou'll receive a response containing:\n\nresultCode: If the authentication process has finished, you receive AuthenticationFinished.\n\nadditionalData.threeDAuthenticatedResponse: Indicates the results of the authentication. The value Y means that authentication was successful. If you get another value, see the list of possible values to learn what it means.\n\n\n\n\n\n\nIf you received Y in additionalData.threeDAuthenticatedResponse, you can continue to the next step to authorise the payment.\n\n\nSee our API reference to learn more about the response parameters and how the values map to 3D Secure specifications.\n\nOptional: Authorise the payment with Adyen\nIf after completing the authentication flow you decide to proceed with authorising the payment with Adyen, you can still switch and continue with a payment authorisation.\nMake a POST\u00a0 authorise3d\u00a0request from your server and include the following parameters:\u00a0\n\nauthenticationData.authenticationOnly:\u00a0Set this to false.\n\n\n    \n\nYou'll receive\u00a0Authorised\u00a0as the\u00a0resultCode\u00a0if the payment was successful.\n\n    \n","type":"page","locale":"pt","boost":14,"hierarchy":{"lvl0":"Home","lvl1":"Online payments","lvl2":"Classic integrations for Ecommerce","lvl3":"Classic API integration","lvl4":"3D Secure authentication","lvl5":"3D Secure 1 and 2 redirect authentication","lvl6":"Authentication-only integration"},"hierarchy_url":{"lvl0":"https:\/\/docs.adyen.com\/pt","lvl1":"https:\/\/docs.adyen.com\/pt\/online-payments","lvl2":"https:\/\/docs.adyen.com\/pt\/online-payments\/classic-integrations","lvl3":"https:\/\/docs.adyen.com\/pt\/online-payments\/classic-integrations\/classic-api-integration","lvl4":"https:\/\/docs.adyen.com\/pt\/online-payments\/classic-integrations\/classic-api-integration\/3d-secure-authentication","lvl5":"https:\/\/docs.adyen.com\/pt\/online-payments\/classic-integrations\/classic-api-integration\/3d-secure-authentication\/3d-secure-1","lvl6":"\/pt\/online-payments\/classic-integrations\/classic-api-integration\/3d-secure-authentication\/3d-secure-1\/3d-secure-1-authentication-only"},"levels":7,"category":"Online Payments","category_color":"green","tags":["Authentication-only","integration"]},"articleFiles":{"authorise3d-request-2793971518.js":"<p alt=\"\">authorise3d-request-2793971518.js<\/p>"}}
