{"title":"Migrate to Checkout API","category":"default","creationDate":1729685400,"content":"<p>Adyen no longer develops or updates our  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Payment\/latest\/overview\" class=\" external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Classic API<\/a>. We recommend that you migrate your integration to use the latest version of  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/overview\" class=\" external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Checkout API<\/a> for the following benefits:<\/p>\n<ul>\n<li>A single integration to process all payment methods, including cards, bank-based, and alternative payment methods.<\/li>\n<li>A simpler client-side integration with Drop-in\/Components that is only available with the Checkout API.<\/li>\n<li>Improved 3D Secure 2 authentication for payments. This includes simpler integration and the auto-authorization feature which reduces integration errors and failed payments.<\/li>\n<li>An integration that adheres to latest security standards, like <a href=\"https:\/\/en.wikipedia.org\/wiki\/JSON_Web_Encryption\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">JSON Web Encryption (JWE)<\/a> and <a href=\"https:\/\/en.wikipedia.org\/wiki\/JSON_Web_Signature\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">JSON Web Signature (JWS)<\/a>, and offers your shoppers a more secure checkout process.<\/li>\n<li>A simple, developer-friendly integration experience that handles many of the complexities of processing payments with less code complexity.<\/li>\n<li>More specific error responses, for more efficient debugging.<\/li>\n<\/ul>\n<p>When you migrate to Checkout API, changes affect payment authentication, authorization and modification changes. Other processes and credentials, like reporting, reconciliation, webhooks, and API authentication keys do not change.<\/p>\n<h2>Supported features<\/h2>\n<p>The following table shows the features supported in Classic API and Checkout API:<\/p>\n<table>\n<thead>\n<tr>\n<th>Feature<\/th>\n<th>Classic API<\/th>\n<th>Checkout API<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Card payments<\/td>\n<td><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<\/tr>\n<tr>\n<td><a href=\"\/pt\/online-payments\/3d-secure\/\">3D Secure 2<\/a> authentication<\/td>\n<td><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/github.com\/Adyen#online-payments\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">Drop-in\/Components<\/a> for web, mobile, and cross-platform<\/td>\n<td><\/td>\n<td><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<\/tr>\n<tr>\n<td><a href=\"\/pt\/online-payments\/build-your-integration\/sessions-flow\/?platform=Web&amp;integration=Hosted%2BCheckout\">Hosted Checkout<\/a><\/td>\n<td><\/td>\n<td><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<\/tr>\n<tr>\n<td><a href=\"\/pt\/unified-commerce\/pay-by-link\">Pay by Link<\/a><\/td>\n<td><\/td>\n<td><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<\/tr>\n<tr>\n<td>Donations with <a href=\"\/pt\/online-payments\/donations\">Adyen Giving<\/a><\/td>\n<td><\/td>\n<td><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<\/tr>\n<tr>\n<td>Creating orders that allow for partial payments<\/td>\n<td><\/td>\n<td><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<\/tr>\n<tr>\n<td>Usage <a href=\"\/pt\/online-payments\/analytics-and-data-tracking\/\">analytics<\/a><\/td>\n<td><\/td>\n<td><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>How to migrate<\/h2>\n<p>Follow this guide to migrate to <a href=\"\/pt\/online-payments\/release-notes\/?title%5B0%5D=Checkout%20API&amp;version%5B0%5D=71\">Checkout API v71<\/a> or later.<\/p>\n<p>While you make your updates, you can continue to use your existing Classic API integration to process live payments.<\/p>\n<p>After testing your Checkout API integration, you can go live and start processing live payments with it.<\/p>\n<p>To migrate your integration, do the following:<\/p>\n<ol>\n<li><a href=\"#update-settings-in-customer-area\">Update settings in Customer Area<\/a>.<\/li>\n<li><a href=\"#update-your-endpoints\">Update your endpoints<\/a>.<\/li>\n<li><a href=\"#update-your-request-objects\">Update your request objects<\/a>.<\/li>\n<li><a href=\"#implement-card-brands-check\">Implement cards brand check<\/a>.<\/li>\n<li><a href=\"#handle-additional-actions\">Handle additional actions<\/a><\/li>\n<li><a href=\"#request-additional-configuration\">Request additional configuration (optional)<\/a><\/li>\n<li><a href=\"#handle-new-errors\">Handle new errors<\/a>.<\/li>\n<li><a href=\"#test-your-updates\">Test your updates<\/a>.<\/li>\n<li><a href=\"#go-live\">Go live<\/a>.<\/li>\n<\/ol>\n<h2>Use our API library<\/h2>\n<p>When you migrate to Checkout API, we recommend that you use one of our <a href=\"\/pt\/development-resources\/libraries\">API libraries<\/a>, available in many languages, to help you make requests.<\/p>\n<p>If you use an API library for your Classic API integration, upgrade to the latest version to get the latest changes for Checkout API.<\/p>\n<h2>Update settings in Customer Area<\/h2>\n<p>In your <a href=\"https:\/\/ca-test.adyen.com\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">Customer Area<\/a>, do the following:<\/p>\n<ul>\n<li>Make sure that your API credential has the <strong>Checkout webservice<\/strong> user role.\n<ol>\n<li>In your Customer Area, go to <strong>Developers<\/strong> &gt; <strong>API credentials<\/strong>.<\/li>\n<li>From the list of users, select the user whose credentials you want to use to make Checkout API requests.<\/li>\n<li>In the <strong>Permissions<\/strong> section, in the <strong>Roles<\/strong> panel, under <strong>UNCATEGORIZED<\/strong>, select <strong>Checkout webservice role<\/strong>.<\/li>\n<\/ol><\/li>\n<li>Turn on additional data that you want to get it in your Checkout API responses.\n<ol>\n<li>In your Customer Area, go to <strong>Developers<\/strong> &gt; <strong>Additional data<\/strong>.<\/li>\n<li>Select the fields that you want to get.<\/li>\n<\/ol><\/li>\n<\/ul>\n<p>You continue to get the same <a href=\"\/pt\/reporting\">reports<\/a> in your Customer Area after you migrate to Checkout API.<\/p>\n<h2 id=\"update-your-endpoints\">Update your endpoints<\/h2>\n<p>The following tables show the base URL and endpoints that you must update from Classic API to Checkout API.<\/p>\n<h3>Base URL<\/h3>\n<table>\n<thead>\n<tr>\n<th>Environment<\/th>\n<th>Classic<\/th>\n<th>Checkout<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Test<\/td>\n<td><code>https:\/\/pal-test.adyen.com\/pal\/servlet\/Payment\/{VERSION}<\/code><\/td>\n<td><code>https:\/\/checkout-test.adyen.com\/checkout\/{VERSION}<\/code><\/td>\n<\/tr>\n<tr>\n<td>Live<\/td>\n<td><code>https:\/\/{PREFIX}-pal-live.adyenpayments.com\/pal\/servlet\/Payment\/{VERSION}<\/code><\/td>\n<td><code>https:\/\/{PREFIX}-checkout-live.adyenpayments.com\/{VERSION}<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>You can <a href=\"\/pt\/development-resources\/live-endpoints\">find your URL prefixes for the live environment<\/a> in your live Customer Area:<\/p>\n<ol>\n<li>Go to <strong>Developers<\/strong> &gt; <strong>API URLs<\/strong>.<\/li>\n<li>Select the endpoint that corresponds to the region that the account operates in. For example, if you are located in India, you must use a URL in the India (<strong>IN<\/strong>) region.<\/li>\n<\/ol>\n<h3>Endpoints<\/h3>\n<p>Change the following endpoints for each corresponding action.<\/p>\n<p>Append each endpoint to the <a href=\"#base-url\">base URL<\/a>.<\/p>\n<table>\n<thead>\n<tr>\n<th>Action<\/th>\n<th>Classic<\/th>\n<th>Checkout<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Get a list of available payment methods.<\/td>\n<td>Not available.<\/td>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/paymentMethods\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/paymentMethods<\/a><\/td>\n<\/tr>\n<tr>\n<td>Make a payment.<\/td>\n<td> <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><\/td>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments<\/a><\/td>\n<\/tr>\n<tr>\n<td>Authorize a payment after 3D Secure 2 authentication.<\/td>\n<td> <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> and  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Payment\/latest\/post\/authorise3ds2\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/authorise3ds2<\/a><\/td>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\/details\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments\/details<\/a><\/td>\n<\/tr>\n<tr>\n<td>Refund a captured payment with its <code>pspReference<\/code>.<\/td>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Payment\/latest\/post\/refund\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/refund<\/a><\/td>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\/(paymentPspReference)\/refunds\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments\/{paymentPspReference}\/refunds<\/a><\/td>\n<\/tr>\n<tr>\n<td>Cancel an authorization with its <code>pspReference<\/code>.<\/td>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Payment\/latest\/post\/cancel\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/cancel<\/a><\/td>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\/(paymentPspReference)\/cancels\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments\/{paymentPspReference}\/cancels<\/a><\/td>\n<\/tr>\n<tr>\n<td>Cancel an authorization without its <code>pspReference<\/code>.<\/td>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Payment\/latest\/post\/technicalCancel\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/technicalCancel<\/a><\/td>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/cancels\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/cancels<\/a><\/td>\n<\/tr>\n<tr>\n<td>Capture a payment.<\/td>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Payment\/latest\/post\/capture\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/capture<\/a><\/td>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\/(paymentPspReference)\/captures\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments\/{paymentPspReference}\/captures<\/a><\/td>\n<\/tr>\n<tr>\n<td>If you do not know the status of a payment, refund or cancel the payment.<\/td>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Payment\/latest\/post\/cancelOrRefund\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/cancelOrRefund<\/a><\/td>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\/(paymentPspReference)\/reversals\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments\/{paymentPspReference}\/reversals<\/a><\/td>\n<\/tr>\n<tr>\n<td>Update the amount of an authorized payment.<\/td>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Payment\/latest\/post\/adjustAuthorisation\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/adjustAuthorisation<\/a><\/td>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\/(paymentPspReference)\/amountUpdates\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments\/{paymentPspReference}\/amountUpdates<\/a><\/td>\n<\/tr>\n<tr>\n<td>For redirect payment methods, send payment data after the redirect.<\/td>\n<td>Not available.<\/td>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\/details\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments\/details<\/a><\/td>\n<\/tr>\n<tr>\n<td>Get the list of brands on a card.<\/td>\n<td>Not available.<\/td>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/cardDetails\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/cardDetails<\/a><\/td>\n<\/tr>\n<tr>\n<td>Make a donation through Adyen Giving.<\/td>\n<td>Not available.<\/td>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/donations\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/donations<\/a><\/td>\n<\/tr>\n<tr>\n<td>Get a list of your active donation campaigns.<\/td>\n<td>Not available.<\/td>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/donationCampaigns\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/donationCampaigns<\/a><\/td>\n<\/tr>\n<tr>\n<td>Create a Pay by Link payment link.<\/td>\n<td>Not available.<\/td>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/paymentLinks\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/paymentLinks<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"update-your-request-objects\">Update your request objects<\/h2>\n<p>The request objects in Classic API and Checkout API are different. You must update the parameters for each object.<\/p>\n<h3>Data format<\/h3>\n<p>The required data format for Checkout API is JSON. If your Classic API integration uses XML data, you must change your request objects to JSON instead.<\/p>\n<p>The following examples show the differences in the request objects between Classic API and Checkout API, in JSON format.<\/p>\n<div class=\"accordion-shortcode adl-accordion adl-accordion--max-height-transition\" data-expand=\"true\" data-ignore=\"anchorjs-link\">\n    \n    <div class=\"adl-accordion__item\" style=\"\">\n        <div tabindex=\"0\" role=\"item\" aria-expanded=\"false\" class=\"adl-accordion__header\">\n            <i class=\"adl-accordion__toggle adl-icon-chevron-down\"><\/i>\n            <div class=\"adl-accordion__title-wrapper\" data-accordion=\"#make-a-payment-with-encrypted-card-details\">\n                                    <h3 class=\"adl-accordion__title\">Make a payment with encrypted card details<\/h3>\n                            <\/div>\n        <\/div>\n        <div role=\"region\" class=\"adl-accordion__content\">\n            \n<p>If you are not <a href=\"\/pt\/get-started-with-adyen\/adyen-glossary\/#pci-compliance\">PCI-compliant<\/a>, use one of <a href=\"\/pt\/payment-methods\/cards\/custom-card-integration\/#page-introduction\">Adyen's client-side solutions<\/a> to encrypt card details.<\/p>\n<p>After encrypting card details, make a payment request with the encrypted card details.<\/p>\n<h4>Parameters<\/h4>\n<table>\n<thead>\n<tr>\n<th>Classic API<\/th>\n<th>Checkout API<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>amount<\/code><\/td>\n<td><code>amount<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>additionalData.card.encrypted.json<\/code><\/td>\n<td><code>paymentMethod<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>paymentMethod.type<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>paymentMethod.encryptedCardNumber<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>paymentMethod.encryptedExpiryMonth<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>paymentMethod.encryptedExpiryYear<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>paymentMethod.encryptedSecurityCode<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>paymentMethod.holderName<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>reference<\/code><\/td>\n<td><code>reference<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>merchantAccount<\/code><\/td>\n<td><code>merchantAccount<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>returnUrl<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"row\" style=\"align-items: top;justify-content: center;\">\n<div class=\"col col-12 col-md-6\" style=\"background-color:transparent;;\"><h4>Classic API<\/h4><p>To make a basic card payment with encrypted card details, include the following in the  <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> request:<\/p><div data-component-wrapper=\"code-sample\"><code-sample :title=\"''\" :id=\"'encrypted-card-payment-classic'\" :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;: 1500\\n   },\\n   \\&quot;merchantAccount\\&quot;: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n   \\&quot;additionalData\\&quot;:{\\n      \\&quot;card.encrypted.json\\&quot;:\\&quot;adyenjs_0_1_4p1$...\\&quot;\\n   },\\n   \\&quot;reference\\&quot;: \\&quot;YOUR_REFERENCE\\&quot;\\n}'&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample><\/div><\/div><div class=\"col col-12 col-md-6\" style=\"background-color:transparent;;\"><h4>Checkout API<\/h4><p>To make a basic card payment with encrypted card details, include the following in the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments<\/a> request:<\/p><div data-component-wrapper=\"code-sample\"><code-sample :title=\"''\" :id=\"'encrypted-card-payment-checkout'\" :code-data=\"[{&quot;language&quot;:&quot;bash&quot;,&quot;tabTitle&quot;:&quot;&quot;,&quot;content&quot;:&quot;curl https:\\\/\\\/checkout-test.adyen.com\\\/v72\\\/payments \\\\\\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;: 1500\\n   },\\n   \\&quot;merchantAccount\\&quot;: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n   \\&quot;paymentMethod\\&quot;: {\\n      \\&quot;type\\&quot;: \\&quot;scheme\\&quot;,\\n      \\&quot;encryptedCardNumber\\&quot;: \\&quot;test_4111111111111111\\&quot;,\\n      \\&quot;encryptedExpiryMonth\\&quot;: \\&quot;test_03\\&quot;,\\n      \\&quot;encryptedExpiryYear\\&quot;: \\&quot;test_2030\\&quot;,\\n      \\&quot;encryptedSecurityCode\\&quot;: \\&quot;test_737\\&quot;,\\n      \\&quot;holderName\\&quot;: \\&quot;S. Hopper\\&quot;\\n   },\\n   \\&quot;reference\\&quot;: \\&quot;YOUR_REFERENCE\\&quot;,\\n   \\&quot;returnUrl\\&quot;: \\&quot;https:\\\/\\\/your-company.example.com\\\/checkout?shopperOrder=12xy..\\&quot;\\n}'&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample><\/div><\/div><\/div>\n\n        <\/div>\n    <\/div>\n<\/div>\n\n<div class=\"accordion-shortcode adl-accordion adl-accordion--max-height-transition\" data-expand=\"true\" data-ignore=\"anchorjs-link\">\n    \n    <div class=\"adl-accordion__item\" style=\"\">\n        <div tabindex=\"0\" role=\"item\" aria-expanded=\"false\" class=\"adl-accordion__header\">\n            <i class=\"adl-accordion__toggle adl-icon-chevron-down\"><\/i>\n            <div class=\"adl-accordion__title-wrapper\" data-accordion=\"#make-a-payment-with-unencrypted-card-details\">\n                                    <h3 class=\"adl-accordion__title\">Make a payment with unencrypted card details<\/h3>\n                            <\/div>\n        <\/div>\n        <div role=\"region\" class=\"adl-accordion__content\">\n            \n<div class=\"notices red\">\n<p>You must be PCI compliant to use unencrypted card details.<\/p>\n<\/div>\n<p>Make a request for a card payment with unencrypted card details.<\/p>\n<h4>Parameters<\/h4>\n<table>\n<thead>\n<tr>\n<th>Classic API<\/th>\n<th>Checkout API<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>amount<\/code><\/td>\n<td><code>amount<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>paymentMethod.type<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>card.number<\/code><\/td>\n<td><code>paymentMethod.number<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>card.expiryMonth<\/code><\/td>\n<td><code>paymentMethod.expiryMonth<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>card.expiryYear<\/code><\/td>\n<td><code>paymentMethod.expiryYear<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>cvc<\/code><\/td>\n<td><code>paymentMethod.cvc<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>holderName<\/code><\/td>\n<td><code>paymentMethod.holderName<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>reference<\/code><\/td>\n<td><code>reference<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>merchantAccount<\/code><\/td>\n<td><code>merchantAccount<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>returnUrl<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"row\" style=\"align-items: top;justify-content: center;\">\n<div class=\"col col-12 col-md-6\" style=\"background-color:transparent;;\"><h4>Classic API<\/h4><p>To make a basic card payment, include the following in the  <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> request:<\/p><div data-component-wrapper=\"code-sample\"><code-sample :title=\"''\" :id=\"'unencrypted-card-payment-classic'\" :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;: 1500\\n   },\\n   \\&quot;card\\&quot;: {\\n      \\&quot;number\\&quot;: \\&quot;4111111111111111\\&quot;,\\n      \\&quot;expiryMonth\\&quot;: \\&quot;10\\&quot;,\\n      \\&quot;expiryYear\\&quot;: \\&quot;2030\\&quot;,\\n      \\&quot;cvc\\&quot;: \\&quot;737\\&quot;,\\n      \\&quot;holderName\\&quot;: \\&quot;S. Hopper\\&quot;\\n   },\\n   \\&quot;merchantAccount\\&quot;: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n   \\&quot;reference\\&quot;: \\&quot;YOUR_REFERENCE\\&quot;\\n}'&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample><\/div><\/div><div class=\"col col-12 col-md-6\" style=\"background-color:transparent;;\"><h4>Checkout API<\/h4><p>To make a card payment, include the following in the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments<\/a> request:<\/p><div data-component-wrapper=\"code-sample\"><code-sample :title=\"''\" :id=\"'unencrypted-card-payment-checkout'\" :code-data=\"[{&quot;language&quot;:&quot;bash&quot;,&quot;tabTitle&quot;:&quot;&quot;,&quot;content&quot;:&quot;curl https:\\\/\\\/checkout-test.adyen.com\\\/v72\\\/payments \\\\\\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;: 1500\\n    },\\n    \\&quot;paymentMethod\\&quot;: {\\n      \\&quot;type\\&quot;: \\&quot;scheme\\&quot;,\\n      \\&quot;number\\&quot;: \\&quot;4111111111111111\\&quot;,\\n      \\&quot;expiryMonth\\&quot;: \\&quot;10\\&quot;,\\n      \\&quot;expiryYear\\&quot;: \\&quot;2030\\&quot;,\\n      \\&quot;cvc\\&quot;: \\&quot;737\\&quot;,\\n      \\&quot;holderName\\&quot;: \\&quot;S. Hopper\\&quot;\\n    },\\n    \\&quot;merchantAccount\\&quot;: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n    \\&quot;reference\\&quot;: \\&quot;YOUR_REFERENCE\\&quot;,\\n    \\&quot;returnUrl\\&quot;: \\&quot;https:\\\/\\\/your-company.example.com\\\/...\\&quot;\\n}'&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample><\/div><\/div><\/div>\n\n        <\/div>\n    <\/div>\n<\/div>\n\n<div class=\"accordion-shortcode adl-accordion adl-accordion--max-height-transition\" data-expand=\"true\" data-ignore=\"anchorjs-link\">\n    \n    <div class=\"adl-accordion__item\" style=\"\">\n        <div tabindex=\"0\" role=\"item\" aria-expanded=\"false\" class=\"adl-accordion__header\">\n            <i class=\"adl-accordion__toggle adl-icon-chevron-down\"><\/i>\n            <div class=\"adl-accordion__title-wrapper\" data-accordion=\"#store-the-shopper-s-card-details\">\n                                    <h3 class=\"adl-accordion__title\">Store the shopper's card details<\/h3>\n                            <\/div>\n        <\/div>\n        <div role=\"region\" class=\"adl-accordion__content\">\n            \n<p>Make a request to <a href=\"\/pt\/online-payments\/tokenization\">store the shopper's card details<\/a>.<\/p>\n<h4>Parameters<\/h4>\n<table>\n<thead>\n<tr>\n<th>Classic API<\/th>\n<th>Checkout API<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>amount<\/code><\/td>\n<td><code>amount<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>additionalData.card.encrypted.json<\/code><\/td>\n<td><code>paymentMethod<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>paymentMethod.type<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>paymentMethod.encryptedCardNumber<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>paymentMethod.encryptedExpiryMonth<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>paymentMethod.encryptedExpiryYear<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>paymentMethod.encryptedSecurityCode<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>paymentMethod.holderName<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>reference<\/code><\/td>\n<td><code>reference<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>merchantAccount<\/code><\/td>\n<td><code>merchantAccount<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>shopperEmail<\/code><\/td>\n<td><code>shopperEmail<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>shopperIP<\/code><\/td>\n<td><code>shopperIP<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>shopperReference<\/code><\/td>\n<td><code>shopperReference<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>recurring<\/code><\/td>\n<td>Not applicable.<\/td>\n<\/tr>\n<tr>\n<td><code>recurringProcessingModel<\/code><\/td>\n<td><code>recurringProcessingModel<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>storePaymentMethod<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>returnUrl<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"row\" style=\"align-items: top;justify-content: center;\">\n<div class=\"col col-12 col-md-6\" style=\"background-color:transparent;;\"><h4>Classic API<\/h4><p>To store the shopper's card details (in this example, for one-off payments), include the following in the  <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> request:<\/p><div data-component-wrapper=\"code-sample\"><code-sample :title=\"''\" :id=\"'store-classic'\" :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;value\\&quot;: 0,\\n      \\&quot;currency\\&quot;: \\&quot;EUR\\&quot;\\n   },\\n\\t \\&quot;additionalData\\&quot;: {\\n      \\&quot;card.encrypted.json\\&quot;: \\&quot;adyenjs_0_1_4p1$...\\&quot;\\n   },\\n   \\&quot;reference\\&quot;: \\&quot;YOUR_REFERENCE\\&quot;,\\n   \\&quot;merchantAccount\\&quot;: \\&quot;TestMerchant\\&quot;,\\n   \\&quot;shopperEmail\\&quot;: \\&quot;s.hopper@test.com\\&quot;,\\n   \\&quot;shopperIP\\&quot;: \\&quot;61.294.12.12\\&quot;,\\n   \\&quot;shopperReference\\&quot;: \\&quot;YOUR_SHOPPER_REFERENCE\\&quot;,\\n   \\&quot;recurring\\&quot;: {\\n      \\&quot;contract\\&quot;: [\\&quot;RECURRING\\&quot;, \\&quot;ONECLICK\\&quot;]\\n   },\\n   \\&quot;recurringProcessingModel\\&quot;: \\&quot;Subscription\\&quot;\\n}'&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample><\/div><\/div><div class=\"col col-12 col-md-6\" style=\"background-color:transparent;;\"><h4>Checkout API<\/h4><p>To store the shopper's card details (in this example, for one-off payments), include the following in the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments<\/a> request:<\/p><div data-component-wrapper=\"code-sample\"><code-sample :title=\"''\" :id=\"'store-checkout'\" :code-data=\"[{&quot;language&quot;:&quot;bash&quot;,&quot;tabTitle&quot;:&quot;curl&quot;,&quot;content&quot;:&quot;curl https:\\\/\\\/checkout-test.adyen.com\\\/v72\\\/payments \\\\\\n-H 'x-api-key: ADYEN_API_KEY' \\\\\\n-H 'content-type: application\\\/json' \\\\\\n-d '{\\n   \\&quot;amount\\&quot;: {\\n      \\&quot;value\\&quot;: 0,\\n      \\&quot;currency\\&quot;: \\&quot;EUR\\&quot;\\n   },\\n   \\&quot;paymentMethod\\&quot;: {\\n      \\&quot;type\\&quot;: \\&quot;scheme\\&quot;,\\n      \\&quot;encryptedCardNumber\\&quot;: \\&quot;test_4111111111111111\\&quot;,\\n      \\&quot;encryptedExpiryMonth\\&quot;: \\&quot;test_03\\&quot;,\\n      \\&quot;encryptedExpiryYear\\&quot;: \\&quot;test_2030\\&quot;,\\n      \\&quot;encryptedSecurityCode\\&quot;: \\&quot;test_737\\&quot;,\\n      \\&quot;holderName\\&quot;: \\&quot;S. Hopper\\&quot;\\n   },\\n   \\&quot;reference\\&quot;: \\&quot;YOUR_REFERENCE\\&quot;,\\n   \\&quot;shopperInteraction\\&quot;: \\&quot;Ecommerce\\&quot;,\\n   \\&quot;recurringProcessingModel\\&quot;: \\&quot;CardOnFile\\&quot;,\\n   \\&quot;storePaymentMethod\\&quot;: \\&quot;true\\&quot;,\\n   \\&quot;merchantAccount\\&quot;: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n   \\&quot;shopperReference\\&quot;: \\&quot;YOUR_SHOPPER_REFERENCE\\&quot;,\\n   \\&quot;returnUrl\\&quot;: \\&quot;https:\\\/\\\/your-company.example.com\\\/...\\&quot;\\n}'&quot;},{&quot;language&quot;:&quot;java&quot;,&quot;tabTitle&quot;:&quot;Java&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Java API Library v32.0.0\\nimport com.adyen.Client;\\nimport com.adyen.enums.Environment;\\nimport com.adyen.model.checkout.*;\\nimport java.time.OffsetDateTime;\\nimport java.util.*;\\nimport com.adyen.model.RequestOptions;\\nimport com.adyen.service.checkout.*;\\n\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\nClient client = new Client(\\&quot;ADYEN_API_KEY\\&quot;, Environment.TEST);\\n\\n\\\/\\\/ Create the request object(s)\\nAmount amount = new Amount()\\n  .currency(\\&quot;EUR\\&quot;)\\n  .value(0L);\\n\\nCardDetails cardDetails = new CardDetails()\\n  .encryptedCardNumber(\\&quot;test_4111111111111111\\&quot;)\\n  .holderName(\\&quot;S. Hopper\\&quot;)\\n  .encryptedSecurityCode(\\&quot;test_737\\&quot;)\\n  .encryptedExpiryYear(\\&quot;test_2030\\&quot;)\\n  .encryptedExpiryMonth(\\&quot;test_03\\&quot;)\\n  .type(CardDetails.TypeEnum.SCHEME);\\n\\nPaymentRequest paymentRequest = new PaymentRequest()\\n  .reference(\\&quot;YOUR_REFERENCE\\&quot;)\\n  .amount(amount)\\n  .storePaymentMethod(true)\\n  .merchantAccount(\\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;)\\n  .recurringProcessingModel(PaymentRequest.RecurringProcessingModelEnum.CARDONFILE)\\n  .paymentMethod(new CheckoutPaymentMethod(cardDetails))\\n  .shopperInteraction(PaymentRequest.ShopperInteractionEnum.ECOMMERCE)\\n  .returnUrl(\\&quot;https:\\\/\\\/your-company.example.com\\\/...\\&quot;)\\n  .shopperReference(\\&quot;YOUR_SHOPPER_REFERENCE\\&quot;);\\n\\n\\\/\\\/ Send the request\\nPaymentsApi service = new PaymentsApi(client);\\nPaymentResponse response = service.payments(paymentRequest, new RequestOptions().idempotencyKey(\\&quot;UUID\\&quot;));&quot;},{&quot;language&quot;:&quot;php&quot;,&quot;tabTitle&quot;:&quot;PHP&quot;,&quot;content&quot;:&quot;&lt;?php\\n\\\/\\\/ Adyen PHP API Library v23.0.0\\nuse Adyen\\\\Client;\\nuse Adyen\\\\Environment;\\nuse Adyen\\\\Model\\\\Checkout\\\\Amount;\\nuse Adyen\\\\Model\\\\Checkout\\\\CheckoutPaymentMethod;\\nuse Adyen\\\\Model\\\\Checkout\\\\PaymentRequest;\\nuse Adyen\\\\Service\\\\Checkout\\\\PaymentsApi;\\n\\n$client = new Client();\\n$client-&gt;setXApiKey(\\&quot;ADYEN_API_KEY\\&quot;);\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\n$client-&gt;setEnvironment(Environment::TEST);\\n\\n\\n\\\/\\\/ Create the request object(s)\\n$amount = new Amount();\\n$amount\\n  -&gt;setCurrency(\\&quot;EUR\\&quot;)\\n  -&gt;setValue(0);\\n\\n$checkoutPaymentMethod = new CheckoutPaymentMethod();\\n$checkoutPaymentMethod\\n  -&gt;setEncryptedCardNumber(\\&quot;test_4111111111111111\\&quot;)\\n  -&gt;setHolderName(\\&quot;S. Hopper\\&quot;)\\n  -&gt;setEncryptedSecurityCode(\\&quot;test_737\\&quot;)\\n  -&gt;setEncryptedExpiryYear(\\&quot;test_2030\\&quot;)\\n  -&gt;setEncryptedExpiryMonth(\\&quot;test_03\\&quot;)\\n  -&gt;setType(\\&quot;scheme\\&quot;);\\n\\n$paymentRequest = new PaymentRequest();\\n$paymentRequest\\n  -&gt;setReference(\\&quot;YOUR_REFERENCE\\&quot;)\\n  -&gt;setAmount($amount)\\n  -&gt;setStorePaymentMethod(true)\\n  -&gt;setMerchantAccount(\\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;)\\n  -&gt;setRecurringProcessingModel(\\&quot;CardOnFile\\&quot;)\\n  -&gt;setPaymentMethod($checkoutPaymentMethod)\\n  -&gt;setShopperInteraction(\\&quot;Ecommerce\\&quot;)\\n  -&gt;setReturnUrl(\\&quot;https:\\\/\\\/your-company.example.com\\\/...\\&quot;)\\n  -&gt;setShopperReference(\\&quot;YOUR_SHOPPER_REFERENCE\\&quot;);\\n\\n$requestOptions['idempotencyKey'] = 'UUID';\\n\\n\\\/\\\/ Send the request\\n$service = new PaymentsApi($client);\\n$response = $service-&gt;payments($paymentRequest, $requestOptions);&quot;},{&quot;language&quot;:&quot;cs&quot;,&quot;tabTitle&quot;:&quot;C#&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen .net API Library v26.0.0\\nusing Adyen;\\nusing Environment = Adyen.Model.Environment;\\nusing Adyen.Model;\\nusing Adyen.Model.Checkout;\\nusing Adyen.Service.Checkout;\\n\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\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)\\nAmount amount = new Amount\\n{\\n  Currency = \\&quot;EUR\\&quot;,\\n  Value = 0\\n};\\n\\nCardDetails cardDetails = new CardDetails\\n{\\n  EncryptedCardNumber = \\&quot;test_4111111111111111\\&quot;,\\n  HolderName = \\&quot;S. Hopper\\&quot;,\\n  EncryptedSecurityCode = \\&quot;test_737\\&quot;,\\n  EncryptedExpiryYear = \\&quot;test_2030\\&quot;,\\n  EncryptedExpiryMonth = \\&quot;test_03\\&quot;,\\n  Type = CardDetails.TypeEnum.Scheme\\n};\\n\\nPaymentRequest paymentRequest = new PaymentRequest\\n{\\n  Reference = \\&quot;YOUR_REFERENCE\\&quot;,\\n  Amount = amount,\\n  StorePaymentMethod = true,\\n  MerchantAccount = \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n  RecurringProcessingModel = PaymentRequest.RecurringProcessingModelEnum.CardOnFile,\\n  PaymentMethod = new CheckoutPaymentMethod(cardDetails),\\n  ShopperInteraction = PaymentRequest.ShopperInteractionEnum.Ecommerce,\\n  ReturnUrl = \\&quot;https:\\\/\\\/your-company.example.com\\\/...\\&quot;,\\n  ShopperReference = \\&quot;YOUR_SHOPPER_REFERENCE\\&quot;\\n};\\n\\n\\\/\\\/ Send the request\\nvar service = new PaymentsService(client);\\nvar response = service.Payments(paymentRequest, requestOptions: new RequestOptions { IdempotencyKey = \\&quot;UUID\\&quot;});&quot;},{&quot;language&quot;:&quot;js&quot;,&quot;tabTitle&quot;:&quot;NodeJS (JavaScript)&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Node API Library v22.1.0\\n\\\/\\\/ Require the parts of the module you want to use\\nconst { Client, CheckoutAPI } = require('@adyen\\\/api-library');\\n\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\nconst client = new Client({ apiKey: \\&quot;ADYEN_API_KEY\\&quot;, environment: \\&quot;TEST\\&quot; });\\n\\n\\\/\\\/ Create the request object(s)\\nconst paymentRequest = {\\n  amount: {\\n    value: 0,\\n    currency: \\&quot;EUR\\&quot;\\n  },\\n  paymentMethod: {\\n    type: \\&quot;scheme\\&quot;,\\n    encryptedCardNumber: \\&quot;test_4111111111111111\\&quot;,\\n    encryptedExpiryMonth: \\&quot;test_03\\&quot;,\\n    encryptedExpiryYear: \\&quot;test_2030\\&quot;,\\n    encryptedSecurityCode: \\&quot;test_737\\&quot;,\\n    holderName: \\&quot;S. Hopper\\&quot;\\n  },\\n  reference: \\&quot;YOUR_REFERENCE\\&quot;,\\n  shopperInteraction: \\&quot;Ecommerce\\&quot;,\\n  recurringProcessingModel: \\&quot;CardOnFile\\&quot;,\\n  storePaymentMethod: \\&quot;true\\&quot;,\\n  merchantAccount: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n  shopperReference: \\&quot;YOUR_SHOPPER_REFERENCE\\&quot;,\\n  returnUrl: \\&quot;https:\\\/\\\/your-company.example.com\\\/...\\&quot;\\n}\\n\\n\\\/\\\/ Send the request\\nconst checkoutAPI = new CheckoutAPI(client);\\nconst response = checkoutAPI.PaymentsApi.payments(paymentRequest, { idempotencyKey: \\&quot;UUID\\&quot; });&quot;},{&quot;language&quot;:&quot;go&quot;,&quot;tabTitle&quot;:&quot;Go&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Go API Library v16.1.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\\\/checkout\\&quot;\\n)\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\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)\\namount := checkout.Amount{\\n  Currency: \\&quot;EUR\\&quot;,\\n  Value: 0,\\n}\\n\\ncardDetails := checkout.CardDetails{\\n  EncryptedCardNumber: common.PtrString(\\&quot;test_4111111111111111\\&quot;),\\n  HolderName: common.PtrString(\\&quot;S. Hopper\\&quot;),\\n  EncryptedSecurityCode: common.PtrString(\\&quot;test_737\\&quot;),\\n  EncryptedExpiryYear: common.PtrString(\\&quot;test_2030\\&quot;),\\n  EncryptedExpiryMonth: common.PtrString(\\&quot;test_03\\&quot;),\\n  Type: common.PtrString(\\&quot;scheme\\&quot;),\\n}\\n\\npaymentRequest := checkout.PaymentRequest{\\n  Reference: \\&quot;YOUR_REFERENCE\\&quot;,\\n  Amount: amount,\\n  StorePaymentMethod: common.PtrBool(true),\\n  MerchantAccount: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n  RecurringProcessingModel: common.PtrString(\\&quot;CardOnFile\\&quot;),\\n  PaymentMethod: checkout.CardDetailsAsCheckoutPaymentMethod(&amp;cardDetails),\\n  ShopperInteraction: common.PtrString(\\&quot;Ecommerce\\&quot;),\\n  ReturnUrl: \\&quot;https:\\\/\\\/your-company.example.com\\\/...\\&quot;,\\n  ShopperReference: common.PtrString(\\&quot;YOUR_SHOPPER_REFERENCE\\&quot;),\\n}\\n\\n\\\/\\\/ Send the request\\nservice := client.Checkout()\\nreq := service.PaymentsApi.PaymentsInput().IdempotencyKey(\\&quot;UUID\\&quot;).PaymentRequest(paymentRequest)\\nres, httpRes, err := service.PaymentsApi.Payments(context.Background(), req)&quot;},{&quot;language&quot;:&quot;py&quot;,&quot;tabTitle&quot;:&quot;Python&quot;,&quot;content&quot;:&quot;# Adyen Python API Library v13.2.0\\nimport Adyen\\n\\nadyen = Adyen.Adyen()\\nadyen.client.xapikey = \\&quot;ADYEN_API_KEY\\&quot;\\n# For the LIVE environment, also include your liveEndpointUrlPrefix.\\nadyen.client.platform = \\&quot;test\\&quot; # The environment to use library in.\\n\\n# Create the request object(s)\\njson_request = {\\n  \\&quot;amount\\&quot;: {\\n    \\&quot;value\\&quot;: 0,\\n    \\&quot;currency\\&quot;: \\&quot;EUR\\&quot;\\n  },\\n  \\&quot;paymentMethod\\&quot;: {\\n    \\&quot;type\\&quot;: \\&quot;scheme\\&quot;,\\n    \\&quot;encryptedCardNumber\\&quot;: \\&quot;test_4111111111111111\\&quot;,\\n    \\&quot;encryptedExpiryMonth\\&quot;: \\&quot;test_03\\&quot;,\\n    \\&quot;encryptedExpiryYear\\&quot;: \\&quot;test_2030\\&quot;,\\n    \\&quot;encryptedSecurityCode\\&quot;: \\&quot;test_737\\&quot;,\\n    \\&quot;holderName\\&quot;: \\&quot;S. Hopper\\&quot;\\n  },\\n  \\&quot;reference\\&quot;: \\&quot;YOUR_REFERENCE\\&quot;,\\n  \\&quot;shopperInteraction\\&quot;: \\&quot;Ecommerce\\&quot;,\\n  \\&quot;recurringProcessingModel\\&quot;: \\&quot;CardOnFile\\&quot;,\\n  \\&quot;storePaymentMethod\\&quot;: \\&quot;True\\&quot;,\\n  \\&quot;merchantAccount\\&quot;: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n  \\&quot;shopperReference\\&quot;: \\&quot;YOUR_SHOPPER_REFERENCE\\&quot;,\\n  \\&quot;returnUrl\\&quot;: \\&quot;https:\\\/\\\/your-company.example.com\\\/...\\&quot;\\n}\\n\\n# Send the request\\nresult = adyen.checkout.payments_api.payments(request=json_request, idempotency_key=\\&quot;UUID\\&quot;)&quot;},{&quot;language&quot;:&quot;rb&quot;,&quot;tabTitle&quot;:&quot;Ruby&quot;,&quot;content&quot;:&quot;# Adyen Ruby API Library v10.1.0\\nrequire \\&quot;adyen-ruby-api-library\\&quot;\\n\\nadyen = Adyen::Client.new\\nadyen.api_key = 'ADYEN_API_KEY'\\n# For the LIVE environment, also include your liveEndpointUrlPrefix.\\nadyen.env = :test # Set to \\&quot;live\\&quot; for live environment\\n\\n# Create the request object(s)\\nrequest_body = {\\n  :amount =&gt; {\\n    :value =&gt; 0,\\n    :currency =&gt; 'EUR'\\n  },\\n  :paymentMethod =&gt; {\\n    :type =&gt; 'scheme',\\n    :encryptedCardNumber =&gt; 'test_4111111111111111',\\n    :encryptedExpiryMonth =&gt; 'test_03',\\n    :encryptedExpiryYear =&gt; 'test_2030',\\n    :encryptedSecurityCode =&gt; 'test_737',\\n    :holderName =&gt; 'S. Hopper'\\n  },\\n  :reference =&gt; 'YOUR_REFERENCE',\\n  :shopperInteraction =&gt; 'Ecommerce',\\n  :recurringProcessingModel =&gt; 'CardOnFile',\\n  :storePaymentMethod =&gt; 'true',\\n  :merchantAccount =&gt; 'ADYEN_MERCHANT_ACCOUNT',\\n  :shopperReference =&gt; 'YOUR_SHOPPER_REFERENCE',\\n  :returnUrl =&gt; 'https:\\\/\\\/your-company.example.com\\\/...'\\n}\\n\\n# Send the request\\nresult = adyen.checkout.payments_api.payments(request_body, headers: { 'Idempotency-Key' =&gt; 'UUID' })&quot;},{&quot;language&quot;:&quot;ts&quot;,&quot;tabTitle&quot;:&quot;NodeJS (TypeScript)&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Node API Library v22.1.0\\n\\\/\\\/ Require the parts of the module you want to use\\nimport { Client, CheckoutAPI, Types } from \\&quot;@adyen\\\/api-library\\&quot;;\\n\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\nconst client = new Client({ apiKey: \\&quot;ADYEN_API_KEY\\&quot;, environment: \\&quot;TEST\\&quot; });\\n\\n\\\/\\\/ Create the request object(s)\\nconst amount: Types.checkout.Amount = {\\n  currency: \\&quot;EUR\\&quot;,\\n  value: 0\\n};\\n\\nconst cardDetails: Types.checkout.CardDetails = {\\n  encryptedCardNumber: \\&quot;test_4111111111111111\\&quot;,\\n  holderName: \\&quot;S. Hopper\\&quot;,\\n  encryptedSecurityCode: \\&quot;test_737\\&quot;,\\n  encryptedExpiryYear: \\&quot;test_2030\\&quot;,\\n  encryptedExpiryMonth: \\&quot;test_03\\&quot;,\\n  type: Types.checkout.CardDetails.TypeEnum.Scheme\\n};\\n\\nconst paymentRequest: Types.checkout.PaymentRequest = {\\n  reference: \\&quot;YOUR_REFERENCE\\&quot;,\\n  amount: amount,\\n  storePaymentMethod: true,\\n  merchantAccount: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n  recurringProcessingModel: Types.checkout.PaymentRequest.RecurringProcessingModelEnum.CardOnFile,\\n  paymentMethod: cardDetails,\\n  shopperInteraction: Types.checkout.PaymentRequest.ShopperInteractionEnum.Ecommerce,\\n  returnUrl: \\&quot;https:\\\/\\\/your-company.example.com\\\/...\\&quot;,\\n  shopperReference: \\&quot;YOUR_SHOPPER_REFERENCE\\&quot;\\n};\\n\\n\\\/\\\/ Send the request\\nconst checkoutAPI = new CheckoutAPI(client);\\nconst response = checkoutAPI.PaymentsApi.payments(paymentRequest, { idempotencyKey: \\&quot;UUID\\&quot; });&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample><\/div><\/div><\/div>\n\n        <\/div>\n    <\/div>\n<\/div>\n\n<div class=\"accordion-shortcode adl-accordion adl-accordion--max-height-transition\" data-expand=\"true\" data-ignore=\"anchorjs-link\">\n    \n    <div class=\"adl-accordion__item\" style=\"\">\n        <div tabindex=\"0\" role=\"item\" aria-expanded=\"false\" class=\"adl-accordion__header\">\n            <i class=\"adl-accordion__toggle adl-icon-chevron-down\"><\/i>\n            <div class=\"adl-accordion__title-wrapper\" data-accordion=\"#one-off-payment-with-stored-card-details\">\n                                    <h3 class=\"adl-accordion__title\">One-off payment with stored card details<\/h3>\n                            <\/div>\n        <\/div>\n        <div role=\"region\" class=\"adl-accordion__content\">\n            \n<p>Make a request for a one-off payment with stored card details.<\/p>\n<h4>Parameters<\/h4>\n<table>\n<thead>\n<tr>\n<th>Classic API<\/th>\n<th>Checkout API<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>amount<\/code><\/td>\n<td><code>amount<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>additionalData.card.encrypted.json<\/code><\/td>\n<td><code>paymentMethod.type<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>paymentMethod.encryptedSecurityCode<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>selectedRecurringDetailReference<\/code><\/td>\n<td><code>paymentMethod.storedPaymentMethodId<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>reference<\/code><\/td>\n<td><code>reference<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>merchantAccount<\/code><\/td>\n<td><code>merchantAccount<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>shopperEmail<\/code><\/td>\n<td><code>shopperEmail<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>shopperIP<\/code><\/td>\n<td><code>shopperIP<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>shopperInteraction<\/code><\/td>\n<td><code>shopperInteraction<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>recurringProcessingModel<\/code><\/td>\n<td><code>recurringProcessingModel<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>shopperReference<\/code><\/td>\n<td><code>shopperReference<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>recurring.contract<\/code><\/td>\n<td>Not applicable.<\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>returnUrl<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"row\" style=\"align-items: top;justify-content: center;\">\n<div class=\"col col-12 col-md-6\" style=\"background-color:transparent;;\"><h4>Classic API<\/h4><p>To make a one-off payment with stored card details, include the following in the  <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> request:<\/p><div data-component-wrapper=\"code-sample\"><code-sample :title=\"''\" :id=\"'one-off-classic'\" :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;value\\&quot;: 2000,\\n      \\&quot;currency\\&quot;: \\&quot;EUR\\&quot;\\n   },\\n   \\&quot;additionalData\\&quot;: {\\n      \\&quot;card.encrypted.json\\&quot;:\\&quot;adyenjs_0_1_18$*******\\&quot;\\n   },\\n   \\&quot;selectedRecurringDetailReference\\&quot;: \\&quot;LATEST\\&quot;,\\n   \\&quot;reference\\&quot;: \\&quot;YOUR_REFERENCE\\&quot;,\\n   \\&quot;merchantAccount\\&quot;: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n   \\&quot;shopperEmail\\&quot;: \\&quot;s.hopper@test.com\\&quot;,\\n   \\&quot;shopperIP\\&quot;: \\&quot;61.294.12.12\\&quot;,\\n   \\&quot;shopperInteraction\\&quot;: \\&quot;ContAuth\\&quot;,\\n   \\&quot;recurringProcessingModel\\&quot;: \\&quot;CardOnFile\\&quot;,\\n   \\&quot;shopperReference\\&quot;: \\&quot;YOUR_SHOPPER_REFERENCE\\&quot;,\\n   \\&quot;recurring\\&quot;:{\\n      \\&quot;contract\\&quot;: \\&quot;ONECLICK\\&quot;\\n   }\\n}'&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample><\/div><\/div><div class=\"col col-12 col-md-6\" style=\"background-color:transparent;;\"><h4>Checkout API<\/h4><p>To make a one-off payment with stored card details, include the following in the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments<\/a> request:<\/p><div data-component-wrapper=\"code-sample\"><code-sample :title=\"''\" :id=\"'one-off-checkout'\" :code-data=\"[{&quot;language&quot;:&quot;bash&quot;,&quot;tabTitle&quot;:&quot;&quot;,&quot;content&quot;:&quot;curl https:\\\/\\\/checkout-test.adyen.com\\\/v72\\\/payments \\\\\\n-H 'x-api-key: ADYEN_API_KEY' \\\\\\n-H 'content-type: application\\\/json' \\\\\\n-d '{\\n   \\&quot;amount\\&quot;:{\\n      \\&quot;value\\&quot;: 2000,\\n      \\&quot;currency\\&quot;: \\&quot;EUR\\&quot;\\n   },\\n   \\&quot;paymentMethod\\&quot;: {\\n      \\&quot;type\\&quot;: \\&quot;scheme\\&quot;,\\n      \\&quot;encryptedSecurityCode\\&quot;: \\&quot;eyJldZvpOuJSU0EtT0FFUC0yNTYiL...\\&quot;,\\n      \\&quot;storedPaymentMethodId\\&quot;: \\&quot;M5N7TQ4TG5PFWR50\\&quot;\\n   },\\n   \\&quot;reference\\&quot;: \\&quot;YOUR_REFERENCE\\&quot;,\\n   \\&quot;merchantAccount\\&quot;: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n   \\&quot;shopperEmail\\&quot;: \\&quot;s.hopper@test.com\\&quot;,\\n   \\&quot;shopperIP\\&quot;: \\&quot;61.294.12.12\\&quot;,\\n   \\&quot;shopperInteraction\\&quot;: \\&quot;ContAuth\\&quot;,\\n   \\&quot;recurringProcessingModel\\&quot;: \\&quot;CardOnFile\\&quot;,\\n   \\&quot;shopperReference\\&quot;: \\&quot;YOUR_SHOPPER_REFERENCE\\&quot;,\\n   \\&quot;returnUrl\\&quot;: \\&quot;https:\\\/\\\/your-company.example.com\\\/...\\&quot;\\n}'&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample><\/div><\/div><\/div>\n\n        <\/div>\n    <\/div>\n<\/div>\n\n<div class=\"accordion-shortcode adl-accordion adl-accordion--max-height-transition\" data-expand=\"true\" data-ignore=\"anchorjs-link\">\n    \n    <div class=\"adl-accordion__item\" style=\"\">\n        <div tabindex=\"0\" role=\"item\" aria-expanded=\"false\" class=\"adl-accordion__header\">\n            <i class=\"adl-accordion__toggle adl-icon-chevron-down\"><\/i>\n            <div class=\"adl-accordion__title-wrapper\" data-accordion=\"#subscription-payment-with-stored-card-details\">\n                                    <h3 class=\"adl-accordion__title\">Subscription payment with stored card details<\/h3>\n                            <\/div>\n        <\/div>\n        <div role=\"region\" class=\"adl-accordion__content\">\n            \n<p>Make a request for a subscription payment with stored card details.<\/p>\n<h4>Parameters<\/h4>\n<table>\n<thead>\n<tr>\n<th>Classic API<\/th>\n<th>Checkout API<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>amount<\/code><\/td>\n<td><code>amount<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>paymentMethod.type<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>paymentMethod.encryptedSecurityCode<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>selectedRecurringDetailReference<\/code><\/td>\n<td><code>paymentMethod.storedPaymentMethodId<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>reference<\/code><\/td>\n<td><code>reference<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>merchantAccount<\/code><\/td>\n<td><code>merchantAccount<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>shopperEmail<\/code><\/td>\n<td><code>shopperEmail<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>shopperIP<\/code><\/td>\n<td><code>shopperIP<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>shopperReference<\/code><\/td>\n<td><code>shopperReference<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>shopperInteraction<\/code><\/td>\n<td><code>shopperInteraction<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>recurringProcessingModel<\/code><\/td>\n<td><code>recurringProcessingModel<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>recurring<\/code><\/td>\n<td>Not applicable.<\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>storePaymentMethod<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>returnUrl<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"row\" style=\"align-items: top;justify-content: center;\">\n<div class=\"col col-12 col-md-6\" style=\"background-color:transparent;;\"><h4>Classic API<\/h4><p>To make a subscription payment with stored card details, include the following in the  <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> request:<\/p><div data-component-wrapper=\"code-sample\"><code-sample :title=\"''\" :id=\"'subscriptions-classic'\" :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\\\/v68\\\/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;: 1500\\n   },\\n   \\&quot;selectedRecurringDetailReference\\&quot;: \\&quot;LATEST\\&quot;,\\n   \\&quot;reference\\&quot;: \\&quot;YOUR_REFERENCE\\&quot;,\\n   \\&quot;merchantAccount\\&quot;: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n   \\&quot;shopperEmail\\&quot;: \\&quot;s.hopper@test.com\\&quot;,\\n   \\&quot;shopperIP\\&quot;: \\&quot;61.294.12.12\\&quot;,\\n   \\&quot;shopperReference\\&quot;: \\&quot;YOUR_SHOPPER_REFERENCE\\&quot;,\\n   \\&quot;shopperInteraction\\&quot;: \\&quot;ContAuth\\&quot;,\\n   \\&quot;recurringProcessingModel\\&quot;: \\&quot;Subscription\\&quot;,\\n   \\&quot;recurring\\&quot;: {\\n      \\&quot;contract\\&quot;: \\&quot;RECURRING\\&quot;\\n   }\\n}'&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample><\/div><\/div><div class=\"col col-12 col-md-6\" style=\"background-color:transparent;;\"><h4>Checkout API<\/h4><p>To make a subscription payment with stored card details, include the following in the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments<\/a> request:<\/p><div data-component-wrapper=\"code-sample\"><code-sample :title=\"''\" :id=\"'subscriptions-checkout'\" :code-data=\"[{&quot;language&quot;:&quot;bash&quot;,&quot;tabTitle&quot;:&quot;&quot;,&quot;content&quot;:&quot;curl https:\\\/\\\/checkout-test.adyen.com\\\/v72\\\/payments \\\\\\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;: 1500\\n   },\\n   \\&quot;paymentMethod\\&quot;: {\\n      \\&quot;type\\&quot;: \\&quot;scheme\\&quot;,\\n      \\&quot;encryptedSecurityCode\\&quot;: \\&quot;eyJldZvpOuJSU0EtT0FFUC0yNTYiL...\\&quot;,\\n      \\&quot;storedPaymentMethodId\\&quot;: \\&quot;M5N7TQ4TG5PFWR50\\&quot;\\n   },\\n   \\&quot;reference\\&quot;: \\&quot;YOUR_REFERENCE\\&quot;,\\n   \\&quot;merchantAccount\\&quot;: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n   \\&quot;shopperEmail\\&quot;: \\&quot;s.hopper@test.com\\&quot;,\\n   \\&quot;shopperIP\\&quot;: \\&quot;61.294.12.12\\&quot;,\\n   \\&quot;shopperReference\\&quot;: \\&quot;YOUR_SHOPPER_REFERENCE\\&quot;,\\n   \\&quot;shopperInteraction\\&quot;: \\&quot;ContAuth\\&quot;,\\n   \\&quot;recurringProcessingModel\\&quot;: \\&quot;Subscription\\&quot;,\\n   \\&quot;storePaymentMethod\\&quot;: \\&quot;true\\&quot;,\\n   \\&quot;returnUrl\\&quot;: \\&quot;https:\\\/\\\/your-company.example.com\\\/...\\&quot;\\n}'&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample><\/div><\/div><\/div>\n\n        <\/div>\n    <\/div>\n<\/div>\n\n<div class=\"accordion-shortcode adl-accordion adl-accordion--max-height-transition\" data-expand=\"true\" data-ignore=\"anchorjs-link\">\n    \n    <div class=\"adl-accordion__item\" style=\"\">\n        <div tabindex=\"0\" role=\"item\" aria-expanded=\"false\" class=\"adl-accordion__header\">\n            <i class=\"adl-accordion__toggle adl-icon-chevron-down\"><\/i>\n            <div class=\"adl-accordion__title-wrapper\" data-accordion=\"#card-payment-with-native-3-d-secure-2-authentication\">\n                                    <h3 class=\"adl-accordion__title\">Card payment with native 3D Secure 2 authentication<\/h3>\n                            <\/div>\n        <\/div>\n        <div role=\"region\" class=\"adl-accordion__content\">\n            \n<p>Make a request for a payment with native 3D Secure 2 authentication. Use our <a href=\"\/pt\/online-payments\/3d-secure\/native-3ds2\/web-component\/\">native 3D Secure 2 Component<\/a> to handle 3D Secure 2 authentication.<\/p>\n<h4>Parameters<\/h4>\n<table>\n<thead>\n<tr>\n<th>Classic API<\/th>\n<th>Checkout API<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>amount<\/code><\/td>\n<td><code>amount<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>reference<\/code><\/td>\n<td><code>reference<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>merchantAccount<\/code><\/td>\n<td><code>merchantAccount<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>additionalData.card.encrypted.json<\/code><\/td>\n<td><code>paymentMethod.type<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable<\/td>\n<td><code>paymentMethod.encryptedCardNumber<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>paymentMethod.encryptedExpiryMonth<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>paymentMethod.encryptedExpiryYear<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>paymentMethod.encryptedSecurityCode<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>paymentMethod.holderName<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>threeDS2RequestData.mobilePhone<\/code><\/td>\n<td><code>threeDS2RequestData.mobilePhone<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>threeDS2RequestData.deviceChannel<\/code><\/td>\n<td><code>channel<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>threeDS2RequestData.notificationURL<\/code><\/td>\n<td>Not applicable.<\/td>\n<\/tr>\n<tr>\n<td><code>browserInfo<\/code><\/td>\n<td><code>browserInfo<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>shopperIP<\/code><\/td>\n<td><code>shopperIP<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>shopperReference<\/code><\/td>\n<td><code>shopperReference<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>billingAddress<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>shopperEmail<\/code><\/td>\n<td><code>shopperEmail<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>origin<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>returnUrl<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"row\" style=\"align-items: top;justify-content: center;\">\n<div class=\"col col-12 col-md-6\" style=\"background-color:transparent;;\"><h4>Classic API<\/h4><p>To make a payment for native 3D Secure 2 authentication, include the following in the  <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> request:<\/p><div data-component-wrapper=\"code-sample\"><code-sample :title=\"''\" :id=\"'3ds2-native-classic'\" :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\\\/v68\\\/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;: 1500\\n   },\\n   \\&quot;reference\\&quot;: \\&quot;YOUR_REFERENCE\\&quot;,\\n   \\&quot;merchantAccount\\&quot;: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n   \\&quot;additionalData\\&quot;: {\\n      \\&quot;card.encrypted.json\\&quot;: \\&quot;adyenjs_0_1_4p1$...\\&quot;\\n   },\\n   \\&quot;threeDS2RequestData\\&quot;: {\\n      \\&quot;mobilePhone\\&quot;: {\\n         \\&quot;cc\\&quot;: \\&quot;1\\&quot;,\\n         \\&quot;subscriber\\&quot;: \\&quot;5555555555\\&quot;\\n      },\\n      \\&quot;deviceChannel\\&quot;: \\&quot;browser\\&quot;,\\n      \\&quot;notificationURL\\&quot;: \\&quot;https:\\\\\\\/\\\\\\\/www.example.com\\\\\\\/YOUR_3DS_NOTIFICATION_URL\\&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;nl-NL\\&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;shopperIP\\&quot;: \\&quot;192.0.2.1\\&quot;,\\n   \\&quot;shopperReference\\&quot;: \\&quot;YOUR_SHOPPER_REFERENCE\\&quot;\\n}'&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample><\/div><\/div><div class=\"col col-12 col-md-6\" style=\"background-color:transparent;;\"><h4>Checkout API<\/h4><p>To make a payment for native 3D Secure 2 authentication, include the following in the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments<\/a> request:<\/p><div data-component-wrapper=\"code-sample\"><code-sample :title=\"''\" :id=\"'3ds2-native-checkout'\" :code-data=\"[{&quot;language&quot;:&quot;bash&quot;,&quot;tabTitle&quot;:&quot;curl&quot;,&quot;content&quot;:&quot;curl https:\\\/\\\/checkout-test.adyen.com\\\/v72\\\/payments \\\\\\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;: 1500\\n   },\\n   \\&quot;reference\\&quot;: \\&quot;YOUR_REFERENCE\\&quot;,\\n   \\&quot;merchantAccount\\&quot;: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n   \\&quot;paymentMethod\\&quot;: {\\n      \\&quot;type\\&quot;: \\&quot;scheme\\&quot;,\\n      \\&quot;encryptedCardNumber\\&quot;: \\&quot;eyJ0aHJlZURTTWV0aG9kTm90aWZpY...\\&quot;,\\n      \\&quot;encryptedExpiryMonth\\&quot;: \\&quot;eyJhbGciOiTWV0EtT0FFUC0yNTYiL...\\&quot;,\\n      \\&quot;encryptedExpiryYear\\&quot;: \\&quot;eyJhzKliOiJMN0EtT0FFUC0yNTYiL...\\&quot;,\\n      \\&quot;encryptedSecurityCode\\&quot;: \\&quot;eyJldZvpOuJSU0EtT0FFUC0yNTYiL...\\&quot;,\\n      \\&quot;holderName\\&quot;: \\&quot;S. Hopper\\&quot;\\n   },\\n   \\&quot;authenticationData\\&quot;: {\\n      \\&quot;threeDSRequestData\\&quot;: {\\n    \\t   \\&quot;nativeThreeDS\\&quot;: \\&quot;preferred\\&quot;\\n      }\\n   },\\n   \\&quot;threeDS2RequestData\\&quot;: {\\n     \\&quot;mobilePhone\\&quot;: {\\n         \\&quot;cc\\&quot;: \\&quot;1\\&quot;,\\n         \\&quot;subscriber\\&quot;: \\&quot;5555555555\\&quot;\\n      }\\n   },\\n   \\&quot;channel\\&quot;: \\&quot;web\\&quot;,\\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;nl-NL\\&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;: true\\n   },\\n   \\&quot;shopperIP\\&quot;: \\&quot;192.0.2.1\\&quot;,\\n   \\&quot;shopperReference\\&quot;: \\&quot;YOUR_SHOPPER_REFERENCE\\&quot;,\\n   \\&quot;billingAddress\\&quot;: {\\n       \\&quot;street\\&quot;: \\&quot;Infinite Loop\\&quot;,\\n       \\&quot;houseNumberOrName\\&quot;: \\&quot;1\\&quot;,\\n       \\&quot;postalCode\\&quot;: \\&quot;1011DJ\\&quot;,\\n       \\&quot;city\\&quot;: \\&quot;Amsterdam\\&quot;,\\n       \\&quot;country\\&quot;: \\&quot;NL\\&quot;\\n  },\\n   \\&quot;shopperEmail\\&quot;: \\&quot;s.hopper@example.com\\&quot;,\\n   \\&quot;origin\\&quot;: \\&quot;https:\\\/\\\/your-company.example.com\\&quot;,\\n   \\&quot;returnUrl\\&quot;: \\&quot;https:\/\/your-company.example.com\/checkout?shopperOrder=12xy..\\&quot;\\n}'&quot;},{&quot;language&quot;:&quot;java&quot;,&quot;tabTitle&quot;:&quot;Java&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Java API Library v39.3.0\\nimport com.adyen.Client;\\nimport com.adyen.enums.Environment;\\nimport com.adyen.model.checkout.*;\\nimport java.time.OffsetDateTime;\\nimport java.util.*;\\nimport com.adyen.model.RequestOptions;\\nimport com.adyen.service.checkout.*;\\n\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\nClient client = new Client(\\&quot;ADYEN_API_KEY\\&quot;, Environment.TEST);\\n\\n\\\/\\\/ Create the request object(s)\\nThreeDSRequestData threeDSRequestData = new ThreeDSRequestData()\\n  .nativeThreeDS(ThreeDSRequestData.NativeThreeDSEnum.PREFERRED);\\n\\nPhone phone = new Phone()\\n  .cc(\\&quot;1\\&quot;)\\n  .subscriber(\\&quot;5555555555\\&quot;);\\n\\nAuthenticationData authenticationData = new AuthenticationData()\\n  .threeDSRequestData(threeDSRequestData);\\n\\nAmount amount = new Amount()\\n  .currency(\\&quot;EUR\\&quot;)\\n  .value(1500L);\\n\\nThreeDS2RequestFields threeDS2RequestFields = new ThreeDS2RequestFields()\\n  .mobilePhone(phone);\\n\\nCardDetails cardDetails = new CardDetails()\\n  .encryptedCardNumber(\\&quot;eyJ0aHJlZURTTWV0aG9kTm90aWZpY...\\&quot;)\\n  .holderName(\\&quot;S. Hopper\\&quot;)\\n  .encryptedSecurityCode(\\&quot;eyJldZvpOuJSU0EtT0FFUC0yNTYiL...\\&quot;)\\n  .encryptedExpiryYear(\\&quot;eyJhzKliOiJMN0EtT0FFUC0yNTYiL...\\&quot;)\\n  .encryptedExpiryMonth(\\&quot;eyJhbGciOiTWV0EtT0FFUC0yNTYiL...\\&quot;)\\n  .type(CardDetails.TypeEnum.SCHEME);\\n\\nBillingAddress billingAddress = new BillingAddress()\\n  .country(\\&quot;NL\\&quot;)\\n  .city(\\&quot;Amsterdam\\&quot;)\\n  .street(\\&quot;Infinite Loop\\&quot;)\\n  .houseNumberOrName(\\&quot;1\\&quot;)\\n  .postalCode(\\&quot;1011DJ\\&quot;);\\n\\nBrowserInfo browserInfo = new BrowserInfo()\\n  .acceptHeader(\\&quot;text\\\/html,application\\\/xhtml+xml,application\\\/xml;q=0.9,image\\\/webp,image\\\/apng,*\\\/*;q=0.8\\&quot;)\\n  .screenWidth(1536)\\n  .javaEnabled(true)\\n  .screenHeight(723)\\n  .timeZoneOffset(0)\\n  .userAgent(\\&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  .language(\\&quot;nl-NL\\&quot;)\\n  .colorDepth(24);\\n\\nPaymentRequest paymentRequest = new PaymentRequest()\\n  .authenticationData(authenticationData)\\n  .amount(amount)\\n  .origin(\\&quot;https:\\\/\\\/your-company.example.com\\&quot;)\\n  .channel(PaymentRequest.ChannelEnum.WEB)\\n  .shopperIP(\\&quot;192.0.2.1\\&quot;)\\n  .shopperEmail(\\&quot;s.hopper@example.com\\&quot;)\\n  .reference(\\&quot;YOUR_REFERENCE\\&quot;)\\n  .merchantAccount(\\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;)\\n  .threeDS2RequestData(threeDS2RequestFields)\\n  .paymentMethod(new CheckoutPaymentMethod(cardDetails))\\n  .billingAddress(billingAddress)\\n  .returnUrl(\\&quot;https:\/\/your-company.example.com\/checkout?shopperOrder=12xy..\\&quot;)\\n  .browserInfo(browserInfo)\\n  .shopperReference(\\&quot;YOUR_SHOPPER_REFERENCE\\&quot;);\\n\\n\\\/\\\/ Send the request\\nPaymentsApi service = new PaymentsApi(client);\\nPaymentResponse response = service.payments(paymentRequest, new RequestOptions().idempotencyKey(\\&quot;UUID\\&quot;));&quot;},{&quot;language&quot;:&quot;php&quot;,&quot;tabTitle&quot;:&quot;PHP&quot;,&quot;content&quot;:&quot;&lt;?php\\n\\\/\\\/ Adyen PHP API Library v28.2.0\\nuse Adyen\\\\Client;\\nuse Adyen\\\\Environment;\\nuse Adyen\\\\Model\\\\Checkout\\\\ThreeDSRequestData;\\nuse Adyen\\\\Model\\\\Checkout\\\\Phone;\\nuse Adyen\\\\Model\\\\Checkout\\\\AuthenticationData;\\nuse Adyen\\\\Model\\\\Checkout\\\\Amount;\\nuse Adyen\\\\Model\\\\Checkout\\\\ThreeDS2RequestFields;\\nuse Adyen\\\\Model\\\\Checkout\\\\CheckoutPaymentMethod;\\nuse Adyen\\\\Model\\\\Checkout\\\\BillingAddress;\\nuse Adyen\\\\Model\\\\Checkout\\\\BrowserInfo;\\nuse Adyen\\\\Model\\\\Checkout\\\\PaymentRequest;\\nuse Adyen\\\\Service\\\\Checkout\\\\PaymentsApi;\\n\\n$client = new Client();\\n$client-&gt;setXApiKey(\\&quot;ADYEN_API_KEY\\&quot;);\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\n$client-&gt;setEnvironment(Environment::TEST);\\n\\n\\n\\\/\\\/ Create the request object(s)\\n$threeDSRequestData = new ThreeDSRequestData();\\n$threeDSRequestData\\n  -&gt;setNativeThreeDS(\\&quot;preferred\\&quot;);\\n\\n$phone = new Phone();\\n$phone\\n  -&gt;setCc(\\&quot;1\\&quot;)\\n  -&gt;setSubscriber(\\&quot;5555555555\\&quot;);\\n\\n$authenticationData = new AuthenticationData();\\n$authenticationData\\n  -&gt;setThreeDSRequestData($threeDSRequestData);\\n\\n$amount = new Amount();\\n$amount\\n  -&gt;setCurrency(\\&quot;EUR\\&quot;)\\n  -&gt;setValue(1500);\\n\\n$threeDS2RequestFields = new ThreeDS2RequestFields();\\n$threeDS2RequestFields\\n  -&gt;setMobilePhone($phone);\\n\\n$checkoutPaymentMethod = new CheckoutPaymentMethod();\\n$checkoutPaymentMethod\\n  -&gt;setEncryptedCardNumber(\\&quot;eyJ0aHJlZURTTWV0aG9kTm90aWZpY...\\&quot;)\\n  -&gt;setHolderName(\\&quot;S. Hopper\\&quot;)\\n  -&gt;setEncryptedSecurityCode(\\&quot;eyJldZvpOuJSU0EtT0FFUC0yNTYiL...\\&quot;)\\n  -&gt;setEncryptedExpiryYear(\\&quot;eyJhzKliOiJMN0EtT0FFUC0yNTYiL...\\&quot;)\\n  -&gt;setEncryptedExpiryMonth(\\&quot;eyJhbGciOiTWV0EtT0FFUC0yNTYiL...\\&quot;)\\n  -&gt;setType(\\&quot;scheme\\&quot;);\\n\\n$billingAddress = new BillingAddress();\\n$billingAddress\\n  -&gt;setCountry(\\&quot;NL\\&quot;)\\n  -&gt;setCity(\\&quot;Amsterdam\\&quot;)\\n  -&gt;setStreet(\\&quot;Infinite Loop\\&quot;)\\n  -&gt;setHouseNumberOrName(\\&quot;1\\&quot;)\\n  -&gt;setPostalCode(\\&quot;1011DJ\\&quot;);\\n\\n$browserInfo = new BrowserInfo();\\n$browserInfo\\n  -&gt;setAcceptHeader(\\&quot;text\\\/html,application\\\/xhtml+xml,application\\\/xml;q=0.9,image\\\/webp,image\\\/apng,*\\\/*;q=0.8\\&quot;)\\n  -&gt;setScreenWidth(1536)\\n  -&gt;setJavaEnabled(true)\\n  -&gt;setScreenHeight(723)\\n  -&gt;setTimeZoneOffset(0)\\n  -&gt;setUserAgent(\\&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  -&gt;setLanguage(\\&quot;nl-NL\\&quot;)\\n  -&gt;setColorDepth(24);\\n\\n$paymentRequest = new PaymentRequest();\\n$paymentRequest\\n  -&gt;setAuthenticationData($authenticationData)\\n  -&gt;setAmount($amount)\\n  -&gt;setOrigin(\\&quot;https:\\\/\\\/your-company.example.com\\&quot;)\\n  -&gt;setChannel(\\&quot;web\\&quot;)\\n  -&gt;setShopperIP(\\&quot;192.0.2.1\\&quot;)\\n  -&gt;setShopperEmail(\\&quot;s.hopper@example.com\\&quot;)\\n  -&gt;setReference(\\&quot;YOUR_REFERENCE\\&quot;)\\n  -&gt;setMerchantAccount(\\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;)\\n  -&gt;setThreeDS2RequestData($threeDS2RequestFields)\\n  -&gt;setPaymentMethod($checkoutPaymentMethod)\\n  -&gt;setBillingAddress($billingAddress)\\n  -&gt;setReturnUrl(\\&quot;https:\/\/your-company.example.com\/checkout?shopperOrder=12xy..\\&quot;)\\n  -&gt;setBrowserInfo($browserInfo)\\n  -&gt;setShopperReference(\\&quot;YOUR_SHOPPER_REFERENCE\\&quot;);\\n\\n$requestOptions['idempotencyKey'] = 'UUID';\\n\\n\\\/\\\/ Send the request\\n$service = new PaymentsApi($client);\\n$response = $service-&gt;payments($paymentRequest, $requestOptions);&quot;},{&quot;language&quot;:&quot;cs&quot;,&quot;tabTitle&quot;:&quot;C#&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen .net API Library v32.1.1\\nusing Adyen;\\nusing Environment = Adyen.Model.Environment;\\nusing Adyen.Model;\\nusing Adyen.Model.Checkout;\\nusing Adyen.Service.Checkout;\\n\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\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)\\nThreeDSRequestData threeDSRequestData = new ThreeDSRequestData\\n{\\n  NativeThreeDS = ThreeDSRequestData.NativeThreeDSEnum.Preferred\\n};\\n\\nPhone phone = new Phone\\n{\\n  Cc = \\&quot;1\\&quot;,\\n  Subscriber = \\&quot;5555555555\\&quot;\\n};\\n\\nAuthenticationData authenticationData = new AuthenticationData\\n{\\n  ThreeDSRequestData = threeDSRequestData\\n};\\n\\nAmount amount = new Amount\\n{\\n  Currency = \\&quot;EUR\\&quot;,\\n  Value = 1500\\n};\\n\\nThreeDS2RequestFields threeDS2RequestFields = new ThreeDS2RequestFields\\n{\\n  MobilePhone = phone\\n};\\n\\nCardDetails cardDetails = new CardDetails\\n{\\n  EncryptedCardNumber = \\&quot;eyJ0aHJlZURTTWV0aG9kTm90aWZpY...\\&quot;,\\n  HolderName = \\&quot;S. Hopper\\&quot;,\\n  EncryptedSecurityCode = \\&quot;eyJldZvpOuJSU0EtT0FFUC0yNTYiL...\\&quot;,\\n  EncryptedExpiryYear = \\&quot;eyJhzKliOiJMN0EtT0FFUC0yNTYiL...\\&quot;,\\n  EncryptedExpiryMonth = \\&quot;eyJhbGciOiTWV0EtT0FFUC0yNTYiL...\\&quot;,\\n  Type = CardDetails.TypeEnum.Scheme\\n};\\n\\nBillingAddress billingAddress = new BillingAddress\\n{\\n  Country = \\&quot;NL\\&quot;,\\n  City = \\&quot;Amsterdam\\&quot;,\\n  Street = \\&quot;Infinite Loop\\&quot;,\\n  HouseNumberOrName = \\&quot;1\\&quot;,\\n  PostalCode = \\&quot;1011DJ\\&quot;\\n};\\n\\nBrowserInfo browserInfo = new BrowserInfo\\n{\\n  AcceptHeader = \\&quot;text\\\/html,application\\\/xhtml+xml,application\\\/xml;q=0.9,image\\\/webp,image\\\/apng,*\\\/*;q=0.8\\&quot;,\\n  ScreenWidth = 1536,\\n  JavaEnabled = true,\\n  ScreenHeight = 723,\\n  TimeZoneOffset = 0,\\n  UserAgent = \\&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  Language = \\&quot;nl-NL\\&quot;,\\n  ColorDepth = 24\\n};\\n\\nPaymentRequest paymentRequest = new PaymentRequest\\n{\\n  AuthenticationData = authenticationData,\\n  Amount = amount,\\n  Origin = \\&quot;https:\\\/\\\/your-company.example.com\\&quot;,\\n  Channel = PaymentRequest.ChannelEnum.Web,\\n  ShopperIP = \\&quot;192.0.2.1\\&quot;,\\n  ShopperEmail = \\&quot;s.hopper@example.com\\&quot;,\\n  Reference = \\&quot;YOUR_REFERENCE\\&quot;,\\n  MerchantAccount = \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n  ThreeDS2RequestData = threeDS2RequestFields,\\n  PaymentMethod = new CheckoutPaymentMethod(cardDetails),\\n  BillingAddress = billingAddress,\\n  ReturnUrl = \\&quot;https:\/\/your-company.example.com\/checkout?shopperOrder=12xy..\\&quot;,\\n  BrowserInfo = browserInfo,\\n  ShopperReference = \\&quot;YOUR_SHOPPER_REFERENCE\\&quot;\\n};\\n\\n\\\/\\\/ Send the request\\nvar service = new PaymentsService(client);\\nvar response = service.Payments(paymentRequest, requestOptions: new RequestOptions { IdempotencyKey = \\&quot;UUID\\&quot;});&quot;},{&quot;language&quot;:&quot;js&quot;,&quot;tabTitle&quot;:&quot;NodeJS (JavaScript)&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Node API Library v29.0.0\\nconst { Client, CheckoutAPI } = require('@adyen\\\/api-library');\\n\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\nconst config = new Config({\\n  apiKey: \\&quot;ADYEN_API_KEY\\&quot;,\\n  environment: EnvironmentEnum.TEST\\n});\\n\\nconst client = new Client(config);\\n\\n\\\/\\\/ Create the request object(s)\\nconst paymentRequest = {\\n  amount: {\\n    currency: \\&quot;EUR\\&quot;,\\n    value: 1500\\n  },\\n  reference: \\&quot;YOUR_REFERENCE\\&quot;,\\n  merchantAccount: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n  paymentMethod: {\\n    type: \\&quot;scheme\\&quot;,\\n    encryptedCardNumber: \\&quot;eyJ0aHJlZURTTWV0aG9kTm90aWZpY...\\&quot;,\\n    encryptedExpiryMonth: \\&quot;eyJhbGciOiTWV0EtT0FFUC0yNTYiL...\\&quot;,\\n    encryptedExpiryYear: \\&quot;eyJhzKliOiJMN0EtT0FFUC0yNTYiL...\\&quot;,\\n    encryptedSecurityCode: \\&quot;eyJldZvpOuJSU0EtT0FFUC0yNTYiL...\\&quot;,\\n    holderName: \\&quot;S. Hopper\\&quot;\\n  },\\n  authenticationData: {\\n    threeDSRequestData: {\\n      nativeThreeDS: \\&quot;preferred\\&quot;\\n    }\\n  },\\n  threeDS2RequestData: {\\n    mobilePhone: {\\n      cc: \\&quot;1\\&quot;,\\n      subscriber: \\&quot;5555555555\\&quot;\\n    }\\n  },\\n  channel: \\&quot;web\\&quot;,\\n  browserInfo: {\\n    userAgent: \\&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    acceptHeader: \\&quot;text\\\/html,application\\\/xhtml+xml,application\\\/xml;q=0.9,image\\\/webp,image\\\/apng,*\\\/*;q=0.8\\&quot;,\\n    language: \\&quot;nl-NL\\&quot;,\\n    colorDepth: 24,\\n    screenHeight: 723,\\n    screenWidth: 1536,\\n    timeZoneOffset: 0,\\n    javaEnabled: true\\n  },\\n  shopperIP: \\&quot;192.0.2.1\\&quot;,\\n  shopperReference: \\&quot;YOUR_SHOPPER_REFERENCE\\&quot;,\\n  billingAddress: {\\n    street: \\&quot;Infinite Loop\\&quot;,\\n    houseNumberOrName: \\&quot;1\\&quot;,\\n    postalCode: \\&quot;1011DJ\\&quot;,\\n    city: \\&quot;Amsterdam\\&quot;,\\n    country: \\&quot;NL\\&quot;\\n  },\\n  shopperEmail: \\&quot;s.hopper@example.com\\&quot;,\\n  origin: \\&quot;https:\\\/\\\/your-company.example.com\\&quot;,\\n  returnUrl: \\&quot;https:\/\/your-company.example.com\/checkout?shopperOrder=12xy..\\&quot;\\n}\\n\\n\\\/\\\/ Send the request\\nconst checkoutAPI = new CheckoutAPI(client);\\nconst response = checkoutAPI.PaymentsApi.payments(paymentRequest, { idempotencyKey: \\&quot;UUID\\&quot; });&quot;},{&quot;language&quot;:&quot;go&quot;,&quot;tabTitle&quot;:&quot;Go&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Go API Library v21.0.0\\nimport (\\n  \\&quot;context\\&quot;\\n  \\&quot;github.com\\\/adyen\\\/adyen-go-api-library\\\/v21\\\/src\\\/common\\&quot;\\n  \\&quot;github.com\\\/adyen\\\/adyen-go-api-library\\\/v21\\\/src\\\/adyen\\&quot;\\n  \\&quot;github.com\\\/adyen\\\/adyen-go-api-library\\\/v21\\\/src\\\/checkout\\&quot;\\n)\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\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)\\nthreeDSRequestData := checkout.ThreeDSRequestData{\\n  NativeThreeDS: common.PtrString(\\&quot;preferred\\&quot;),\\n}\\n\\nphone := checkout.Phone{\\n  Cc: common.PtrString(\\&quot;1\\&quot;),\\n  Subscriber: common.PtrString(\\&quot;5555555555\\&quot;),\\n}\\n\\nauthenticationData := checkout.AuthenticationData{\\n  ThreeDSRequestData: &amp;threeDSRequestData,\\n}\\n\\namount := checkout.Amount{\\n  Currency: \\&quot;EUR\\&quot;,\\n  Value: 1500,\\n}\\n\\nthreeDS2RequestFields := checkout.ThreeDS2RequestFields{\\n  MobilePhone: &amp;phone,\\n}\\n\\ncardDetails := checkout.CardDetails{\\n  EncryptedCardNumber: common.PtrString(\\&quot;eyJ0aHJlZURTTWV0aG9kTm90aWZpY...\\&quot;),\\n  HolderName: common.PtrString(\\&quot;S. Hopper\\&quot;),\\n  EncryptedSecurityCode: common.PtrString(\\&quot;eyJldZvpOuJSU0EtT0FFUC0yNTYiL...\\&quot;),\\n  EncryptedExpiryYear: common.PtrString(\\&quot;eyJhzKliOiJMN0EtT0FFUC0yNTYiL...\\&quot;),\\n  EncryptedExpiryMonth: common.PtrString(\\&quot;eyJhbGciOiTWV0EtT0FFUC0yNTYiL...\\&quot;),\\n  Type: common.PtrString(\\&quot;scheme\\&quot;),\\n}\\n\\nbillingAddress := checkout.BillingAddress{\\n  Country: \\&quot;NL\\&quot;,\\n  City: \\&quot;Amsterdam\\&quot;,\\n  Street: \\&quot;Infinite Loop\\&quot;,\\n  HouseNumberOrName: \\&quot;1\\&quot;,\\n  PostalCode: \\&quot;1011DJ\\&quot;,\\n}\\n\\nbrowserInfo := checkout.BrowserInfo{\\n  AcceptHeader: \\&quot;text\\\/html,application\\\/xhtml+xml,application\\\/xml;q=0.9,image\\\/webp,image\\\/apng,*\\\/*;q=0.8\\&quot;,\\n  ScreenWidth: 1536,\\n  JavaEnabled: true,\\n  ScreenHeight: 723,\\n  TimeZoneOffset: 0,\\n  UserAgent: \\&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  Language: \\&quot;nl-NL\\&quot;,\\n  ColorDepth: 24,\\n}\\n\\npaymentRequest := checkout.PaymentRequest{\\n  AuthenticationData: &amp;authenticationData,\\n  Amount: amount,\\n  Origin: common.PtrString(\\&quot;https:\\\/\\\/your-company.example.com\\&quot;),\\n  Channel: common.PtrString(\\&quot;web\\&quot;),\\n  ShopperIP: common.PtrString(\\&quot;192.0.2.1\\&quot;),\\n  ShopperEmail: common.PtrString(\\&quot;s.hopper@example.com\\&quot;),\\n  Reference: \\&quot;YOUR_REFERENCE\\&quot;,\\n  MerchantAccount: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n  ThreeDS2RequestData: &amp;threeDS2RequestFields,\\n  PaymentMethod: checkout.CardDetailsAsCheckoutPaymentMethod(&amp;cardDetails),\\n  BillingAddress: &amp;billingAddress,\\n  ReturnUrl: \\&quot;https:\/\/your-company.example.com\/checkout?shopperOrder=12xy..\\&quot;,\\n  BrowserInfo: &amp;browserInfo,\\n  ShopperReference: common.PtrString(\\&quot;YOUR_SHOPPER_REFERENCE\\&quot;),\\n}\\n\\n\\\/\\\/ Send the request\\nservice := client.Checkout()\\nreq := service.PaymentsApi.PaymentsInput().IdempotencyKey(\\&quot;UUID\\&quot;).PaymentRequest(paymentRequest)\\nres, httpRes, err := service.PaymentsApi.Payments(context.Background(), req)&quot;},{&quot;language&quot;:&quot;py&quot;,&quot;tabTitle&quot;:&quot;Python&quot;,&quot;content&quot;:&quot;# Adyen Python API Library v13.6.0\\nimport Adyen\\n\\nadyen = Adyen.Adyen()\\nadyen.client.xapikey = \\&quot;ADYEN_API_KEY\\&quot;\\n# For the LIVE environment, also include your liveEndpointUrlPrefix.\\nadyen.client.platform = \\&quot;test\\&quot; # The environment to use library in.\\n\\n# Create the request object(s)\\njson_request = {\\n  \\&quot;amount\\&quot;: {\\n    \\&quot;currency\\&quot;: \\&quot;EUR\\&quot;,\\n    \\&quot;value\\&quot;: 1500\\n  },\\n  \\&quot;reference\\&quot;: \\&quot;YOUR_REFERENCE\\&quot;,\\n  \\&quot;merchantAccount\\&quot;: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n  \\&quot;paymentMethod\\&quot;: {\\n    \\&quot;type\\&quot;: \\&quot;scheme\\&quot;,\\n    \\&quot;encryptedCardNumber\\&quot;: \\&quot;eyJ0aHJlZURTTWV0aG9kTm90aWZpY...\\&quot;,\\n    \\&quot;encryptedExpiryMonth\\&quot;: \\&quot;eyJhbGciOiTWV0EtT0FFUC0yNTYiL...\\&quot;,\\n    \\&quot;encryptedExpiryYear\\&quot;: \\&quot;eyJhzKliOiJMN0EtT0FFUC0yNTYiL...\\&quot;,\\n    \\&quot;encryptedSecurityCode\\&quot;: \\&quot;eyJldZvpOuJSU0EtT0FFUC0yNTYiL...\\&quot;,\\n    \\&quot;holderName\\&quot;: \\&quot;S. Hopper\\&quot;\\n  },\\n  \\&quot;authenticationData\\&quot;: {\\n    \\&quot;threeDSRequestData\\&quot;: {\\n      \\&quot;nativeThreeDS\\&quot;: \\&quot;preferred\\&quot;\\n    }\\n  },\\n  \\&quot;threeDS2RequestData\\&quot;: {\\n    \\&quot;mobilePhone\\&quot;: {\\n      \\&quot;cc\\&quot;: \\&quot;1\\&quot;,\\n      \\&quot;subscriber\\&quot;: \\&quot;5555555555\\&quot;\\n    }\\n  },\\n  \\&quot;channel\\&quot;: \\&quot;web\\&quot;,\\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;nl-NL\\&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;: True\\n  },\\n  \\&quot;shopperIP\\&quot;: \\&quot;192.0.2.1\\&quot;,\\n  \\&quot;shopperReference\\&quot;: \\&quot;YOUR_SHOPPER_REFERENCE\\&quot;,\\n  \\&quot;billingAddress\\&quot;: {\\n    \\&quot;street\\&quot;: \\&quot;Infinite Loop\\&quot;,\\n    \\&quot;houseNumberOrName\\&quot;: \\&quot;1\\&quot;,\\n    \\&quot;postalCode\\&quot;: \\&quot;1011DJ\\&quot;,\\n    \\&quot;city\\&quot;: \\&quot;Amsterdam\\&quot;,\\n    \\&quot;country\\&quot;: \\&quot;NL\\&quot;\\n  },\\n  \\&quot;shopperEmail\\&quot;: \\&quot;s.hopper@example.com\\&quot;,\\n  \\&quot;origin\\&quot;: \\&quot;https:\\\/\\\/your-company.example.com\\&quot;,\\n  \\&quot;returnUrl\\&quot;: \\&quot;https:\/\/your-company.example.com\/checkout?shopperOrder=12xy..\\&quot;\\n}\\n\\n# Send the request\\nresult = adyen.checkout.payments_api.payments(request=json_request, idempotency_key=\\&quot;UUID\\&quot;)&quot;},{&quot;language&quot;:&quot;rb&quot;,&quot;tabTitle&quot;:&quot;Ruby&quot;,&quot;content&quot;:&quot;# Adyen Ruby API Library v10.4.0\\nrequire \\&quot;adyen-ruby-api-library\\&quot;\\n\\nadyen = Adyen::Client.new\\nadyen.api_key = 'ADYEN_API_KEY'\\n# For the LIVE environment, also include your liveEndpointUrlPrefix.\\nadyen.env = :test # Set to \\&quot;live\\&quot; for live environment\\n\\n# Create the request object(s)\\nrequest_body = {\\n  :amount =&gt; {\\n    :currency =&gt; 'EUR',\\n    :value =&gt; 1500\\n  },\\n  :reference =&gt; 'YOUR_REFERENCE',\\n  :merchantAccount =&gt; 'ADYEN_MERCHANT_ACCOUNT',\\n  :paymentMethod =&gt; {\\n    :type =&gt; 'scheme',\\n    :encryptedCardNumber =&gt; 'eyJ0aHJlZURTTWV0aG9kTm90aWZpY...',\\n    :encryptedExpiryMonth =&gt; 'eyJhbGciOiTWV0EtT0FFUC0yNTYiL...',\\n    :encryptedExpiryYear =&gt; 'eyJhzKliOiJMN0EtT0FFUC0yNTYiL...',\\n    :encryptedSecurityCode =&gt; 'eyJldZvpOuJSU0EtT0FFUC0yNTYiL...',\\n    :holderName =&gt; 'S. Hopper'\\n  },\\n  :authenticationData =&gt; {\\n    :threeDSRequestData =&gt; {\\n      :nativeThreeDS =&gt; 'preferred'\\n    }\\n  },\\n  :threeDS2RequestData =&gt; {\\n    :mobilePhone =&gt; {\\n      :cc =&gt; '1',\\n      :subscriber =&gt; '5555555555'\\n    }\\n  },\\n  :channel =&gt; 'web',\\n  :browserInfo =&gt; {\\n    :userAgent =&gt; 'Mozilla\\\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\\\/537.36 (KHTML, like Gecko) Chrome\\\/70.0.3538.110 Safari\\\/537.36',\\n    :acceptHeader =&gt; 'text\\\/html,application\\\/xhtml+xml,application\\\/xml;q=0.9,image\\\/webp,image\\\/apng,*\\\/*;q=0.8',\\n    :language =&gt; 'nl-NL',\\n    :colorDepth =&gt; 24,\\n    :screenHeight =&gt; 723,\\n    :screenWidth =&gt; 1536,\\n    :timeZoneOffset =&gt; 0,\\n    :javaEnabled =&gt; true\\n  },\\n  :shopperIP =&gt; '192.0.2.1',\\n  :shopperReference =&gt; 'YOUR_SHOPPER_REFERENCE',\\n  :billingAddress =&gt; {\\n    :street =&gt; 'Infinite Loop',\\n    :houseNumberOrName =&gt; '1',\\n    :postalCode =&gt; '1011DJ',\\n    :city =&gt; 'Amsterdam',\\n    :country =&gt; 'NL'\\n  },\\n  :shopperEmail =&gt; 's.hopper@example.com',\\n  :origin =&gt; 'https:\\\/\\\/your-company.example.com',\\n  :returnUrl =&gt; 'https:\/\/your-company.example.com\/checkout?shopperOrder=12xy..'\\n}\\n\\n# Send the request\\nresult = adyen.checkout.payments_api.payments(request_body, headers: { 'Idempotency-Key' =&gt; 'UUID' })&quot;},{&quot;language&quot;:&quot;ts&quot;,&quot;tabTitle&quot;:&quot;NodeJS (TypeScript)&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Node API Library v29.0.0\\nimport { Client, CheckoutAPI, Types } from \\&quot;@adyen\\\/api-library\\&quot;;\\n\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\nconst config = new Config({\\n  apiKey: \\&quot;ADYEN_API_KEY\\&quot;,\\n  environment: EnvironmentEnum.TEST\\n});\\n\\nconst client = new Client(config);\\n\\n\\\/\\\/ Create the request object(s)\\nconst threeDSRequestData: Types.checkout.ThreeDSRequestData = {\\n  nativeThreeDS: Types.checkout.ThreeDSRequestData.NativeThreeDSEnum.Preferred\\n};\\n\\nconst phone: Types.checkout.Phone = {\\n  cc: \\&quot;1\\&quot;,\\n  subscriber: \\&quot;5555555555\\&quot;\\n};\\n\\nconst authenticationData: Types.checkout.AuthenticationData = {\\n  threeDSRequestData: threeDSRequestData\\n};\\n\\nconst amount: Types.checkout.Amount = {\\n  currency: \\&quot;EUR\\&quot;,\\n  value: 1500\\n};\\n\\nconst threeDS2RequestFields: Types.checkout.ThreeDS2RequestFields = {\\n  mobilePhone: phone\\n};\\n\\nconst cardDetails: Types.checkout.CardDetails = {\\n  encryptedCardNumber: \\&quot;eyJ0aHJlZURTTWV0aG9kTm90aWZpY...\\&quot;,\\n  holderName: \\&quot;S. Hopper\\&quot;,\\n  encryptedSecurityCode: \\&quot;eyJldZvpOuJSU0EtT0FFUC0yNTYiL...\\&quot;,\\n  encryptedExpiryYear: \\&quot;eyJhzKliOiJMN0EtT0FFUC0yNTYiL...\\&quot;,\\n  encryptedExpiryMonth: \\&quot;eyJhbGciOiTWV0EtT0FFUC0yNTYiL...\\&quot;,\\n  type: Types.checkout.CardDetails.TypeEnum.Scheme\\n};\\n\\nconst billingAddress: Types.checkout.BillingAddress = {\\n  country: \\&quot;NL\\&quot;,\\n  city: \\&quot;Amsterdam\\&quot;,\\n  street: \\&quot;Infinite Loop\\&quot;,\\n  houseNumberOrName: \\&quot;1\\&quot;,\\n  postalCode: \\&quot;1011DJ\\&quot;\\n};\\n\\nconst browserInfo: Types.checkout.BrowserInfo = {\\n  acceptHeader: \\&quot;text\\\/html,application\\\/xhtml+xml,application\\\/xml;q=0.9,image\\\/webp,image\\\/apng,*\\\/*;q=0.8\\&quot;,\\n  screenWidth: 1536,\\n  javaEnabled: true,\\n  screenHeight: 723,\\n  timeZoneOffset: 0,\\n  userAgent: \\&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  language: \\&quot;nl-NL\\&quot;,\\n  colorDepth: 24\\n};\\n\\nconst paymentRequest: Types.checkout.PaymentRequest = {\\n  authenticationData: authenticationData,\\n  amount: amount,\\n  origin: \\&quot;https:\\\/\\\/your-company.example.com\\&quot;,\\n  channel: Types.checkout.PaymentRequest.ChannelEnum.Web,\\n  shopperIP: \\&quot;192.0.2.1\\&quot;,\\n  shopperEmail: \\&quot;s.hopper@example.com\\&quot;,\\n  reference: \\&quot;YOUR_REFERENCE\\&quot;,\\n  merchantAccount: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n  threeDS2RequestData: threeDS2RequestFields,\\n  paymentMethod: cardDetails,\\n  billingAddress: billingAddress,\\n  returnUrl: \\&quot;https:\/\/your-company.example.com\/checkout?shopperOrder=12xy..\\&quot;,\\n  browserInfo: browserInfo,\\n  shopperReference: \\&quot;YOUR_SHOPPER_REFERENCE\\&quot;\\n};\\n\\n\\\/\\\/ Send the request\\nconst checkoutAPI = new CheckoutAPI(client);\\nconst response = checkoutAPI.PaymentsApi.payments(paymentRequest, { idempotencyKey: \\&quot;UUID\\&quot; });&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample><\/div><\/div><\/div>\n\n        <\/div>\n    <\/div>\n<\/div>\n\n<div class=\"accordion-shortcode adl-accordion adl-accordion--max-height-transition\" data-expand=\"true\" data-ignore=\"anchorjs-link\">\n    \n    <div class=\"adl-accordion__item\" style=\"\">\n        <div tabindex=\"0\" role=\"item\" aria-expanded=\"false\" class=\"adl-accordion__header\">\n            <i class=\"adl-accordion__toggle adl-icon-chevron-down\"><\/i>\n            <div class=\"adl-accordion__title-wrapper\" data-accordion=\"#card-payment-with-redirect-3-d-secure-2-authentication\">\n                                    <h3 class=\"adl-accordion__title\">Card payment with redirect 3D Secure 2 authentication<\/h3>\n                            <\/div>\n        <\/div>\n        <div role=\"region\" class=\"adl-accordion__content\">\n            \n<p>Make a request for a payment with 3D Secure 2 redirect authentication. Use our <a href=\"\/pt\/online-payments\/3d-secure\/redirect-3ds2\/web-drop-in\/\">redirect 3D Secure 2 Component<\/a> to handle redirect 3D Secure 2 authentication.<\/p>\n<h4>Parameters<\/h4>\n<table>\n<thead>\n<tr>\n<th>Classic API<\/th>\n<th>Checkout API<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>amount<\/code><\/td>\n<td><code>amount<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>reference<\/code><\/td>\n<td><code>reference<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>merchantAccount<\/code><\/td>\n<td><code>merchantAccount<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>additionalData.card.encrypted.json<\/code><\/td>\n<td><code>paymentMethod.type<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable<\/td>\n<td><code>paymentMethod.encryptedCardNumber<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>paymentMethod.encryptedExpiryMonth<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>paymentMethod.encryptedExpiryYear<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>paymentMethod.encryptedSecurityCode<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>paymentMethod.holderName<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>browserInfo<\/code><\/td>\n<td><code>browserInfo<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>shopperReference<\/code><\/td>\n<td><code>shopperReference<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>shopperEmail<\/code><\/td>\n<td><code>shopperEmail<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>shopperIP<\/code><\/td>\n<td><code>shopperIP<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>billingAddress<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>channel<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>origin<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>returnUrl<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"row\" style=\"align-items: top;justify-content: center;\">\n<div class=\"col col-12 col-md-6\" style=\"background-color:transparent;;\"><h4>Classic API<\/h4><p>To make a payment with 3D Secure 2 redirect authentication, include the following in the  <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> request:<\/p><div data-component-wrapper=\"code-sample\"><code-sample :title=\"''\" :id=\"'3ds2-redirect-classic'\" :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\\\/v68\\\/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;:1500\\n   },\\n   \\&quot;reference\\&quot;:\\&quot;YOUR_REFERENCE\\&quot;,\\n   \\&quot;merchantAccount\\&quot;:\\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n   \\&quot;additionalData\\&quot;:{\\n      \\&quot;card.encrypted.json\\&quot;:\\&quot;adyenjs_0_1_4p1$...\\&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;nl-NL\\&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;:true\\n   }\\n   \\&quot;shopperReference\\&quot;: \\&quot;YOUR_SHOPPER_REFERENCE\\&quot;,\\n   \\&quot;shopperEmail\\&quot;: \\&quot;s.hopper@example.com\\&quot;,\\n   \\&quot;shopperIP\\&quot;: \\&quot;192.0.2.1\\&quot;\\n}'&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample><\/div><\/div><div class=\"col col-12 col-md-6\" style=\"background-color:transparent;;\"><h4>Checkout API<\/h4><p>To make a payment with 3D Secure 2 redirect authentication, include the following in the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments<\/a> request:<\/p><div data-component-wrapper=\"code-sample\"><code-sample :title=\"''\" :id=\"'3ds2-redirect-checkout'\" :code-data=\"[{&quot;language&quot;:&quot;bash&quot;,&quot;tabTitle&quot;:&quot;curl&quot;,&quot;content&quot;:&quot;curl https:\\\/\\\/checkout-test.adyen.com\\\/v72\\\/payments \\\\\\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;:1500\\n   },\\n   \\&quot;reference\\&quot;:\\&quot;YOUR_REFERENCE\\&quot;,\\n   \\&quot;merchantAccount\\&quot;:\\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n   \\&quot;paymentMethod\\&quot;:{\\n      \\&quot;type\\&quot;:\\&quot;scheme\\&quot;,\\n      \\&quot;encryptedCardNumber\\&quot;:\\&quot;eyJ0aHJlZURTTWV0aG9kTm90aWZpY...\\&quot;,\\n      \\&quot;encryptedExpiryMonth\\&quot;:\\&quot;eyJhbGciOiTWV0EtT0FFUC0yNTYiL...\\&quot;,\\n      \\&quot;encryptedExpiryYear\\&quot;:\\&quot;eyJhzKliOiJMN0EtT0FFUC0yNTYiL...\\&quot;,\\n      \\&quot;encryptedSecurityCode\\&quot;:\\&quot;eyJldZvpOuJSU0EtT0FFUC0yNTYiL...\\&quot;,\\n      \\&quot;holderName\\&quot;:\\&quot;S. Hopper\\&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;nl-NL\\&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;:true\\n   },\\n   \\&quot;shopperReference\\&quot;: \\&quot;YOUR_SHOPPER_REFERENCE\\&quot;,\\n   \\&quot;shopperEmail\\&quot;: \\&quot;s.hopper@example.com\\&quot;,\\n   \\&quot;shopperIP\\&quot;: \\&quot;192.0.2.1\\&quot;,\\n   \\&quot;billingAddress\\&quot;: {\\n      \\&quot;street\\&quot;: \\&quot;Infinite Loop\\&quot;,\\n      \\&quot;houseNumberOrName\\&quot;: \\&quot;1\\&quot;,\\n      \\&quot;postalCode\\&quot;: \\&quot;1011DJ\\&quot;,\\n      \\&quot;city\\&quot;: \\&quot;Amsterdam\\&quot;,\\n      \\&quot;country\\&quot;: \\&quot;NL\\&quot;\\n   },\\n   \\&quot;channel\\&quot;:\\&quot;web\\&quot;,\\n   \\&quot;origin\\&quot;:\\&quot;https:\\\/\\\/your-company.example.com\\&quot;,\\n   \\&quot;returnUrl\\&quot;:\\&quot;https:\/\/your-company.example.com\/checkout?shopperOrder=12xy..\\&quot;\\n}'&quot;},{&quot;language&quot;:&quot;java&quot;,&quot;tabTitle&quot;:&quot;Java&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Java API Library v39.3.0\\nimport com.adyen.Client;\\nimport com.adyen.enums.Environment;\\nimport com.adyen.model.checkout.*;\\nimport java.time.OffsetDateTime;\\nimport java.util.*;\\nimport com.adyen.model.RequestOptions;\\nimport com.adyen.service.checkout.*;\\n\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\nClient client = new Client(\\&quot;ADYEN_API_KEY\\&quot;, Environment.TEST);\\n\\n\\\/\\\/ Create the request object(s)\\nAmount amount = new Amount()\\n  .currency(\\&quot;EUR\\&quot;)\\n  .value(1500L);\\n\\nCardDetails cardDetails = new CardDetails()\\n  .encryptedCardNumber(\\&quot;eyJ0aHJlZURTTWV0aG9kTm90aWZpY...\\&quot;)\\n  .holderName(\\&quot;S. Hopper\\&quot;)\\n  .encryptedSecurityCode(\\&quot;eyJldZvpOuJSU0EtT0FFUC0yNTYiL...\\&quot;)\\n  .encryptedExpiryYear(\\&quot;eyJhzKliOiJMN0EtT0FFUC0yNTYiL...\\&quot;)\\n  .encryptedExpiryMonth(\\&quot;eyJhbGciOiTWV0EtT0FFUC0yNTYiL...\\&quot;)\\n  .type(CardDetails.TypeEnum.SCHEME);\\n\\nBillingAddress billingAddress = new BillingAddress()\\n  .country(\\&quot;NL\\&quot;)\\n  .city(\\&quot;Amsterdam\\&quot;)\\n  .street(\\&quot;Infinite Loop\\&quot;)\\n  .houseNumberOrName(\\&quot;1\\&quot;)\\n  .postalCode(\\&quot;1011DJ\\&quot;);\\n\\nBrowserInfo browserInfo = new BrowserInfo()\\n  .acceptHeader(\\&quot;text\\\/html,application\\\/xhtml+xml,application\\\/xml;q=0.9,image\\\/webp,image\\\/apng,*\\\/*;q=0.8\\&quot;)\\n  .screenWidth(1536)\\n  .javaEnabled(true)\\n  .screenHeight(723)\\n  .timeZoneOffset(0)\\n  .userAgent(\\&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  .language(\\&quot;nl-NL\\&quot;)\\n  .colorDepth(24);\\n\\nPaymentRequest paymentRequest = new PaymentRequest()\\n  .reference(\\&quot;YOUR_REFERENCE\\&quot;)\\n  .amount(amount)\\n  .merchantAccount(\\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;)\\n  .origin(\\&quot;https:\\\/\\\/your-company.example.com\\&quot;)\\n  .channel(PaymentRequest.ChannelEnum.WEB)\\n  .paymentMethod(new CheckoutPaymentMethod(cardDetails))\\n  .shopperEmail(\\&quot;s.hopper@example.com\\&quot;)\\n  .shopperIP(\\&quot;192.0.2.1\\&quot;)\\n  .billingAddress(billingAddress)\\n  .returnUrl(\\&quot;https:\/\/your-company.example.com\/checkout?shopperOrder=12xy..\\&quot;)\\n  .browserInfo(browserInfo)\\n  .shopperReference(\\&quot;YOUR_SHOPPER_REFERENCE\\&quot;);\\n\\n\\\/\\\/ Send the request\\nPaymentsApi service = new PaymentsApi(client);\\nPaymentResponse response = service.payments(paymentRequest, new RequestOptions().idempotencyKey(\\&quot;UUID\\&quot;));&quot;},{&quot;language&quot;:&quot;php&quot;,&quot;tabTitle&quot;:&quot;PHP&quot;,&quot;content&quot;:&quot;&lt;?php\\n\\\/\\\/ Adyen PHP API Library v28.2.0\\nuse Adyen\\\\Client;\\nuse Adyen\\\\Environment;\\nuse Adyen\\\\Model\\\\Checkout\\\\Amount;\\nuse Adyen\\\\Model\\\\Checkout\\\\CheckoutPaymentMethod;\\nuse Adyen\\\\Model\\\\Checkout\\\\BillingAddress;\\nuse Adyen\\\\Model\\\\Checkout\\\\BrowserInfo;\\nuse Adyen\\\\Model\\\\Checkout\\\\PaymentRequest;\\nuse Adyen\\\\Service\\\\Checkout\\\\PaymentsApi;\\n\\n$client = new Client();\\n$client-&gt;setXApiKey(\\&quot;ADYEN_API_KEY\\&quot;);\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\n$client-&gt;setEnvironment(Environment::TEST);\\n\\n\\n\\\/\\\/ Create the request object(s)\\n$amount = new Amount();\\n$amount\\n  -&gt;setCurrency(\\&quot;EUR\\&quot;)\\n  -&gt;setValue(1500);\\n\\n$checkoutPaymentMethod = new CheckoutPaymentMethod();\\n$checkoutPaymentMethod\\n  -&gt;setEncryptedCardNumber(\\&quot;eyJ0aHJlZURTTWV0aG9kTm90aWZpY...\\&quot;)\\n  -&gt;setHolderName(\\&quot;S. Hopper\\&quot;)\\n  -&gt;setEncryptedSecurityCode(\\&quot;eyJldZvpOuJSU0EtT0FFUC0yNTYiL...\\&quot;)\\n  -&gt;setEncryptedExpiryYear(\\&quot;eyJhzKliOiJMN0EtT0FFUC0yNTYiL...\\&quot;)\\n  -&gt;setEncryptedExpiryMonth(\\&quot;eyJhbGciOiTWV0EtT0FFUC0yNTYiL...\\&quot;)\\n  -&gt;setType(\\&quot;scheme\\&quot;);\\n\\n$billingAddress = new BillingAddress();\\n$billingAddress\\n  -&gt;setCountry(\\&quot;NL\\&quot;)\\n  -&gt;setCity(\\&quot;Amsterdam\\&quot;)\\n  -&gt;setStreet(\\&quot;Infinite Loop\\&quot;)\\n  -&gt;setHouseNumberOrName(\\&quot;1\\&quot;)\\n  -&gt;setPostalCode(\\&quot;1011DJ\\&quot;);\\n\\n$browserInfo = new BrowserInfo();\\n$browserInfo\\n  -&gt;setAcceptHeader(\\&quot;text\\\/html,application\\\/xhtml+xml,application\\\/xml;q=0.9,image\\\/webp,image\\\/apng,*\\\/*;q=0.8\\&quot;)\\n  -&gt;setScreenWidth(1536)\\n  -&gt;setJavaEnabled(true)\\n  -&gt;setScreenHeight(723)\\n  -&gt;setTimeZoneOffset(0)\\n  -&gt;setUserAgent(\\&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  -&gt;setLanguage(\\&quot;nl-NL\\&quot;)\\n  -&gt;setColorDepth(24);\\n\\n$paymentRequest = new PaymentRequest();\\n$paymentRequest\\n  -&gt;setReference(\\&quot;YOUR_REFERENCE\\&quot;)\\n  -&gt;setAmount($amount)\\n  -&gt;setMerchantAccount(\\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;)\\n  -&gt;setOrigin(\\&quot;https:\\\/\\\/your-company.example.com\\&quot;)\\n  -&gt;setChannel(\\&quot;web\\&quot;)\\n  -&gt;setPaymentMethod($checkoutPaymentMethod)\\n  -&gt;setShopperEmail(\\&quot;s.hopper@example.com\\&quot;)\\n  -&gt;setShopperIP(\\&quot;192.0.2.1\\&quot;)\\n  -&gt;setBillingAddress($billingAddress)\\n  -&gt;setReturnUrl(\\&quot;https:\/\/your-company.example.com\/checkout?shopperOrder=12xy..\\&quot;)\\n  -&gt;setBrowserInfo($browserInfo)\\n  -&gt;setShopperReference(\\&quot;YOUR_SHOPPER_REFERENCE\\&quot;);\\n\\n$requestOptions['idempotencyKey'] = 'UUID';\\n\\n\\\/\\\/ Send the request\\n$service = new PaymentsApi($client);\\n$response = $service-&gt;payments($paymentRequest, $requestOptions);&quot;},{&quot;language&quot;:&quot;cs&quot;,&quot;tabTitle&quot;:&quot;C#&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen .net API Library v32.1.1\\nusing Adyen;\\nusing Environment = Adyen.Model.Environment;\\nusing Adyen.Model;\\nusing Adyen.Model.Checkout;\\nusing Adyen.Service.Checkout;\\n\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\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)\\nAmount amount = new Amount\\n{\\n  Currency = \\&quot;EUR\\&quot;,\\n  Value = 1500\\n};\\n\\nCardDetails cardDetails = new CardDetails\\n{\\n  EncryptedCardNumber = \\&quot;eyJ0aHJlZURTTWV0aG9kTm90aWZpY...\\&quot;,\\n  HolderName = \\&quot;S. Hopper\\&quot;,\\n  EncryptedSecurityCode = \\&quot;eyJldZvpOuJSU0EtT0FFUC0yNTYiL...\\&quot;,\\n  EncryptedExpiryYear = \\&quot;eyJhzKliOiJMN0EtT0FFUC0yNTYiL...\\&quot;,\\n  EncryptedExpiryMonth = \\&quot;eyJhbGciOiTWV0EtT0FFUC0yNTYiL...\\&quot;,\\n  Type = CardDetails.TypeEnum.Scheme\\n};\\n\\nBillingAddress billingAddress = new BillingAddress\\n{\\n  Country = \\&quot;NL\\&quot;,\\n  City = \\&quot;Amsterdam\\&quot;,\\n  Street = \\&quot;Infinite Loop\\&quot;,\\n  HouseNumberOrName = \\&quot;1\\&quot;,\\n  PostalCode = \\&quot;1011DJ\\&quot;\\n};\\n\\nBrowserInfo browserInfo = new BrowserInfo\\n{\\n  AcceptHeader = \\&quot;text\\\/html,application\\\/xhtml+xml,application\\\/xml;q=0.9,image\\\/webp,image\\\/apng,*\\\/*;q=0.8\\&quot;,\\n  ScreenWidth = 1536,\\n  JavaEnabled = true,\\n  ScreenHeight = 723,\\n  TimeZoneOffset = 0,\\n  UserAgent = \\&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  Language = \\&quot;nl-NL\\&quot;,\\n  ColorDepth = 24\\n};\\n\\nPaymentRequest paymentRequest = new PaymentRequest\\n{\\n  Reference = \\&quot;YOUR_REFERENCE\\&quot;,\\n  Amount = amount,\\n  MerchantAccount = \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n  Origin = \\&quot;https:\\\/\\\/your-company.example.com\\&quot;,\\n  Channel = PaymentRequest.ChannelEnum.Web,\\n  PaymentMethod = new CheckoutPaymentMethod(cardDetails),\\n  ShopperEmail = \\&quot;s.hopper@example.com\\&quot;,\\n  ShopperIP = \\&quot;192.0.2.1\\&quot;,\\n  BillingAddress = billingAddress,\\n  ReturnUrl = \\&quot;https:\/\/your-company.example.com\/checkout?shopperOrder=12xy..\\&quot;,\\n  BrowserInfo = browserInfo,\\n  ShopperReference = \\&quot;YOUR_SHOPPER_REFERENCE\\&quot;\\n};\\n\\n\\\/\\\/ Send the request\\nvar service = new PaymentsService(client);\\nvar response = service.Payments(paymentRequest, requestOptions: new RequestOptions { IdempotencyKey = \\&quot;UUID\\&quot;});&quot;},{&quot;language&quot;:&quot;js&quot;,&quot;tabTitle&quot;:&quot;NodeJS (JavaScript)&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Node API Library v29.0.0\\nconst { Client, CheckoutAPI } = require('@adyen\\\/api-library');\\n\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\nconst config = new Config({\\n  apiKey: \\&quot;ADYEN_API_KEY\\&quot;,\\n  environment: EnvironmentEnum.TEST\\n});\\n\\nconst client = new Client(config);\\n\\n\\\/\\\/ Create the request object(s)\\nconst paymentRequest = {\\n  amount: {\\n    currency: \\&quot;EUR\\&quot;,\\n    value: 1500\\n  },\\n  reference: \\&quot;YOUR_REFERENCE\\&quot;,\\n  merchantAccount: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n  paymentMethod: {\\n    type: \\&quot;scheme\\&quot;,\\n    encryptedCardNumber: \\&quot;eyJ0aHJlZURTTWV0aG9kTm90aWZpY...\\&quot;,\\n    encryptedExpiryMonth: \\&quot;eyJhbGciOiTWV0EtT0FFUC0yNTYiL...\\&quot;,\\n    encryptedExpiryYear: \\&quot;eyJhzKliOiJMN0EtT0FFUC0yNTYiL...\\&quot;,\\n    encryptedSecurityCode: \\&quot;eyJldZvpOuJSU0EtT0FFUC0yNTYiL...\\&quot;,\\n    holderName: \\&quot;S. Hopper\\&quot;\\n  },\\n  browserInfo: {\\n    userAgent: \\&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    acceptHeader: \\&quot;text\\\/html,application\\\/xhtml+xml,application\\\/xml;q=0.9,image\\\/webp,image\\\/apng,*\\\/*;q=0.8\\&quot;,\\n    language: \\&quot;nl-NL\\&quot;,\\n    colorDepth: 24,\\n    screenHeight: 723,\\n    screenWidth: 1536,\\n    timeZoneOffset: 0,\\n    javaEnabled: true\\n  },\\n  shopperReference: \\&quot;YOUR_SHOPPER_REFERENCE\\&quot;,\\n  shopperEmail: \\&quot;s.hopper@example.com\\&quot;,\\n  shopperIP: \\&quot;192.0.2.1\\&quot;,\\n  billingAddress: {\\n    street: \\&quot;Infinite Loop\\&quot;,\\n    houseNumberOrName: \\&quot;1\\&quot;,\\n    postalCode: \\&quot;1011DJ\\&quot;,\\n    city: \\&quot;Amsterdam\\&quot;,\\n    country: \\&quot;NL\\&quot;\\n  },\\n  channel: \\&quot;web\\&quot;,\\n  origin: \\&quot;https:\\\/\\\/your-company.example.com\\&quot;,\\n  returnUrl: \\&quot;https:\/\/your-company.example.com\/checkout?shopperOrder=12xy..\\&quot;\\n}\\n\\n\\\/\\\/ Send the request\\nconst checkoutAPI = new CheckoutAPI(client);\\nconst response = checkoutAPI.PaymentsApi.payments(paymentRequest, { idempotencyKey: \\&quot;UUID\\&quot; });&quot;},{&quot;language&quot;:&quot;go&quot;,&quot;tabTitle&quot;:&quot;Go&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Go API Library v21.0.0\\nimport (\\n  \\&quot;context\\&quot;\\n  \\&quot;github.com\\\/adyen\\\/adyen-go-api-library\\\/v21\\\/src\\\/common\\&quot;\\n  \\&quot;github.com\\\/adyen\\\/adyen-go-api-library\\\/v21\\\/src\\\/adyen\\&quot;\\n  \\&quot;github.com\\\/adyen\\\/adyen-go-api-library\\\/v21\\\/src\\\/checkout\\&quot;\\n)\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\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)\\namount := checkout.Amount{\\n  Currency: \\&quot;EUR\\&quot;,\\n  Value: 1500,\\n}\\n\\ncardDetails := checkout.CardDetails{\\n  EncryptedCardNumber: common.PtrString(\\&quot;eyJ0aHJlZURTTWV0aG9kTm90aWZpY...\\&quot;),\\n  HolderName: common.PtrString(\\&quot;S. Hopper\\&quot;),\\n  EncryptedSecurityCode: common.PtrString(\\&quot;eyJldZvpOuJSU0EtT0FFUC0yNTYiL...\\&quot;),\\n  EncryptedExpiryYear: common.PtrString(\\&quot;eyJhzKliOiJMN0EtT0FFUC0yNTYiL...\\&quot;),\\n  EncryptedExpiryMonth: common.PtrString(\\&quot;eyJhbGciOiTWV0EtT0FFUC0yNTYiL...\\&quot;),\\n  Type: common.PtrString(\\&quot;scheme\\&quot;),\\n}\\n\\nbillingAddress := checkout.BillingAddress{\\n  Country: \\&quot;NL\\&quot;,\\n  City: \\&quot;Amsterdam\\&quot;,\\n  Street: \\&quot;Infinite Loop\\&quot;,\\n  HouseNumberOrName: \\&quot;1\\&quot;,\\n  PostalCode: \\&quot;1011DJ\\&quot;,\\n}\\n\\nbrowserInfo := checkout.BrowserInfo{\\n  AcceptHeader: \\&quot;text\\\/html,application\\\/xhtml+xml,application\\\/xml;q=0.9,image\\\/webp,image\\\/apng,*\\\/*;q=0.8\\&quot;,\\n  ScreenWidth: 1536,\\n  JavaEnabled: true,\\n  ScreenHeight: 723,\\n  TimeZoneOffset: 0,\\n  UserAgent: \\&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  Language: \\&quot;nl-NL\\&quot;,\\n  ColorDepth: 24,\\n}\\n\\npaymentRequest := checkout.PaymentRequest{\\n  Reference: \\&quot;YOUR_REFERENCE\\&quot;,\\n  Amount: amount,\\n  MerchantAccount: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n  Origin: common.PtrString(\\&quot;https:\\\/\\\/your-company.example.com\\&quot;),\\n  Channel: common.PtrString(\\&quot;web\\&quot;),\\n  PaymentMethod: checkout.CardDetailsAsCheckoutPaymentMethod(&amp;cardDetails),\\n  ShopperEmail: common.PtrString(\\&quot;s.hopper@example.com\\&quot;),\\n  ShopperIP: common.PtrString(\\&quot;192.0.2.1\\&quot;),\\n  BillingAddress: &amp;billingAddress,\\n  ReturnUrl: \\&quot;https:\/\/your-company.example.com\/checkout?shopperOrder=12xy..\\&quot;,\\n  BrowserInfo: &amp;browserInfo,\\n  ShopperReference: common.PtrString(\\&quot;YOUR_SHOPPER_REFERENCE\\&quot;),\\n}\\n\\n\\\/\\\/ Send the request\\nservice := client.Checkout()\\nreq := service.PaymentsApi.PaymentsInput().IdempotencyKey(\\&quot;UUID\\&quot;).PaymentRequest(paymentRequest)\\nres, httpRes, err := service.PaymentsApi.Payments(context.Background(), req)&quot;},{&quot;language&quot;:&quot;py&quot;,&quot;tabTitle&quot;:&quot;Python&quot;,&quot;content&quot;:&quot;# Adyen Python API Library v13.6.0\\nimport Adyen\\n\\nadyen = Adyen.Adyen()\\nadyen.client.xapikey = \\&quot;ADYEN_API_KEY\\&quot;\\n# For the LIVE environment, also include your liveEndpointUrlPrefix.\\nadyen.client.platform = \\&quot;test\\&quot; # The environment to use library in.\\n\\n# Create the request object(s)\\njson_request = {\\n  \\&quot;amount\\&quot;: {\\n    \\&quot;currency\\&quot;: \\&quot;EUR\\&quot;,\\n    \\&quot;value\\&quot;: 1500\\n  },\\n  \\&quot;reference\\&quot;: \\&quot;YOUR_REFERENCE\\&quot;,\\n  \\&quot;merchantAccount\\&quot;: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n  \\&quot;paymentMethod\\&quot;: {\\n    \\&quot;type\\&quot;: \\&quot;scheme\\&quot;,\\n    \\&quot;encryptedCardNumber\\&quot;: \\&quot;eyJ0aHJlZURTTWV0aG9kTm90aWZpY...\\&quot;,\\n    \\&quot;encryptedExpiryMonth\\&quot;: \\&quot;eyJhbGciOiTWV0EtT0FFUC0yNTYiL...\\&quot;,\\n    \\&quot;encryptedExpiryYear\\&quot;: \\&quot;eyJhzKliOiJMN0EtT0FFUC0yNTYiL...\\&quot;,\\n    \\&quot;encryptedSecurityCode\\&quot;: \\&quot;eyJldZvpOuJSU0EtT0FFUC0yNTYiL...\\&quot;,\\n    \\&quot;holderName\\&quot;: \\&quot;S. Hopper\\&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;nl-NL\\&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;: True\\n  },\\n  \\&quot;shopperReference\\&quot;: \\&quot;YOUR_SHOPPER_REFERENCE\\&quot;,\\n  \\&quot;shopperEmail\\&quot;: \\&quot;s.hopper@example.com\\&quot;,\\n  \\&quot;shopperIP\\&quot;: \\&quot;192.0.2.1\\&quot;,\\n  \\&quot;billingAddress\\&quot;: {\\n    \\&quot;street\\&quot;: \\&quot;Infinite Loop\\&quot;,\\n    \\&quot;houseNumberOrName\\&quot;: \\&quot;1\\&quot;,\\n    \\&quot;postalCode\\&quot;: \\&quot;1011DJ\\&quot;,\\n    \\&quot;city\\&quot;: \\&quot;Amsterdam\\&quot;,\\n    \\&quot;country\\&quot;: \\&quot;NL\\&quot;\\n  },\\n  \\&quot;channel\\&quot;: \\&quot;web\\&quot;,\\n  \\&quot;origin\\&quot;: \\&quot;https:\\\/\\\/your-company.example.com\\&quot;,\\n  \\&quot;returnUrl\\&quot;: \\&quot;https:\/\/your-company.example.com\/checkout?shopperOrder=12xy..\\&quot;\\n}\\n\\n# Send the request\\nresult = adyen.checkout.payments_api.payments(request=json_request, idempotency_key=\\&quot;UUID\\&quot;)&quot;},{&quot;language&quot;:&quot;rb&quot;,&quot;tabTitle&quot;:&quot;Ruby&quot;,&quot;content&quot;:&quot;# Adyen Ruby API Library v10.4.0\\nrequire \\&quot;adyen-ruby-api-library\\&quot;\\n\\nadyen = Adyen::Client.new\\nadyen.api_key = 'ADYEN_API_KEY'\\n# For the LIVE environment, also include your liveEndpointUrlPrefix.\\nadyen.env = :test # Set to \\&quot;live\\&quot; for live environment\\n\\n# Create the request object(s)\\nrequest_body = {\\n  :amount =&gt; {\\n    :currency =&gt; 'EUR',\\n    :value =&gt; 1500\\n  },\\n  :reference =&gt; 'YOUR_REFERENCE',\\n  :merchantAccount =&gt; 'ADYEN_MERCHANT_ACCOUNT',\\n  :paymentMethod =&gt; {\\n    :type =&gt; 'scheme',\\n    :encryptedCardNumber =&gt; 'eyJ0aHJlZURTTWV0aG9kTm90aWZpY...',\\n    :encryptedExpiryMonth =&gt; 'eyJhbGciOiTWV0EtT0FFUC0yNTYiL...',\\n    :encryptedExpiryYear =&gt; 'eyJhzKliOiJMN0EtT0FFUC0yNTYiL...',\\n    :encryptedSecurityCode =&gt; 'eyJldZvpOuJSU0EtT0FFUC0yNTYiL...',\\n    :holderName =&gt; 'S. Hopper'\\n  },\\n  :browserInfo =&gt; {\\n    :userAgent =&gt; 'Mozilla\\\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\\\/537.36 (KHTML, like Gecko) Chrome\\\/70.0.3538.110 Safari\\\/537.36',\\n    :acceptHeader =&gt; 'text\\\/html,application\\\/xhtml+xml,application\\\/xml;q=0.9,image\\\/webp,image\\\/apng,*\\\/*;q=0.8',\\n    :language =&gt; 'nl-NL',\\n    :colorDepth =&gt; 24,\\n    :screenHeight =&gt; 723,\\n    :screenWidth =&gt; 1536,\\n    :timeZoneOffset =&gt; 0,\\n    :javaEnabled =&gt; true\\n  },\\n  :shopperReference =&gt; 'YOUR_SHOPPER_REFERENCE',\\n  :shopperEmail =&gt; 's.hopper@example.com',\\n  :shopperIP =&gt; '192.0.2.1',\\n  :billingAddress =&gt; {\\n    :street =&gt; 'Infinite Loop',\\n    :houseNumberOrName =&gt; '1',\\n    :postalCode =&gt; '1011DJ',\\n    :city =&gt; 'Amsterdam',\\n    :country =&gt; 'NL'\\n  },\\n  :channel =&gt; 'web',\\n  :origin =&gt; 'https:\\\/\\\/your-company.example.com',\\n  :returnUrl =&gt; 'https:\/\/your-company.example.com\/checkout?shopperOrder=12xy..'\\n}\\n\\n# Send the request\\nresult = adyen.checkout.payments_api.payments(request_body, headers: { 'Idempotency-Key' =&gt; 'UUID' })&quot;},{&quot;language&quot;:&quot;ts&quot;,&quot;tabTitle&quot;:&quot;NodeJS (TypeScript)&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Node API Library v29.0.0\\nimport { Client, CheckoutAPI, Types } from \\&quot;@adyen\\\/api-library\\&quot;;\\n\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\nconst config = new Config({\\n  apiKey: \\&quot;ADYEN_API_KEY\\&quot;,\\n  environment: EnvironmentEnum.TEST\\n});\\n\\nconst client = new Client(config);\\n\\n\\\/\\\/ Create the request object(s)\\nconst amount: Types.checkout.Amount = {\\n  currency: \\&quot;EUR\\&quot;,\\n  value: 1500\\n};\\n\\nconst cardDetails: Types.checkout.CardDetails = {\\n  encryptedCardNumber: \\&quot;eyJ0aHJlZURTTWV0aG9kTm90aWZpY...\\&quot;,\\n  holderName: \\&quot;S. Hopper\\&quot;,\\n  encryptedSecurityCode: \\&quot;eyJldZvpOuJSU0EtT0FFUC0yNTYiL...\\&quot;,\\n  encryptedExpiryYear: \\&quot;eyJhzKliOiJMN0EtT0FFUC0yNTYiL...\\&quot;,\\n  encryptedExpiryMonth: \\&quot;eyJhbGciOiTWV0EtT0FFUC0yNTYiL...\\&quot;,\\n  type: Types.checkout.CardDetails.TypeEnum.Scheme\\n};\\n\\nconst billingAddress: Types.checkout.BillingAddress = {\\n  country: \\&quot;NL\\&quot;,\\n  city: \\&quot;Amsterdam\\&quot;,\\n  street: \\&quot;Infinite Loop\\&quot;,\\n  houseNumberOrName: \\&quot;1\\&quot;,\\n  postalCode: \\&quot;1011DJ\\&quot;\\n};\\n\\nconst browserInfo: Types.checkout.BrowserInfo = {\\n  acceptHeader: \\&quot;text\\\/html,application\\\/xhtml+xml,application\\\/xml;q=0.9,image\\\/webp,image\\\/apng,*\\\/*;q=0.8\\&quot;,\\n  screenWidth: 1536,\\n  javaEnabled: true,\\n  screenHeight: 723,\\n  timeZoneOffset: 0,\\n  userAgent: \\&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  language: \\&quot;nl-NL\\&quot;,\\n  colorDepth: 24\\n};\\n\\nconst paymentRequest: Types.checkout.PaymentRequest = {\\n  reference: \\&quot;YOUR_REFERENCE\\&quot;,\\n  amount: amount,\\n  merchantAccount: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n  origin: \\&quot;https:\\\/\\\/your-company.example.com\\&quot;,\\n  channel: Types.checkout.PaymentRequest.ChannelEnum.Web,\\n  paymentMethod: cardDetails,\\n  shopperEmail: \\&quot;s.hopper@example.com\\&quot;,\\n  shopperIP: \\&quot;192.0.2.1\\&quot;,\\n  billingAddress: billingAddress,\\n  returnUrl: \\&quot;https:\/\/your-company.example.com\/checkout?shopperOrder=12xy..\\&quot;,\\n  browserInfo: browserInfo,\\n  shopperReference: \\&quot;YOUR_SHOPPER_REFERENCE\\&quot;\\n};\\n\\n\\\/\\\/ Send the request\\nconst checkoutAPI = new CheckoutAPI(client);\\nconst response = checkoutAPI.PaymentsApi.payments(paymentRequest, { idempotencyKey: \\&quot;UUID\\&quot; });&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample><\/div><\/div><\/div>\n\n        <\/div>\n    <\/div>\n<\/div>\n\n<div class=\"accordion-shortcode adl-accordion adl-accordion--max-height-transition\" data-expand=\"true\" data-ignore=\"anchorjs-link\">\n    \n    <div class=\"adl-accordion__item\" style=\"\">\n        <div tabindex=\"0\" role=\"item\" aria-expanded=\"false\" class=\"adl-accordion__header\">\n            <i class=\"adl-accordion__toggle adl-icon-chevron-down\"><\/i>\n            <div class=\"adl-accordion__title-wrapper\" data-accordion=\"#refund\">\n                                    <h3 class=\"adl-accordion__title\">Refund<\/h3>\n                            <\/div>\n        <\/div>\n        <div role=\"region\" class=\"adl-accordion__content\">\n            \n<p>Make a request for refund.<\/p>\n<h4>Parameters<\/h4>\n<table>\n<thead>\n<tr>\n<th>Classic API<\/th>\n<th>Checkout API<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>amount<\/code><\/td>\n<td><code>amount<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>merchantAccount<\/code><\/td>\n<td><code>merchantAccount<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>reference<\/code><\/td>\n<td><code>reference<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>originalReference<\/code><\/td>\n<td>Path parameter: <code>paymentPspReference<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"row\" style=\"align-items: top;justify-content: center;\">\n<div class=\"col col-12 col-md-6\" style=\"background-color:transparent;;\"><h4>Classic API<\/h4><p>To make a refund, include the following in the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Payment\/latest\/post\/refund\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/refund<\/a> request:<\/p><div data-component-wrapper=\"code-sample\"><code-sample :title=\"''\" :id=\"'refund-classic'\" :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\\\/v68\\\/refund \\\\\\n-H 'x-api-key: ADYEN_API_KEY' \\\\\\n-H 'content-type: application\\\/json' \\\\\\n-d '{\\n   \\&quot;modificationAmount\\&quot;: {\\n      \\&quot;value\\&quot;: 500,\\n      \\&quot;currency\\&quot;: \\&quot;EUR\\&quot;\\n   },\\n   \\&quot;merchantAccount\\&quot;: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n   \\&quot;reference\\&quot;: \\&quot;YOUR_REFERENCE\\&quot;,\\n   \\&quot;originalReference\\&quot;: \\&quot;XB7XNCQ8HXSKGK82\\&quot;\\n}'&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample><\/div><\/div><div class=\"col col-12 col-md-6\" style=\"background-color:transparent;;\"><h4>Checkout API<\/h4><p>To make a refund, include the following in the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\/(paymentPspReference)\/refunds\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments\/{paymentPspReference}\/refunds<\/a>  request:<\/p><div data-component-wrapper=\"code-sample\"><code-sample :title=\"''\" :id=\"'refund-checkout'\" :code-data=\"[{&quot;language&quot;:&quot;bash&quot;,&quot;tabTitle&quot;:&quot;&quot;,&quot;content&quot;:&quot;curl https:\\\/\\\/checkout-test.adyen.com\\\/v72\\\/payments\\\/XB7XNCQ8HXSKGK82\\\/refunds \\\\\\n-H 'x-api-key: ADYEN_API_KEY' \\\\\\n-H 'content-type: application\\\/json' \\\\\\n-d '{\\n   \\&quot;amount\\&quot;: {\\n      \\&quot;value\\&quot;: 500,\\n      \\&quot;currency\\&quot;: \\&quot;EUR\\&quot;\\n   },\\n   \\&quot;merchantAccount\\&quot;: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n   \\&quot;reference\\&quot;: \\&quot;YOUR_REFERENCE\\&quot;\\n}'&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample><\/div><\/div><\/div>\n\n        <\/div>\n    <\/div>\n<\/div>\n\n<div class=\"accordion-shortcode adl-accordion adl-accordion--max-height-transition\" data-expand=\"true\" data-ignore=\"anchorjs-link\">\n    \n    <div class=\"adl-accordion__item\" style=\"\">\n        <div tabindex=\"0\" role=\"item\" aria-expanded=\"false\" class=\"adl-accordion__header\">\n            <i class=\"adl-accordion__toggle adl-icon-chevron-down\"><\/i>\n            <div class=\"adl-accordion__title-wrapper\" data-accordion=\"#cancel\">\n                                    <h3 class=\"adl-accordion__title\">Cancel<\/h3>\n                            <\/div>\n        <\/div>\n        <div role=\"region\" class=\"adl-accordion__content\">\n            \n<p>Make a request to cancel a payment.<\/p>\n<h4>Parameters<\/h4>\n<table>\n<thead>\n<tr>\n<th>Classic API<\/th>\n<th>Checkout API<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>merchantAccount<\/code><\/td>\n<td><code>merchantAccount<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>reference<\/code><\/td>\n<td><code>reference<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>originalReference<\/code><\/td>\n<td>Path parameter: <code>paymentPspReference<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"row\" style=\"align-items: top;justify-content: center;\">\n<div class=\"col col-12 col-md-6\" style=\"background-color:transparent;;\"><h4>Classic API<\/h4><p>To cancel a payment, include the following in the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Payment\/latest\/post\/cancel\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/cancel<\/a> request:<\/p><div data-component-wrapper=\"code-sample\"><code-sample :title=\"''\" :id=\"'cancel-classic'\" :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\\\/v68\\\/cancel \\\\\\n-H 'x-api-key: ADYEN_API_KEY' \\\\\\n-H 'content-type: application\\\/json' \\\\\\n-d '{\\n   \\&quot;merchantAccount\\&quot; : \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n   \\&quot;reference\\&quot; : \\&quot;YOUR_REFERENCE\\&quot;,\\n\\t \\&quot;originalReference\\&quot; : \\&quot;XB7XNCQ8HXSKGK82\\&quot;\\n\\n}'&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample><\/div><\/div><div class=\"col col-12 col-md-6\" style=\"background-color:transparent;;\"><h4>Checkout API<\/h4><p>To cancel a payment, include the following in the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\/(paymentPspReference)\/cancels\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments\/{paymentPspReference}\/cancels<\/a>  request:<\/p><div data-component-wrapper=\"code-sample\"><code-sample :title=\"''\" :id=\"'cancel-checkout'\" :code-data=\"[{&quot;language&quot;:&quot;bash&quot;,&quot;tabTitle&quot;:&quot;&quot;,&quot;content&quot;:&quot;curl https:\\\/\\\/checkout-test.adyen.com\\\/v72\\\/payments\\\/XB7XNCQ8HXSKGK82\\\/cancels \\\\\\n-H 'x-api-key: ADYEN_API_KEY' \\\\\\n-H 'content-type: application\\\/json' \\\\\\n-d '{\\n\\t \\&quot;merchantAccount\\&quot;: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n\\t \\&quot;reference\\&quot;: \\&quot;YOUR_REFERENCE\\&quot;\\n}'&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample><\/div><\/div><\/div>\n\n        <\/div>\n    <\/div>\n<\/div>\n\n<div class=\"accordion-shortcode adl-accordion adl-accordion--max-height-transition\" data-expand=\"true\" data-ignore=\"anchorjs-link\">\n    \n    <div class=\"adl-accordion__item\" style=\"\">\n        <div tabindex=\"0\" role=\"item\" aria-expanded=\"false\" class=\"adl-accordion__header\">\n            <i class=\"adl-accordion__toggle adl-icon-chevron-down\"><\/i>\n            <div class=\"adl-accordion__title-wrapper\" data-accordion=\"#capture\">\n                                    <h3 class=\"adl-accordion__title\">Capture<\/h3>\n                            <\/div>\n        <\/div>\n        <div role=\"region\" class=\"adl-accordion__content\">\n            \n<p>Make a request to capture a payment.<\/p>\n<h4>Parameters<\/h4>\n<table>\n<thead>\n<tr>\n<th>Classic API<\/th>\n<th>Checkout API<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>modificationAmount<\/code><\/td>\n<td><code>amount<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>merchantAccount<\/code><\/td>\n<td><code>merchantAccount<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>reference<\/code><\/td>\n<td><code>reference<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>originalReference<\/code><\/td>\n<td>Path parameter: <code>paymentPspReference<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"row\" style=\"align-items: top;justify-content: center;\">\n<div class=\"col col-12 col-md-6\" style=\"background-color:transparent;;\"><h4>Classic API<\/h4><p>To capture a payment, include the following in the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Payment\/latest\/post\/capture\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/capture<\/a> request:<\/p><div data-component-wrapper=\"code-sample\"><code-sample :title=\"''\" :id=\"'capture-classic'\" :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\\\/v68\\\/capture \\\\\\n-H 'x-api-key: ADYEN_API_KEY' \\\\\\n-H 'content-type: application\\\/json' \\\\\\n-d '{\\n   \\&quot;modificationAmount\\&quot;:{\\n      \\&quot;value\\&quot;: 500,\\n      \\&quot;currency\\&quot;: \\&quot;EUR\\&quot;\\n   },\\n   \\&quot;merchantAccount\\&quot;:\\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n   \\&quot;reference\\&quot;: \\&quot;YOUR_REFERENCE\\&quot;,\\n   \\&quot;originalReference\\&quot;: \\&quot;WNS7WQ756L2GWR82\\&quot;\\n}'&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample><\/div><\/div><div class=\"col col-12 col-md-6\" style=\"background-color:transparent;;\"><h4>Checkout API<\/h4><p>To capture a payment, include the following in the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\/(paymentPspReference)\/captures\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments\/{paymentPspReference}\/captures<\/a> request:<\/p><div data-component-wrapper=\"code-sample\"><code-sample :title=\"''\" :id=\"'capture-checkout'\" :code-data=\"[{&quot;language&quot;:&quot;bash&quot;,&quot;tabTitle&quot;:&quot;&quot;,&quot;content&quot;:&quot;curl https:\\\/\\\/checkout-test.adyen.com\\\/v72\\\/payments\\\/WNS7WQ756L2GWR82\\\/captures \\\\\\n-H 'x-api-key: ADYEN_API_KEY' \\\\\\n-H 'content-type: application\\\/json' \\\\\\n-d '{\\n   \\&quot;amount\\&quot;:{\\n      \\&quot;value\\&quot;: 500,\\n      \\&quot;currency\\&quot;: \\&quot;EUR\\&quot;\\n   },\\n   \\&quot;merchantAccount\\&quot;: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n   \\&quot;reference\\&quot;: \\&quot;YOUR_REFERENCE\\&quot;\\n}'&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample><\/div><\/div><\/div>\n\n        <\/div>\n    <\/div>\n<\/div>\n\n<div class=\"accordion-shortcode adl-accordion adl-accordion--max-height-transition\" data-expand=\"true\" data-ignore=\"anchorjs-link\">\n    \n    <div class=\"adl-accordion__item\" style=\"\">\n        <div tabindex=\"0\" role=\"item\" aria-expanded=\"false\" class=\"adl-accordion__header\">\n            <i class=\"adl-accordion__toggle adl-icon-chevron-down\"><\/i>\n            <div class=\"adl-accordion__title-wrapper\" data-accordion=\"#reversal\">\n                                    <h3 class=\"adl-accordion__title\">Reversal<\/h3>\n                            <\/div>\n        <\/div>\n        <div role=\"region\" class=\"adl-accordion__content\">\n            \n<p>Make a request for reversal. Use this when you do not know if a payment was already captured.<\/p>\n<h4>Parameters<\/h4>\n<table>\n<thead>\n<tr>\n<th>Classic API<\/th>\n<th>Checkout API<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>merchantAccount<\/code><\/td>\n<td><code>merchantAccount<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>reference<\/code><\/td>\n<td><code>reference<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>originalReference<\/code><\/td>\n<td>Path parameter: <code>paymentPspReference<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"row\" style=\"align-items: top;justify-content: center;\">\n<div class=\"col col-12 col-md-6\" style=\"background-color:transparent;;\"><h4>Classic API<\/h4><p>To reverse (cancel or refund) a payment, include the following in the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Payment\/latest\/post\/cancelOrRefund\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/cancelOrRefund<\/a> request:<\/p><div data-component-wrapper=\"code-sample\"><code-sample :title=\"''\" :id=\"'reversal-classic'\" :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\\\/v68\\\/captureOrRefund \\\\\\n-H 'x-api-key: ADYEN_API_KEY' \\\\\\n-H 'content-type: application\\\/json' \\\\\\n-d '{\\n   \\&quot;merchantAccount\\&quot; : \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n   \\&quot;reference\\&quot; : \\&quot;YOUR_REFERENCE\\&quot;,\\n   \\&quot;originalReference\\&quot; : \\&quot;VK9DRSLLRCQ2WN82\\&quot;\\n}'&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample><\/div><\/div><div class=\"col col-12 col-md-6\" style=\"background-color:transparent;;\"><h4>Checkout API<\/h4><p>To To reverse (cancel or refund) a payment, include the following in the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\/(paymentPspReference)\/reversals\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments\/{paymentPspReference}\/reversals<\/a>  request:<\/p><div data-component-wrapper=\"code-sample\"><code-sample :title=\"''\" :id=\"'reversal-checkout'\" :code-data=\"[{&quot;language&quot;:&quot;bash&quot;,&quot;tabTitle&quot;:&quot;&quot;,&quot;content&quot;:&quot;curl https:\\\/\\\/checkout-test.adyen.com\\\/v72\\\/payments\\\/VK9DRSLLRCQ2WN82\\\/reversals \\\\\\n-H 'x-api-key: ADYEN_API_KEY' \\\\\\n-H 'content-type: application\\\/json' \\\\\\n-d '{\\n   \\&quot;merchantAccount\\&quot;: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n   \\&quot;reference\\&quot;: \\&quot;YOUR_REFERENCE\\&quot;\\n}'&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample><\/div><\/div><\/div>\n\n        <\/div>\n    <\/div>\n<\/div>\n\n<div class=\"accordion-shortcode adl-accordion adl-accordion--max-height-transition\" data-expand=\"true\" data-ignore=\"anchorjs-link\">\n    \n    <div class=\"adl-accordion__item\" style=\"\">\n        <div tabindex=\"0\" role=\"item\" aria-expanded=\"false\" class=\"adl-accordion__header\">\n            <i class=\"adl-accordion__toggle adl-icon-chevron-down\"><\/i>\n            <div class=\"adl-accordion__title-wrapper\" data-accordion=\"#adjust-the-amount-of-an-authorized-payment\">\n                                    <h3 class=\"adl-accordion__title\">Adjust the amount of an authorized payment<\/h3>\n                            <\/div>\n        <\/div>\n        <div role=\"region\" class=\"adl-accordion__content\">\n            \n<p>Make a request to adjust the amount of an authorized payment.<\/p>\n<h4>Parameters<\/h4>\n<table>\n<thead>\n<tr>\n<th>Classic API<\/th>\n<th>Checkout API<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>modificationAmount<\/code><\/td>\n<td><code>amount<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>merchantAccount<\/code><\/td>\n<td><code>merchantAccount<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>reference<\/code><\/td>\n<td><code>reference<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>additionalData.industryUsage<\/code><\/td>\n<td><code>industryUsage<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>originalReference<\/code><\/td>\n<td>Path parameter: <code>paymentPspReference<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>lineItems<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"row\" style=\"align-items: top;justify-content: center;\">\n<div class=\"col col-12 col-md-6\" style=\"background-color:transparent;;\"><h4>Classic API<\/h4><p>To adjust an authorized amount, include the following in the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Payment\/latest\/post\/adjustAuthorisation\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/adjustAuthorisation<\/a> request:<\/p><div data-component-wrapper=\"code-sample\"><code-sample :title=\"''\" :id=\"'adjust-classic'\" :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\\\/v68\\\/adjustAuthorisation \\\\\\n-H 'x-api-key: ADYEN_API_KEY' \\\\\\n-H 'content-type: application\\\/json' \\\\\\n-d '{\\n   \\&quot;modificationAmount\\&quot;: {\\n      \\&quot;currency\\&quot;: \\&quot;EUR\\&quot;,\\n      \\&quot;value\\&quot;: 2300\\n   },\\n   \\&quot;merchantAccount\\&quot;: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n   \\&quot;reference\\&quot;: \\&quot;YOUR_REFERENCE\\&quot;,\\n   \\&quot;additionalData\\&quot;:{\\n      \\&quot;industryUsage\\&quot;: \\&quot;delayedCharge\\&quot;\\n   },\\n   \\&quot;originalReference\\&quot;: \\&quot;FJM726V375BV9D82\\&quot;\\n}'&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample><\/div><\/div><div class=\"col col-12 col-md-6\" style=\"background-color:transparent;;\"><h4>Checkout API<\/h4><p>To adjust an authorized amount, include the following in the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\/(paymentPspReference)\/amountUpdates\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments\/{paymentPspReference}\/amountUpdates<\/a> request:<\/p><div data-component-wrapper=\"code-sample\"><code-sample :title=\"''\" :id=\"'adjust-checkout'\" :code-data=\"[{&quot;language&quot;:&quot;bash&quot;,&quot;tabTitle&quot;:&quot;&quot;,&quot;content&quot;:&quot;curl https:\\\/\\\/checkout-test.adyen.com\\\/v72\\\/payments\\\/{paymentPspReference}\\\/amountUpdates \\\\\\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;: 2300\\n   },\\n   \\&quot;merchantAccount\\&quot;: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n   \\&quot;reference\\&quot;: \\&quot;YOUR_REFERENCE\\&quot;,\\n   \\&quot;industryUsage\\&quot;: \\&quot;delayedCharge\\&quot;,\\n   \\&quot;lineItems\\&quot;: [\\n      {\\n         \\&quot;quantity\\&quot;: \\&quot;1\\&quot;,\\n         \\&quot;amountExcludingTax\\&quot;: \\&quot;1000\\&quot;,\\n         \\&quot;taxPercentage\\&quot;: \\&quot;1000\\&quot;,\\n         \\&quot;description\\&quot;: \\&quot;Jacket\\&quot;,\\n         \\&quot;id\\&quot;: \\&quot;Item #1\\&quot;,\\n         \\&quot;taxAmount\\&quot;: \\&quot;100\\&quot;,\\n         \\&quot;amountIncludingTax\\&quot;: \\&quot;1100\\&quot;\\n      },\\n      {\\n         \\&quot;quantity\\&quot;: \\&quot;1\\&quot;,\\n         \\&quot;amountExcludingTax\\&quot;: \\&quot;2000\\&quot;,\\n         \\&quot;taxPercentage\\&quot;: \\&quot;1000\\&quot;,\\n         \\&quot;description\\&quot;: \\&quot;Pants\\&quot;,\\n         \\&quot;id\\&quot;: \\&quot;Item #2\\&quot;,\\n         \\&quot;taxAmount\\&quot;: \\&quot;200\\&quot;,\\n         \\&quot;amountIncludingTax\\&quot;: \\&quot;1200\\&quot;\\n      }\\n   ]\\n}'&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample><\/div><\/div><\/div>\n\n        <\/div>\n    <\/div>\n<\/div>\n\n<div class=\"accordion-shortcode adl-accordion adl-accordion--max-height-transition\" data-expand=\"true\" data-ignore=\"anchorjs-link\">\n    \n    <div class=\"adl-accordion__item\" style=\"\">\n        <div tabindex=\"0\" role=\"item\" aria-expanded=\"false\" class=\"adl-accordion__header\">\n            <i class=\"adl-accordion__toggle adl-icon-chevron-down\"><\/i>\n            <div class=\"adl-accordion__title-wrapper\" data-accordion=\"#third-party-3-d-secure-2-authentication\">\n                                    <h3 class=\"adl-accordion__title\">Third-party 3D Secure 2 authentication<\/h3>\n                            <\/div>\n        <\/div>\n        <div role=\"region\" class=\"adl-accordion__content\">\n            \n<p>Make a request for a payment with <a href=\"\/pt\/online-payments\/3d-secure\/other-3ds-flows\/authorize-mpidata\/\">third-party authentication<\/a>. The parameters you include depend on the authentication data from the third party.<\/p>\n<h4>Parameters<\/h4>\n<table>\n<thead>\n<tr>\n<th>Classic API<\/th>\n<th>Checkout API<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>amount<\/code><\/td>\n<td><code>amount<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>additionalData.card.encrypted.json<\/code><\/td>\n<td><code>paymentMethod<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>paymentMethod.type<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>selectedBrand<\/code> <br> For co-badged cards.<\/td>\n<td><code>paymentMethod.brand<\/code>   <br> For co-badged cards.<\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>paymentMethod.encryptedCardNumber<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>paymentMethod.encryptedExpiryMonth<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>paymentMethod.encryptedExpiryYear<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>paymentMethod.encryptedSecurityCode<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>paymentMethod.holderName<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>additionalData.scaExemption<\/code>  <br>  For Cartes Bancaires.<\/td>\n<td><code>additionalData.scaExemption<\/code>  <br>  For Cartes Bancaires.<\/td>\n<\/tr>\n<tr>\n<td><code>additionalData.acquirerCode<\/code>  <br> For Cartes Bancaires.<\/td>\n<td><code>additionalData.acquirerCode<\/code>   <br>  For Cartes Bancaires.<\/td>\n<\/tr>\n<tr>\n<td><code>merchantAccount<\/code><\/td>\n<td><code>merchantAccount<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>reference<\/code><\/td>\n<td><code>reference<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>mpiData.cavv<\/code><\/td>\n<td><code>mpiData.cavv<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>mpiData.eci<\/code><\/td>\n<td><code>mpiData.eci<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>mpiData.dsTransID<\/code><\/td>\n<td><code>mpiData.dsTransID<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>mpiData.directoryResponse<\/code><\/td>\n<td><code>mpiData.directoryResponse<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>mpiData.authenticationResponse<\/code><\/td>\n<td><code>mpiData.authenticationResponse<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>mpiData.threeDSVersion<\/code><\/td>\n<td><code>mpiData.threeDSVersion<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>mpiData.cavvAlgorithm<\/code>     <br> For Cartes Bancaires.<\/td>\n<td><code>mpiData.cavvAlgorithm<\/code>     <br>      For Cartes Bancaires.<\/td>\n<\/tr>\n<tr>\n<td><code>mpiData.challengeCancel<\/code>  <br> For Cartes Bancaires.<\/td>\n<td><code>mpiData.challengeCancel<\/code>  <br>       For Cartes Bancaires.<\/td>\n<\/tr>\n<tr>\n<td><code>mpiData.riskScore<\/code> <br> For Cartes Bancaires.<\/td>\n<td><code>mpiData.riskScore<\/code> <br> For Cartes Bancaires.<\/td>\n<\/tr>\n<tr>\n<td><code>threeDS2RequestData.threeDSRequestorChallengeInd<\/code>  <br> For Cartes Bancaires.<\/td>\n<td><code>threeDS2RequestData.threeDSRequestorChallengeInd<\/code> <br> For Cartes Bancaires.<\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>channel<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>shopperInteraction<\/code><\/td>\n<\/tr>\n<tr>\n<td>Not applicable.<\/td>\n<td><code>recurringProcessingModel<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"row\" style=\"align-items: top;justify-content: center;\">\n<div class=\"col col-12 col-md-6\" style=\"background-color:transparent;;\"><h4>Classic API<\/h4><p>To make a payment with third-party authentication, include the following in the  <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> request:<\/p><p>The parameters you include depend on the authentication data from the third party.<\/p><div data-component-wrapper=\"code-sample\"><code-sample :title=\"''\" :id=\"'third-party-auth-classic'\" :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\\\/v68\\\/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;:1000\\n   },\\n   \\&quot;additionalData\\&quot;:{\\n      \\&quot;card.encrypted.json\\&quot;:\\&quot;adyenjs_0_1_4p1$...\\&quot;,\\n      \\&quot;scaExemption\\&quot;: \\&quot;lowValue\\&quot;,\\n      \\&quot;acquirerCode\\&quot;: \\&quot;AdyenCartesBancaires\\&quot;\\n   },\\n   \\&quot;selectedBrand\\&quot;: \\&quot;visa\\&quot;,\\n   \\&quot;merchantAccount\\&quot;:\\&quot;YOUR_MERCHANT_ACCOUNT\\&quot;,\\n   \\&quot;reference\\&quot;:\\&quot;YOUR_REFERENCE_NUMBER\\&quot;,\\n   \\&quot;mpiData\\&quot;:{\\n      \\&quot;cavv\\&quot;: \\&quot;3q2+78r+ur7erb7vyv66vv\\\\\\\/\\\\\\\/\\\\\\\/\\\\\\\/8=\\&quot;,\\n      \\&quot;eci\\&quot;:\\&quot;05\\&quot;,\\n      \\&quot;dsTransID\\&quot;:\\&quot;c4e59ceb-a382-4d6a-bc87-385d591fa09d\\&quot;,\\n      \\&quot;directoryResponse\\&quot;:\\&quot;C\\&quot;,\\n      \\&quot;authenticationResponse\\&quot;:\\&quot;Y\\&quot;,\\n      \\&quot;threeDSVersion\\&quot;:\\&quot;2.1.0\\&quot;,\\n      \\&quot;cavvAlgorithm\\&quot;:\\&quot;ABC\\&quot;,\\n      \\&quot;challengeCancel\\&quot;: \\&quot;00\\&quot;,\\n      \\&quot;riskScore\\&quot;: \\&quot;95\\&quot;\\n   },\\n   \\&quot;threeDS2RequestData\\&quot;: {\\n      \\&quot;threeDSRequestorChallengeInd\\&quot;: \\&quot;04\\&quot;\\n   }\\n}'&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample><\/div><\/div><div class=\"col col-12 col-md-6\" style=\"background-color:transparent;;\"><h4>Checkout API<\/h4><p>To make a payment with third-part authentication, include the following in the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments<\/a> request:<\/p><p>The parameters you include depend on the authentication data from the third party.<\/p><div data-component-wrapper=\"code-sample\"><code-sample :title=\"''\" :id=\"'third-party-auth-checkout'\" :code-data=\"[{&quot;language&quot;:&quot;bash&quot;,&quot;tabTitle&quot;:&quot;&quot;,&quot;content&quot;:&quot;curl https:\\\/\\\/checkout-test.adyen.com\\\/v72\\\/payments\\\/ \\\\\\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;: 1000\\n   },\\n   \\&quot;paymentMethod\\&quot;: {\\n      \\&quot;type\\&quot;: \\&quot;card\\&quot;,\\n      \\&quot;brand\\&quot;: \\&quot;cartebancaire\\&quot;,\\n      \\&quot;encryptedCardNumber\\&quot;: \\&quot;test_4111111111111111\\&quot;,\\n      \\&quot;encryptedExpiryMonth\\&quot;: \\&quot;test_03\\&quot;,\\n      \\&quot;encryptedExpiryYear\\&quot;: \\&quot;test_2030\\&quot;,\\n      \\&quot;encryptedSecurityCode\\&quot;: \\&quot;test_737\\&quot;,\\n      \\&quot;holderName\\&quot;: \\&quot;John Smith\\&quot;\\n   },\\n   \\&quot;additionalData\\&quot;: {\\n      \\&quot;scaExemption\\&quot;: \\&quot;lowValue\\&quot;,\\n      \\&quot;acquirerCode\\&quot;: \\&quot;AdyenCartesBancaires\\&quot;\\n   },\\n   \\&quot;merchantAccount\\&quot;: \\&quot;YOUR_MERCHANT_ACCOUNT\\&quot;,\\n   \\&quot;reference\\&quot;: \\&quot;YOUR_ORDER_NUMBER\\&quot;,\\n   \\&quot;mpiData\\&quot;: {\\n      \\&quot;cavv\\&quot;: \\&quot;3q2+78r+ur7erb7vyv66vv\\\/\\\/\\\/\\\/8=\\&quot;,\\n      \\&quot;eci\\&quot;: \\&quot;05\\&quot;,\\n      \\&quot;dsTransID\\&quot;: \\&quot;c4e59ceb-a382-4d6a-bc87-385d591fa09d\\&quot;,\\n      \\&quot;directoryResponse\\&quot;: \\&quot;C\\&quot;,\\n      \\&quot;authenticationResponse\\&quot;: \\&quot;Y\\&quot;,\\n      \\&quot;threeDSVersion\\&quot;: \\&quot;2.1.0\\&quot;,\\n      \\&quot;cavvAlgorithm\\&quot;: \\&quot;ABC\\&quot;,\\n      \\&quot;challengeCancel\\&quot;: \\&quot;00\\&quot;,\\n      \\&quot;riskScore\\&quot;: \\&quot;95\\&quot;\\n   },\\n   \\&quot;threeDS2RequestData\\&quot;: {\\n      \\&quot;threeDSRequestorChallengeInd\\&quot;: \\&quot;04\\&quot;\\n   },\\n   \\&quot;channel\\&quot;: \\&quot;Web\\&quot;,\\n   \\&quot;shopperInteraction\\&quot;: \\&quot;Ecommerce\\&quot;,\\n   \\&quot;recurringProcessingModel\\&quot;: \\&quot;CardOnFile\\&quot;\\n}'&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample><\/div><\/div><\/div>\n\n        <\/div>\n    <\/div>\n<\/div>\n\n<h2 id=\"implement-card-brands-check\">Implement card brands check<\/h2>\n<p>To comply with co-badge card regulations, follow instructions to <a href=\"\/pt\/payment-methods\/cards\/raw-card-data#co-badged\">show co-badged cards<\/a>.<\/p>\n<h2>Handle additional actions<\/h2>\n<p>The  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments<\/a> response includes information about the current status of the payment. If the response includes the <code>action<\/code> object, you must handle an additional action before the payment cant be completed.<\/p>\n<p>What you must do depends on the <code>action.type<\/code>:<\/p>\n<table>\n<thead>\n<tr>\n<th><code>action.type<\/code><\/th>\n<th>Description<\/th>\n<th>Next steps<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>voucher<\/strong><\/td>\n<td>The shopper gets a voucher which they will use to complete the payment later.<\/td>\n<td>1. <a href=\"#show-voucher-qr-code\">Show the voucher<\/a>. <br> 2. After the shopper completes the payment, get the <a href=\"\/pt\/development-resources\/webhooks\">webhook<\/a> that includes the payment result.<\/td>\n<\/tr>\n<tr>\n<td><strong>qrCode<\/strong><\/td>\n<td>The shopper scans a QR code and is redirected to an app to complete the payment.<\/td>\n<td>1. <a href=\"#show-voucher-qr-code\">Show the QR code<\/a>. <br> 2. After the shopper completes the payment, get the <a href=\"\/pt\/development-resources\/webhooks\">webhook<\/a> that includes the payment result.<\/td>\n<\/tr>\n<tr>\n<td><strong>redirect<\/strong><\/td>\n<td>The shopper is redirected to another website or app to complete the payment.<\/td>\n<td><a href=\"#handle-the-redirect\">Handle the redirect<\/a>.<\/td>\n<\/tr>\n<tr>\n<td><strong>await<\/strong><\/td>\n<td>The shopper completes the payment asynchronously, for example by using an app.<\/td>\n<td>1. Inform the shopper that you are waiting for the payment. <br> 2. Wait to get the <a href=\"\/pt\/development-resources\/webhooks\">webhook<\/a> that includes the payment result.<\/td>\n<\/tr>\n<tr>\n<td><strong>sdk<\/strong><\/td>\n<td>Applies for payment methods that require an SDK, for example <a href=\"\/pt\/payment-methods\/wechat-pay\/wechat-pay-in-app-payments\/api-only\">WeChat Pay<\/a>. <br> The type can sometimes include the payment method name, for example: <strong>wechatpaySDK<\/strong>.<\/td>\n<td>1. Invoke the SDK to trigger the switch to the payment method's app. <br>  2. After the shopper completes the payment, get the <a href=\"\/pt\/development-resources\/webhooks\">webhook<\/a> that includes the payment result.<\/td>\n<\/tr>\n<tr>\n<td><strong>threeDS2<\/strong><\/td>\n<td>The payment qualifies for 3D Secure 2 and will go through 3D Secure 2 authentication.<\/td>\n<td>Follow our 3D Secure 2 integration guides: <ul> <li markdown=\"1\"><a href=\"\/online-payments\/3d-secure\/native-3ds2\/web-component#3ds2-component\">Web 3D Secure 2 Component<\/a><\/li> <li markdown=\"1\"><a href=\"\/online-payments\/3d-secure\/native-3ds2\/ios-component\">iOS 3D Secure 2 Component<\/a><\/li> <li markdown=\"1\"><a href=\"\/online-payments\/3d-secure\/native-3ds2\/android-component#3ds2-component\">Android 3D Secure 2 Component<\/a><\/li><\/ul><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3 id=\"show-voucher-qr-code\">Show the voucher or QR code to your shopper<\/h3>\n<p>For voucher and QR code actions, you must use the information in the <code>action<\/code> object to show something to the shopper.<\/p>\n\n<div id=\"tabrOugJ\">\n    <div data-component-wrapper=\"tabs\">\n        <tabs\n                        :items=\"[{&quot;title&quot;:&quot;Voucher&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;For the &lt;strong&gt;voucher&lt;\\\/strong&gt; &lt;code&gt;action.type&lt;\\\/code&gt;:&lt;\\\/p&gt;\\n&lt;ol&gt;\\n&lt;li&gt;\\n&lt;p&gt;Get the voucher data from the &lt;code&gt;action&lt;\\\/code&gt; object and present this information on your front end or client app.&lt;\\\/p&gt;\\n&lt;p&gt;For example, for Indonesian bank transfer payments, you get the following fields in the response:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th&gt;Parameter&lt;\\\/th&gt;\\n&lt;th&gt;Description&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;code&gt;expiresAt&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td&gt;The voucher expiry date.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;code&gt;initialAmount&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td&gt;The amount and currency that the shopper has to pay.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;code&gt;merchantName&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td&gt;The name of your shop.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;code&gt;instructionsUrl&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td&gt;The link where the shopper can get additional instructions for the payment.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Voucher action type&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n  \\\\\\&quot;resultCode\\\\\\&quot;: \\\\\\&quot;PresentToShopper\\\\\\&quot;,\\\\n  \\\\\\&quot;action\\\\\\&quot;: {\\\\n      \\\\\\&quot;expiresAt\\\\\\&quot;: \\\\\\&quot;2021-09-04T19:17:00\\\\\\&quot;,\\\\n      \\\\\\&quot;initialAmount\\\\\\&quot;: {\\\\n          \\\\\\&quot;currency\\\\\\&quot;: \\\\\\&quot;IDR\\\\\\&quot;,\\\\n          \\\\\\&quot;value\\\\\\&quot;: 10000\\\\n      },\\\\n      \\\\\\&quot;instructionsUrl\\\\\\&quot;: \\\\\\&quot;https:\\\\\\\/\\\\\\\/checkoutshopper-test.adyen.com\\\\\\\/checkoutshopper\\\\\\\/voucherInstructions.shtml?txVariant=doku_mandiri_va\\\\\\&quot;,\\\\n      \\\\\\&quot;merchantName\\\\\\&quot;: \\\\\\&quot;YOUR_SHOP_NAME\\\\\\&quot;,\\\\n      \\\\\\&quot;paymentMethodType\\\\\\&quot;: \\\\\\&quot;doku_alfamart\\\\\\&quot;,\\\\n      \\\\\\&quot;reference\\\\\\&quot;: \\\\\\&quot;8520126030105485\\\\\\&quot;,\\\\n      \\\\\\&quot;shopperEmail\\\\\\&quot;: \\\\\\&quot;john.smith@adyen.com\\\\\\&quot;,\\\\n      \\\\\\&quot;shopperName\\\\\\&quot;: \\\\\\&quot;John Smith\\\\\\&quot;,\\\\n      \\\\\\&quot;totalAmount\\\\\\&quot;: {\\\\n          \\\\\\&quot;currency\\\\\\&quot;: \\\\\\&quot;IDR\\\\\\&quot;,\\\\n          \\\\\\&quot;value\\\\\\&quot;: 10000\\\\n      },\\\\n      \\\\\\&quot;type\\\\\\&quot;: \\\\\\&quot;voucher\\\\\\&quot;\\\\n  }\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;After you show the voucher to the shopper, &lt;a href=\\&quot;#get-the-payment-outcome\\&quot;&gt;get the payment outcome&lt;\\\/a&gt;.&lt;\\\/p&gt;\\n&lt;\\\/li&gt;\\n&lt;\\\/ol&gt;\\n&quot;,&quot;altTitle&quot;:&quot;voucher-tab&quot;,&quot;oldTabId&quot;:&quot;voucher-tab_1&quot;,&quot;relation&quot;:&quot;&quot;},{&quot;title&quot;:&quot;QR code&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;For the &lt;strong&gt;qrCode&lt;\\\/strong&gt; &lt;code&gt;action.type&lt;\\\/code&gt;:&lt;\\\/p&gt;\\n&lt;ol&gt;\\n&lt;li&gt;\\n&lt;p&gt;Get the &lt;code&gt;qrCodeData&lt;\\\/code&gt; from the &lt;code&gt;action&lt;\\\/code&gt; object. This parameter contains a URL that renders the QR code.&lt;\\\/p&gt;\\n&lt;p&gt;For example, for WeChat Pay desktop QR payments, you get the following in the response:&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;QR code action type&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n  \\\\\\&quot;resultCode\\\\\\&quot;: \\\\\\&quot;Pending\\\\\\&quot;,\\\\n  \\\\\\&quot;action\\\\\\&quot;: {\\\\n      \\\\\\&quot;paymentData\\\\\\&quot;: \\\\\\&quot;Ab02b4c0!BQAB..\\\\\\&quot;,\\\\n      \\\\\\&quot;paymentMethodType\\\\\\&quot;: \\\\\\&quot;wechatpayQR\\\\\\&quot;,\\\\n      \\\\\\&quot;qrCodeData\\\\\\&quot;: \\\\\\&quot;weixin:\\\\\\\/\\\\\\\/wxpay\\\\\\\/bizpayurl?pr=IM7BCOW\\\\\\&quot;,\\\\n      \\\\\\&quot;type\\\\\\&quot;: \\\\\\&quot;qrCode\\\\\\&quot;\\\\n  }\\\\n  ...\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;Show the QR code on your checkout page.&lt;\\\/p&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;After the shopper scans the QR code and completes the payment, we send a &lt;a href=\\&quot;\\\/pt\\\/development-resources\\\/webhooks\\&quot;&gt;webhook&lt;\\\/a&gt; that includes the payment result.&lt;\\\/p&gt;\\n&quot;,&quot;altTitle&quot;:&quot;qr-code&quot;,&quot;oldTabId&quot;:&quot;qr-code_2&quot;,&quot;relation&quot;:&quot;&quot;}]\"\n            :should-update-when-url-changes='true'>\n        <\/tabs>\n    <\/div>\n<\/div>\n\n<\/li>\n<\/ol>\n<h3 id=\"handle-the-redirect\">Handle the redirect<\/h3>\n<p>For redirect payment methods or redirect 3D Secure 2 authentication, you get <code>action.type<\/code>: <strong>redirect<\/strong>. You must redirect the shopper.<\/p>\n<ol>\n<li>\n<p>Get the <code>action.url<\/code> from the response.<\/p>\n\n<div id=\"tabgZ5bJ\">\n    <div data-component-wrapper=\"tabs\">\n        <tabs\n                        :items=\"[{&quot;title&quot;:&quot;Redirect payment method&quot;,&quot;content&quot;:&quot;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Example response for a redirect payment method&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n  \\\\\\&quot;action\\\\\\&quot;: {\\\\n    \\\\\\&quot;method\\\\\\&quot;: \\\\\\&quot;GET\\\\\\&quot;,\\\\n    \\\\\\&quot;paymentMethodType\\\\\\&quot;: \\\\\\&quot;ideal\\\\\\&quot;,\\\\n    \\\\\\&quot;type\\\\\\&quot;: \\\\\\&quot;redirect\\\\\\&quot;,\\\\n    \\\\\\&quot;url\\\\\\&quot;: \\\\\\&quot;https:\\\\\\\/\\\\\\\/test.adyen.com\\\\\\\/hpp\\\\\\\/redirectIdeal.shtml?brandCode=ideal&amp;amp;currencyCode=EUR&amp;amp;issuerId=1121...\\\\\\&quot;\\\\n  }\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&quot;,&quot;altTitle&quot;:&quot;payment-method&quot;,&quot;oldTabId&quot;:&quot;redirect-payment-method-1_1&quot;,&quot;relation&quot;:&quot;payment-method&quot;},{&quot;title&quot;:&quot;Redirect 3D Secure 2&quot;,&quot;content&quot;:&quot;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Example response for redirect 3D Secure 2 authentication&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n  \\\\\\&quot;action\\\\\\&quot;: {\\\\n    \\\\\\&quot;method\\\\\\&quot;: \\\\\\&quot;POST\\\\\\&quot;,\\\\n    \\\\\\&quot;paymentMethodType\\\\\\&quot;: \\\\\\&quot;scheme\\\\\\&quot;,\\\\n    \\\\\\&quot;type\\\\\\&quot;: \\\\\\&quot;redirect\\\\\\&quot;,\\\\n    \\\\\\&quot;url\\\\\\&quot;: \\\\\\&quot;https:\\\\\\\/\\\\\\\/checkoutshopper-test.adyen.com\\\\\\\/checkoutshopper\\\\\\\/threeDS\\\\\\\/checkoutRedirect\\\\\\\/...\\\\\\&quot;,\\\\n    \\\\\\&quot;data\\\\\\&quot;: {\\\\n      \\\\\\&quot;MD\\\\\\&quot;: \\\\\\&quot;OEVudmZVMUlkWjd0MDNwUWs2bmhSdz09...\\\\\\&quot;,\\\\n      \\\\\\&quot;PaReq\\\\\\&quot;: \\\\\\&quot;eNpVUttygjAQ\\\\\\\/RXbDyAXBYRZ00HpTH3wUosPfe...\\\\\\&quot;\\\\n    }\\\\n  }\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&quot;,&quot;altTitle&quot;:&quot;3ds&quot;,&quot;oldTabId&quot;:&quot;3d-secure-redirect-1_2&quot;,&quot;relation&quot;:&quot;3ds&quot;}]\"\n            :should-update-when-url-changes='true'>\n        <\/tabs>\n    <\/div>\n<\/div>\n\n<\/li>\n<li>\n<p>Redirect the shopper to the <code>action.url<\/code> with the HTTP method from <code>action.method<\/code>.<\/p>\n\n<div id=\"tabP37D1\">\n    <div data-component-wrapper=\"tabs\">\n        <tabs\n                        :items=\"[{&quot;title&quot;:&quot;Redirect payment method&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;For redirect payment methods, the&lt;code&gt;action.method&lt;\\\/code&gt; is &lt;strong&gt;GET&lt;\\\/strong&gt;:&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Redirect payment method URL&#039;\\&quot; :id=\\&quot;&#039;redirect-payment-method-url-3327827898&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;bash\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;curl https:\\\\\\\/\\\\\\\/test.adyen.com\\\\\\\/hpp\\\\\\\/redirectIdeal.shtml?brandCode=ideal&amp;amp;currencyCode=EUR&amp;amp;issuerId=1121... \\\\\\\\\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&quot;,&quot;altTitle&quot;:&quot;payment-method&quot;,&quot;oldTabId&quot;:&quot;payment-method-2_1&quot;,&quot;relation&quot;:&quot;payment-method&quot;},{&quot;title&quot;:&quot;Redirect 3D Secure 2&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;For 3D Secure redirect, the &lt;code&gt;action.method&lt;\\\/code&gt; is &lt;strong&gt;POST&lt;\\\/strong&gt;:&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Redirect 3D Secure URL&#039;\\&quot; :id=\\&quot;&#039;redirect-3d-secure-url-1374613331&#039;\\&quot; :code-data=\\&quot;[{&amp;quot;language&amp;quot;:&amp;quot;bash&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;curl https:\\\\\\\/\\\\\\\/checkoutshopper-test.adyen.com\\\\\\\/checkoutshopper\\\\\\\/threeDS\\\\\\\/checkoutRedirect\\\\\\\/... \\\\\\\\\\\\n--data-urlencode &#039;PaReq=eNpVUttygjAQ\\\\\\\/RXbDyAXBYRZ00HpTH3wUosPfe...&#039; \\\\\\\\\\\\n--data-urlencode &#039;MD=OEVudmZVMUlkWjd0MDNwUWs2bmhSdz09...&#039;&amp;quot;}]\\&quot; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&quot;,&quot;altTitle&quot;:&quot;3ds&quot;,&quot;oldTabId&quot;:&quot;3d-secure-redirect-2_2&quot;,&quot;relation&quot;:&quot;3ds&quot;}]\"\n            :should-update-when-url-changes='true'>\n        <\/tabs>\n    <\/div>\n<\/div>\n\n<p>The shopper is redirected to a page where they need to take additional action, depending on the payment method.<\/p>\n<div class=\"notices yellow\">\n<p>For security reasons, when displaying the redirect in an app, we recommend that you use <a href=\"https:\/\/developer.apple.com\/documentation\/safariservices\/sfsafariviewcontroller\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">SFSafariViewController<\/a> for iOS or <a href=\"https:\/\/developer.chrome.com\/multidevice\/android\/customtabs\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">Chrome Custom Tabs<\/a> for Android, instead of <a href=\"https:\/\/developer.android.com\/topic\/security\/best-practices#webview\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">WebView<\/a> objects.<\/p>\n<\/div>\n<p>After the shopper completes the payment, they are redirected back to your <code>returnUrl<\/code> with HTTP GET. The <code>returnUrl<\/code> is appended with a Base64-encoded <code>redirectResult<\/code>:<\/p>\n<pre><code class=\"language-raw\">GET \/?shopperOrder=12xy..&amp;&amp;redirectResult=X6XtfGC3%21Y... HTTP\/1.1\nHost: www.your-company.example.com\/checkout<\/code><\/pre>\n<\/li>\n<li>\n<p>Get the <code>redirectResult<\/code> appended to the URL and pass it to your server. If the shopper completes the payment but doesn't return to your website or app, you do not get the <code>redirectResult<\/code>. Instead, you get the outcome of the payment in a <a href=\"\/pt\/development-resources\/webhooks\">webhook<\/a>.<\/p>\n<\/li>\n<li>\n<p>From your server, make a POST  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\/details\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments\/details<\/a> request, specifying:<\/p>\n<table>\n<thead>\n<tr>\n<th>Parameter<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>details<\/code><\/td>\n<td>Contains the URL-decoded <code>redirectResult<\/code>.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'\/payments\/details request'\" :id=\"'payments-details-request-7924078813'\" :code-data=\"[{&quot;language&quot;:&quot;bash&quot;,&quot;tabTitle&quot;:&quot;curl&quot;,&quot;content&quot;:&quot;curl https:\\\/\\\/checkout-test.adyen.com\\\/v72\\\/payments\\\/details \\\\\\n-H 'x-api-key: ADYEN_API_KEY' \\\\\\n-H 'content-type: application\\\/json' \\\\\\n-d '{\\n    \\&quot;details\\&quot;: {\\n      \\&quot;redirectResult\\&quot;: \\&quot;eyJ0cmFuc1N0YXR1cyI6IlkifQ==\\&quot;\\n  }\\n}'&quot;},{&quot;language&quot;:&quot;java&quot;,&quot;tabTitle&quot;:&quot;Java&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Java API Library v32.0.0\\nimport com.adyen.Client;\\nimport com.adyen.enums.Environment;\\nimport com.adyen.model.checkout.*;\\nimport java.time.OffsetDateTime;\\nimport java.util.*;\\nimport com.adyen.model.RequestOptions;\\nimport com.adyen.service.checkout.*;\\n\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\nClient client = new Client(\\&quot;ADYEN_API_KEY\\&quot;, Environment.TEST);\\n\\n\\\/\\\/ Create the request object(s)\\n\\\/\\\/ Send the request\\nPaymentsApi service = new PaymentsApi(client);\\nPaymentDetailsResponse response = service.paymentsDetails(paymentDetailsRequest, new RequestOptions().idempotencyKey(\\&quot;UUID\\&quot;));&quot;},{&quot;language&quot;:&quot;php&quot;,&quot;tabTitle&quot;:&quot;PHP&quot;,&quot;content&quot;:&quot;&lt;?php\\n\\\/\\\/ Adyen PHP API Library v23.0.0\\nuse Adyen\\\\Client;\\nuse Adyen\\\\Environment;\\nuse Adyen\\\\Service\\\\Checkout\\\\PaymentsApi;\\n\\n$client = new Client();\\n$client-&gt;setXApiKey(\\&quot;ADYEN_API_KEY\\&quot;);\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\n$client-&gt;setEnvironment(Environment::TEST);\\n\\n\\n\\\/\\\/ Create the request object(s)\\n$requestOptions['idempotencyKey'] = 'UUID';\\n\\n\\\/\\\/ Send the request\\n$service = new PaymentsApi($client);\\n$response = $service-&gt;paymentsDetails($paymentDetailsRequest, $requestOptions);&quot;},{&quot;language&quot;:&quot;cs&quot;,&quot;tabTitle&quot;:&quot;C#&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen .net API Library v26.0.0\\nusing Adyen;\\nusing Environment = Adyen.Model.Environment;\\nusing Adyen.Model;\\nusing Adyen.Model.Checkout;\\nusing Adyen.Service.Checkout;\\n\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\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)\\n\\\/\\\/ Send the request\\nvar service = new PaymentsService(client);\\nvar response = service.PaymentsDetails(paymentDetailsRequest, requestOptions: new RequestOptions { IdempotencyKey = \\&quot;UUID\\&quot;});&quot;},{&quot;language&quot;:&quot;js&quot;,&quot;tabTitle&quot;:&quot;NodeJS (JavaScript)&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Node API Library v22.1.0\\n\\\/\\\/ Require the parts of the module you want to use\\nconst { Client, CheckoutAPI } = require('@adyen\\\/api-library');\\n\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\nconst client = new Client({ apiKey: \\&quot;ADYEN_API_KEY\\&quot;, environment: \\&quot;TEST\\&quot; });\\n\\n\\\/\\\/ Create the request object(s)\\nconst paymentDetailsRequest = {\\n  details: {\\n    redirectResult: \\&quot;eyJ0cmFuc1N0YXR1cyI6IlkifQ==\\&quot;\\n  }\\n}\\n\\n\\\/\\\/ Send the request\\nconst checkoutAPI = new CheckoutAPI(client);\\nconst response = checkoutAPI.PaymentsApi.paymentsDetails(paymentDetailsRequest, { idempotencyKey: \\&quot;UUID\\&quot; });&quot;},{&quot;language&quot;:&quot;go&quot;,&quot;tabTitle&quot;:&quot;Go&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Go API Library v16.1.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\\\/checkout\\&quot;\\n)\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\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)\\n\\\/\\\/ Send the request\\nservice := client.Checkout()\\nreq := service.PaymentsApi.PaymentsDetailsInput().IdempotencyKey(\\&quot;UUID\\&quot;).PaymentDetailsRequest(paymentDetailsRequest)\\nres, httpRes, err := service.PaymentsApi.PaymentsDetails(context.Background(), req)&quot;},{&quot;language&quot;:&quot;py&quot;,&quot;tabTitle&quot;:&quot;Python&quot;,&quot;content&quot;:&quot;# Adyen Python API Library v13.2.0\\nimport Adyen\\n\\nadyen = Adyen.Adyen()\\nadyen.client.xapikey = \\&quot;ADYEN_API_KEY\\&quot;\\n# For the LIVE environment, also include your liveEndpointUrlPrefix.\\nadyen.client.platform = \\&quot;test\\&quot; # The environment to use library in.\\n\\n# Create the request object(s)\\njson_request = {\\n  \\&quot;details\\&quot;: {\\n    \\&quot;redirectResult\\&quot;: \\&quot;eyJ0cmFuc1N0YXR1cyI6IlkifQ==\\&quot;\\n  }\\n}\\n\\n# Send the request\\nresult = adyen.checkout.payments_api.payments_details(request=json_request, idempotency_key=\\&quot;UUID\\&quot;)&quot;},{&quot;language&quot;:&quot;rb&quot;,&quot;tabTitle&quot;:&quot;Ruby&quot;,&quot;content&quot;:&quot;# Adyen Ruby API Library v10.1.0\\nrequire \\&quot;adyen-ruby-api-library\\&quot;\\n\\nadyen = Adyen::Client.new\\nadyen.api_key = 'ADYEN_API_KEY'\\n# For the LIVE environment, also include your liveEndpointUrlPrefix.\\nadyen.env = :test # Set to \\&quot;live\\&quot; for live environment\\n\\n# Create the request object(s)\\nrequest_body = {\\n  :details =&gt; {\\n    :redirectResult =&gt; 'eyJ0cmFuc1N0YXR1cyI6IlkifQ=='\\n  }\\n}\\n\\n# Send the request\\nresult = adyen.checkout.payments_api.payments_details(request_body, headers: { 'Idempotency-Key' =&gt; 'UUID' })&quot;},{&quot;language&quot;:&quot;ts&quot;,&quot;tabTitle&quot;:&quot;NodeJS (TypeScript)&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Node API Library v22.1.0\\n\\\/\\\/ Require the parts of the module you want to use\\nimport { Client, CheckoutAPI, Types } from \\&quot;@adyen\\\/api-library\\&quot;;\\n\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\nconst client = new Client({ apiKey: \\&quot;ADYEN_API_KEY\\&quot;, environment: \\&quot;TEST\\&quot; });\\n\\n\\\/\\\/ Create the request object(s)\\n\\\/\\\/ Send the request\\nconst checkoutAPI = new CheckoutAPI(client);\\nconst response = checkoutAPI.PaymentsApi.paymentsDetails(paymentDetailsRequest, { idempotencyKey: \\&quot;UUID\\&quot; });&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<p>The response includes the following:<\/p>\n<table>\n<thead>\n<tr>\n<th>Parameter<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>resultCode<\/code><\/td>\n<td>The current status of the payment.<\/td>\n<\/tr>\n<tr>\n<td><code>pspReference<\/code><\/td>\n<td>Our unique identifier for the payment.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'\/payments\/details response'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n  \\\"resultCode\\\": \\\"Authorised\\\",\\n  \\\"pspReference\\\": \\\"NC6HT9CRT65ZGN82\\\"\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<\/ol>\n<h2 id=\"request-additional-configuration\">Request additional configuration (optional)<\/h2>\n<p>Adyen supports some features that require additional configuration that you cannot do yourself. Contact our <a href=\"https:\/\/ca-test.adyen.com\/ca\/ca\/contactUs\/support.shtml?form=other\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">Support Team<\/a> if you use a feature that required additional setup from Adyen.<\/p>\n<h2 id=\"handle-new-errors\">Handle new errors<\/h2>\n<p>Make changes to your server's business logic to handle <a href=\"\/pt\/development-resources\/error-codes\/\">errors in Checkout API responses<\/a>.<\/p>\n<p>A Classic API integration can get only <a href=\"\/pt\/development-resources\/error-codes\/#generic-error-codes\">generic error codes<\/a>.<\/p>\n<p>A Checkout API integration can get all error codes.<\/p>\n<h2 id=\"test-your-updates\">Test your updates<\/h2>\n<p>Follow our guide to <a href=\"\/pt\/development-resources\/testing\/\">test your online payments integration<\/a>.<\/p>\n<h2>Go live<\/h2>\n<p>You can test your Checkout API integration in the live environment by processing some live payments. While testing in the live environment, you can continue to process payments with your Classic API integration.<\/p>\n<p>After you verify that Checkout API meets your requirements in the live environment, we recommend that you stop using the Classic API integration.<\/p>\n<h2>See also<\/h2>\n<div class=\"see-also-links output-inline\" id=\"see-also\">\n<ul><li><a href=\"\/online-payments\/integration-checklist\"\n                        target=\"_self\"\n                        >\n                    Integration checklist\n                <\/a><\/li><li><a href=\"\/online-payments\/build-your-integration\/advanced-flow\"\n                        target=\"_self\"\n                        >\n                    Advanced flow Drop-in\/Components integration guide\n                <\/a><\/li><\/ul><\/div>\n","url":"https:\/\/docs.adyen.com\/pt\/online-payments\/upgrade-your-integration\/migrate-to-checkout-api","articleFields":{"description":"Migrate your Classic API integration to Checkout API.","feedback_component":true,"parameters":{"return_url":"https:\/\/your-company.example.com\/checkout?shopperOrder=12xy..","origin":"https:\/\/your-company.example.com","country_code":"NL","shopper_locale":"nl-NL","currency":"EUR","channel":"Web","user_agent":"Mozilla\\\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\\\/537.36 (KHTML, like Gecko) Chrome\\\/70.0.3538.110 Safari\\\/537.36"},"filters_component":false,"decision_tree":"[]","page_id":"37eb7e56-777b-49b2-90e8-aa9344578aa5","last_edit_on":"02-07-2025 17:52"},"algolia":{"url":"https:\/\/docs.adyen.com\/pt\/online-payments\/upgrade-your-integration\/migrate-to-checkout-api","title":"Migrate to Checkout API","content":"Adyen no longer develops or updates our  Classic API. We recommend that you migrate your integration to use the latest version of  Checkout API for the following benefits:\n\nA single integration to process all payment methods, including cards, bank-based, and alternative payment methods.\nA simpler client-side integration with Drop-in\/Components that is only available with the Checkout API.\nImproved 3D Secure 2 authentication for payments. This includes simpler integration and the auto-authorization feature which reduces integration errors and failed payments.\nAn integration that adheres to latest security standards, like JSON Web Encryption (JWE) and JSON Web Signature (JWS), and offers your shoppers a more secure checkout process.\nA simple, developer-friendly integration experience that handles many of the complexities of processing payments with less code complexity.\nMore specific error responses, for more efficient debugging.\n\nWhen you migrate to Checkout API, changes affect payment authentication, authorization and modification changes. Other processes and credentials, like reporting, reconciliation, webhooks, and API authentication keys do not change.\nSupported features\nThe following table shows the features supported in Classic API and Checkout API:\n\n\n\nFeature\nClassic API\nCheckout API\n\n\n\n\nCard payments\n\n\n\n\n3D Secure 2 authentication\n\n\n\n\nDrop-in\/Components for web, mobile, and cross-platform\n\n\n\n\nHosted Checkout\n\n\n\n\nPay by Link\n\n\n\n\nDonations with Adyen Giving\n\n\n\n\nCreating orders that allow for partial payments\n\n\n\n\nUsage analytics\n\n\n\n\n\nHow to migrate\nFollow this guide to migrate to Checkout API v71 or later.\nWhile you make your updates, you can continue to use your existing Classic API integration to process live payments.\nAfter testing your Checkout API integration, you can go live and start processing live payments with it.\nTo migrate your integration, do the following:\n\nUpdate settings in Customer Area.\nUpdate your endpoints.\nUpdate your request objects.\nImplement cards brand check.\nHandle additional actions\nRequest additional configuration (optional)\nHandle new errors.\nTest your updates.\nGo live.\n\nUse our API library\nWhen you migrate to Checkout API, we recommend that you use one of our API libraries, available in many languages, to help you make requests.\nIf you use an API library for your Classic API integration, upgrade to the latest version to get the latest changes for Checkout API.\nUpdate settings in Customer Area\nIn your Customer Area, do the following:\n\nMake sure that your API credential has the Checkout webservice user role.\n\nIn your Customer Area, go to Developers &gt; API credentials.\nFrom the list of users, select the user whose credentials you want to use to make Checkout API requests.\nIn the Permissions section, in the Roles panel, under UNCATEGORIZED, select Checkout webservice role.\n\nTurn on additional data that you want to get it in your Checkout API responses.\n\nIn your Customer Area, go to Developers &gt; Additional data.\nSelect the fields that you want to get.\n\n\nYou continue to get the same reports in your Customer Area after you migrate to Checkout API.\nUpdate your endpoints\nThe following tables show the base URL and endpoints that you must update from Classic API to Checkout API.\nBase URL\n\n\n\nEnvironment\nClassic\nCheckout\n\n\n\n\nTest\nhttps:\/\/pal-test.adyen.com\/pal\/servlet\/Payment\/{VERSION}\nhttps:\/\/checkout-test.adyen.com\/checkout\/{VERSION}\n\n\nLive\nhttps:\/\/{PREFIX}-pal-live.adyenpayments.com\/pal\/servlet\/Payment\/{VERSION}\nhttps:\/\/{PREFIX}-checkout-live.adyenpayments.com\/{VERSION}\n\n\n\nYou can find your URL prefixes for the live environment in your live Customer Area:\n\nGo to Developers &gt; API URLs.\nSelect the endpoint that corresponds to the region that the account operates in. For example, if you are located in India, you must use a URL in the India (IN) region.\n\nEndpoints\nChange the following endpoints for each corresponding action.\nAppend each endpoint to the base URL.\n\n\n\nAction\nClassic\nCheckout\n\n\n\n\nGet a list of available payment methods.\nNot available.\n \/paymentMethods\n\n\nMake a payment.\n \/authorise\n \/payments\n\n\nAuthorize a payment after 3D Secure 2 authentication.\n authorise3d and  \/authorise3ds2\n \/payments\/details\n\n\nRefund a captured payment with its pspReference.\n \/refund\n \/payments\/{paymentPspReference}\/refunds\n\n\nCancel an authorization with its pspReference.\n \/cancel\n \/payments\/{paymentPspReference}\/cancels\n\n\nCancel an authorization without its pspReference.\n \/technicalCancel\n \/cancels\n\n\nCapture a payment.\n \/capture\n \/payments\/{paymentPspReference}\/captures\n\n\nIf you do not know the status of a payment, refund or cancel the payment.\n \/cancelOrRefund\n \/payments\/{paymentPspReference}\/reversals\n\n\nUpdate the amount of an authorized payment.\n \/adjustAuthorisation\n \/payments\/{paymentPspReference}\/amountUpdates\n\n\nFor redirect payment methods, send payment data after the redirect.\nNot available.\n \/payments\/details\n\n\nGet the list of brands on a card.\nNot available.\n \/cardDetails\n\n\nMake a donation through Adyen Giving.\nNot available.\n \/donations\n\n\nGet a list of your active donation campaigns.\nNot available.\n \/donationCampaigns\n\n\nCreate a Pay by Link payment link.\nNot available.\n \/paymentLinks\n\n\n\nUpdate your request objects\nThe request objects in Classic API and Checkout API are different. You must update the parameters for each object.\nData format\nThe required data format for Checkout API is JSON. If your Classic API integration uses XML data, you must change your request objects to JSON instead.\nThe following examples show the differences in the request objects between Classic API and Checkout API, in JSON format.\n\n    \n    \n        \n            \n            \n                                    Make a payment with encrypted card details\n                            \n        \n        \n            \nIf you are not PCI-compliant, use one of Adyen's client-side solutions to encrypt card details.\nAfter encrypting card details, make a payment request with the encrypted card details.\nParameters\n\n\n\nClassic API\nCheckout API\n\n\n\n\namount\namount\n\n\nadditionalData.card.encrypted.json\npaymentMethod\n\n\nNot applicable.\npaymentMethod.type\n\n\nNot applicable.\npaymentMethod.encryptedCardNumber\n\n\nNot applicable.\npaymentMethod.encryptedExpiryMonth\n\n\nNot applicable.\npaymentMethod.encryptedExpiryYear\n\n\nNot applicable.\npaymentMethod.encryptedSecurityCode\n\n\nNot applicable.\npaymentMethod.holderName\n\n\nreference\nreference\n\n\nmerchantAccount\nmerchantAccount\n\n\nNot applicable.\nreturnUrl\n\n\n\n\nClassic APITo make a basic card payment with encrypted card details, include the following in the  \/authorise request:Checkout APITo make a basic card payment with encrypted card details, include the following in the  \/payments request:\n\n        \n    \n\n\n\n    \n    \n        \n            \n            \n                                    Make a payment with unencrypted card details\n                            \n        \n        \n            \n\nYou must be PCI compliant to use unencrypted card details.\n\nMake a request for a card payment with unencrypted card details.\nParameters\n\n\n\nClassic API\nCheckout API\n\n\n\n\namount\namount\n\n\nNot applicable.\npaymentMethod.type\n\n\ncard.number\npaymentMethod.number\n\n\ncard.expiryMonth\npaymentMethod.expiryMonth\n\n\ncard.expiryYear\npaymentMethod.expiryYear\n\n\ncvc\npaymentMethod.cvc\n\n\nholderName\npaymentMethod.holderName\n\n\nreference\nreference\n\n\nmerchantAccount\nmerchantAccount\n\n\nNot applicable.\nreturnUrl\n\n\n\n\nClassic APITo make a basic card payment, include the following in the  \/authorise request:Checkout APITo make a card payment, include the following in the  \/payments request:\n\n        \n    \n\n\n\n    \n    \n        \n            \n            \n                                    Store the shopper's card details\n                            \n        \n        \n            \nMake a request to store the shopper's card details.\nParameters\n\n\n\nClassic API\nCheckout API\n\n\n\n\namount\namount\n\n\nadditionalData.card.encrypted.json\npaymentMethod\n\n\nNot applicable.\npaymentMethod.type\n\n\nNot applicable.\npaymentMethod.encryptedCardNumber\n\n\nNot applicable.\npaymentMethod.encryptedExpiryMonth\n\n\nNot applicable.\npaymentMethod.encryptedExpiryYear\n\n\nNot applicable.\npaymentMethod.encryptedSecurityCode\n\n\nNot applicable.\npaymentMethod.holderName\n\n\nreference\nreference\n\n\nmerchantAccount\nmerchantAccount\n\n\nshopperEmail\nshopperEmail\n\n\nshopperIP\nshopperIP\n\n\nshopperReference\nshopperReference\n\n\nrecurring\nNot applicable.\n\n\nrecurringProcessingModel\nrecurringProcessingModel\n\n\nNot applicable.\nstorePaymentMethod\n\n\nNot applicable.\nreturnUrl\n\n\n\n\nClassic APITo store the shopper's card details (in this example, for one-off payments), include the following in the  \/authorise request:Checkout APITo store the shopper's card details (in this example, for one-off payments), include the following in the  \/payments request:\n\n        \n    \n\n\n\n    \n    \n        \n            \n            \n                                    One-off payment with stored card details\n                            \n        \n        \n            \nMake a request for a one-off payment with stored card details.\nParameters\n\n\n\nClassic API\nCheckout API\n\n\n\n\namount\namount\n\n\nadditionalData.card.encrypted.json\npaymentMethod.type\n\n\nNot applicable.\npaymentMethod.encryptedSecurityCode\n\n\nselectedRecurringDetailReference\npaymentMethod.storedPaymentMethodId\n\n\nreference\nreference\n\n\nmerchantAccount\nmerchantAccount\n\n\nshopperEmail\nshopperEmail\n\n\nshopperIP\nshopperIP\n\n\nshopperInteraction\nshopperInteraction\n\n\nrecurringProcessingModel\nrecurringProcessingModel\n\n\nshopperReference\nshopperReference\n\n\nrecurring.contract\nNot applicable.\n\n\nNot applicable.\nreturnUrl\n\n\n\n\nClassic APITo make a one-off payment with stored card details, include the following in the  \/authorise request:Checkout APITo make a one-off payment with stored card details, include the following in the  \/payments request:\n\n        \n    \n\n\n\n    \n    \n        \n            \n            \n                                    Subscription payment with stored card details\n                            \n        \n        \n            \nMake a request for a subscription payment with stored card details.\nParameters\n\n\n\nClassic API\nCheckout API\n\n\n\n\namount\namount\n\n\nNot applicable.\npaymentMethod.type\n\n\nNot applicable.\npaymentMethod.encryptedSecurityCode\n\n\nselectedRecurringDetailReference\npaymentMethod.storedPaymentMethodId\n\n\nreference\nreference\n\n\nmerchantAccount\nmerchantAccount\n\n\nshopperEmail\nshopperEmail\n\n\nshopperIP\nshopperIP\n\n\nshopperReference\nshopperReference\n\n\nshopperInteraction\nshopperInteraction\n\n\nrecurringProcessingModel\nrecurringProcessingModel\n\n\nrecurring\nNot applicable.\n\n\nNot applicable.\nstorePaymentMethod\n\n\nNot applicable.\nreturnUrl\n\n\n\n\nClassic APITo make a subscription payment with stored card details, include the following in the  \/authorise request:Checkout APITo make a subscription payment with stored card details, include the following in the  \/payments request:\n\n        \n    \n\n\n\n    \n    \n        \n            \n            \n                                    Card payment with native 3D Secure 2 authentication\n                            \n        \n        \n            \nMake a request for a payment with native 3D Secure 2 authentication. Use our native 3D Secure 2 Component to handle 3D Secure 2 authentication.\nParameters\n\n\n\nClassic API\nCheckout API\n\n\n\n\namount\namount\n\n\nreference\nreference\n\n\nmerchantAccount\nmerchantAccount\n\n\nadditionalData.card.encrypted.json\npaymentMethod.type\n\n\nNot applicable\npaymentMethod.encryptedCardNumber\n\n\nNot applicable.\npaymentMethod.encryptedExpiryMonth\n\n\nNot applicable.\npaymentMethod.encryptedExpiryYear\n\n\nNot applicable.\npaymentMethod.encryptedSecurityCode\n\n\nNot applicable.\npaymentMethod.holderName\n\n\nthreeDS2RequestData.mobilePhone\nthreeDS2RequestData.mobilePhone\n\n\nthreeDS2RequestData.deviceChannel\nchannel\n\n\nthreeDS2RequestData.notificationURL\nNot applicable.\n\n\nbrowserInfo\nbrowserInfo\n\n\nshopperIP\nshopperIP\n\n\nshopperReference\nshopperReference\n\n\nNot applicable.\nbillingAddress\n\n\nshopperEmail\nshopperEmail\n\n\nNot applicable.\norigin\n\n\nNot applicable.\nreturnUrl\n\n\n\n\nClassic APITo make a payment for native 3D Secure 2 authentication, include the following in the  \/authorise request:Checkout APITo make a payment for native 3D Secure 2 authentication, include the following in the  \/payments request:\n\n        \n    \n\n\n\n    \n    \n        \n            \n            \n                                    Card payment with redirect 3D Secure 2 authentication\n                            \n        \n        \n            \nMake a request for a payment with 3D Secure 2 redirect authentication. Use our redirect 3D Secure 2 Component to handle redirect 3D Secure 2 authentication.\nParameters\n\n\n\nClassic API\nCheckout API\n\n\n\n\namount\namount\n\n\nreference\nreference\n\n\nmerchantAccount\nmerchantAccount\n\n\nadditionalData.card.encrypted.json\npaymentMethod.type\n\n\nNot applicable\npaymentMethod.encryptedCardNumber\n\n\nNot applicable.\npaymentMethod.encryptedExpiryMonth\n\n\nNot applicable.\npaymentMethod.encryptedExpiryYear\n\n\nNot applicable.\npaymentMethod.encryptedSecurityCode\n\n\nNot applicable.\npaymentMethod.holderName\n\n\nbrowserInfo\nbrowserInfo\n\n\nshopperReference\nshopperReference\n\n\nshopperEmail\nshopperEmail\n\n\nshopperIP\nshopperIP\n\n\nNot applicable.\nbillingAddress\n\n\nNot applicable.\nchannel\n\n\nNot applicable.\norigin\n\n\nNot applicable.\nreturnUrl\n\n\n\n\nClassic APITo make a payment with 3D Secure 2 redirect authentication, include the following in the  \/authorise request:Checkout APITo make a payment with 3D Secure 2 redirect authentication, include the following in the  \/payments request:\n\n        \n    \n\n\n\n    \n    \n        \n            \n            \n                                    Refund\n                            \n        \n        \n            \nMake a request for refund.\nParameters\n\n\n\nClassic API\nCheckout API\n\n\n\n\namount\namount\n\n\nmerchantAccount\nmerchantAccount\n\n\nreference\nreference\n\n\noriginalReference\nPath parameter: paymentPspReference\n\n\n\n\nClassic APITo make a refund, include the following in the  \/refund request:Checkout APITo make a refund, include the following in the  \/payments\/{paymentPspReference}\/refunds  request:\n\n        \n    \n\n\n\n    \n    \n        \n            \n            \n                                    Cancel\n                            \n        \n        \n            \nMake a request to cancel a payment.\nParameters\n\n\n\nClassic API\nCheckout API\n\n\n\n\nmerchantAccount\nmerchantAccount\n\n\nreference\nreference\n\n\noriginalReference\nPath parameter: paymentPspReference\n\n\n\n\nClassic APITo cancel a payment, include the following in the  \/cancel request:Checkout APITo cancel a payment, include the following in the  \/payments\/{paymentPspReference}\/cancels  request:\n\n        \n    \n\n\n\n    \n    \n        \n            \n            \n                                    Capture\n                            \n        \n        \n            \nMake a request to capture a payment.\nParameters\n\n\n\nClassic API\nCheckout API\n\n\n\n\nmodificationAmount\namount\n\n\nmerchantAccount\nmerchantAccount\n\n\nreference\nreference\n\n\noriginalReference\nPath parameter: paymentPspReference\n\n\n\n\nClassic APITo capture a payment, include the following in the  \/capture request:Checkout APITo capture a payment, include the following in the  \/payments\/{paymentPspReference}\/captures request:\n\n        \n    \n\n\n\n    \n    \n        \n            \n            \n                                    Reversal\n                            \n        \n        \n            \nMake a request for reversal. Use this when you do not know if a payment was already captured.\nParameters\n\n\n\nClassic API\nCheckout API\n\n\n\n\nmerchantAccount\nmerchantAccount\n\n\nreference\nreference\n\n\noriginalReference\nPath parameter: paymentPspReference\n\n\n\n\nClassic APITo reverse (cancel or refund) a payment, include the following in the  \/cancelOrRefund request:Checkout APITo To reverse (cancel or refund) a payment, include the following in the  \/payments\/{paymentPspReference}\/reversals  request:\n\n        \n    \n\n\n\n    \n    \n        \n            \n            \n                                    Adjust the amount of an authorized payment\n                            \n        \n        \n            \nMake a request to adjust the amount of an authorized payment.\nParameters\n\n\n\nClassic API\nCheckout API\n\n\n\n\nmodificationAmount\namount\n\n\nmerchantAccount\nmerchantAccount\n\n\nreference\nreference\n\n\nadditionalData.industryUsage\nindustryUsage\n\n\noriginalReference\nPath parameter: paymentPspReference\n\n\nNot applicable.\nlineItems\n\n\n\n\nClassic APITo adjust an authorized amount, include the following in the  \/adjustAuthorisation request:Checkout APITo adjust an authorized amount, include the following in the  \/payments\/{paymentPspReference}\/amountUpdates request:\n\n        \n    \n\n\n\n    \n    \n        \n            \n            \n                                    Third-party 3D Secure 2 authentication\n                            \n        \n        \n            \nMake a request for a payment with third-party authentication. The parameters you include depend on the authentication data from the third party.\nParameters\n\n\n\nClassic API\nCheckout API\n\n\n\n\namount\namount\n\n\nadditionalData.card.encrypted.json\npaymentMethod\n\n\nNot applicable.\npaymentMethod.type\n\n\nselectedBrand  For co-badged cards.\npaymentMethod.brand    For co-badged cards.\n\n\nNot applicable.\npaymentMethod.encryptedCardNumber\n\n\nNot applicable.\npaymentMethod.encryptedExpiryMonth\n\n\nNot applicable.\npaymentMethod.encryptedExpiryYear\n\n\nNot applicable.\npaymentMethod.encryptedSecurityCode\n\n\nNot applicable.\npaymentMethod.holderName\n\n\nadditionalData.scaExemption    For Cartes Bancaires.\nadditionalData.scaExemption    For Cartes Bancaires.\n\n\nadditionalData.acquirerCode   For Cartes Bancaires.\nadditionalData.acquirerCode     For Cartes Bancaires.\n\n\nmerchantAccount\nmerchantAccount\n\n\nreference\nreference\n\n\nmpiData.cavv\nmpiData.cavv\n\n\nmpiData.eci\nmpiData.eci\n\n\nmpiData.dsTransID\nmpiData.dsTransID\n\n\nmpiData.directoryResponse\nmpiData.directoryResponse\n\n\nmpiData.authenticationResponse\nmpiData.authenticationResponse\n\n\nmpiData.threeDSVersion\nmpiData.threeDSVersion\n\n\nmpiData.cavvAlgorithm      For Cartes Bancaires.\nmpiData.cavvAlgorithm           For Cartes Bancaires.\n\n\nmpiData.challengeCancel   For Cartes Bancaires.\nmpiData.challengeCancel         For Cartes Bancaires.\n\n\nmpiData.riskScore  For Cartes Bancaires.\nmpiData.riskScore  For Cartes Bancaires.\n\n\nthreeDS2RequestData.threeDSRequestorChallengeInd   For Cartes Bancaires.\nthreeDS2RequestData.threeDSRequestorChallengeInd  For Cartes Bancaires.\n\n\nNot applicable.\nchannel\n\n\nNot applicable.\nshopperInteraction\n\n\nNot applicable.\nrecurringProcessingModel\n\n\n\n\nClassic APITo make a payment with third-party authentication, include the following in the  \/authorise request:The parameters you include depend on the authentication data from the third party.Checkout APITo make a payment with third-part authentication, include the following in the  \/payments request:The parameters you include depend on the authentication data from the third party.\n\n        \n    \n\n\nImplement card brands check\nTo comply with co-badge card regulations, follow instructions to show co-badged cards.\nHandle additional actions\nThe  \/payments response includes information about the current status of the payment. If the response includes the action object, you must handle an additional action before the payment cant be completed.\nWhat you must do depends on the action.type:\n\n\n\naction.type\nDescription\nNext steps\n\n\n\n\nvoucher\nThe shopper gets a voucher which they will use to complete the payment later.\n1. Show the voucher.  2. After the shopper completes the payment, get the webhook that includes the payment result.\n\n\nqrCode\nThe shopper scans a QR code and is redirected to an app to complete the payment.\n1. Show the QR code.  2. After the shopper completes the payment, get the webhook that includes the payment result.\n\n\nredirect\nThe shopper is redirected to another website or app to complete the payment.\nHandle the redirect.\n\n\nawait\nThe shopper completes the payment asynchronously, for example by using an app.\n1. Inform the shopper that you are waiting for the payment.  2. Wait to get the webhook that includes the payment result.\n\n\nsdk\nApplies for payment methods that require an SDK, for example WeChat Pay.  The type can sometimes include the payment method name, for example: wechatpaySDK.\n1. Invoke the SDK to trigger the switch to the payment method's app.   2. After the shopper completes the payment, get the webhook that includes the payment result.\n\n\nthreeDS2\nThe payment qualifies for 3D Secure 2 and will go through 3D Secure 2 authentication.\nFollow our 3D Secure 2 integration guides:  Web 3D Secure 2 Component iOS 3D Secure 2 Component Android 3D Secure 2 Component\n\n\n\nShow the voucher or QR code to your shopper\nFor voucher and QR code actions, you must use the information in the action object to show something to the shopper.\n\n\n    \n        \n        \n    \n\n\n\n\nHandle the redirect\nFor redirect payment methods or redirect 3D Secure 2 authentication, you get action.type: redirect. You must redirect the shopper.\n\n\nGet the action.url from the response.\n\n\n    \n        \n        \n    \n\n\n\n\nRedirect the shopper to the action.url with the HTTP method from action.method.\n\n\n    \n        \n        \n    \n\n\nThe shopper is redirected to a page where they need to take additional action, depending on the payment method.\n\nFor security reasons, when displaying the redirect in an app, we recommend that you use SFSafariViewController for iOS or Chrome Custom Tabs for Android, instead of WebView objects.\n\nAfter the shopper completes the payment, they are redirected back to your returnUrl with HTTP GET. The returnUrl is appended with a Base64-encoded redirectResult:\nGET \/?shopperOrder=12xy..&amp;&amp;redirectResult=X6XtfGC3%21Y... HTTP\/1.1\nHost: www.your-company.example.com\/checkout\n\n\nGet the redirectResult appended to the URL and pass it to your server. If the shopper completes the payment but doesn't return to your website or app, you do not get the redirectResult. Instead, you get the outcome of the payment in a webhook.\n\n\nFrom your server, make a POST  \/payments\/details request, specifying:\n\n\n\nParameter\nDescription\n\n\n\n\ndetails\nContains the URL-decoded redirectResult.\n\n\n\n\n\n\nThe response includes the following:\n\n\n\nParameter\nDescription\n\n\n\n\nresultCode\nThe current status of the payment.\n\n\npspReference\nOur unique identifier for the payment.\n\n\n\n\n\n\n\n\nRequest additional configuration (optional)\nAdyen supports some features that require additional configuration that you cannot do yourself. Contact our Support Team if you use a feature that required additional setup from Adyen.\nHandle new errors\nMake changes to your server's business logic to handle errors in Checkout API responses.\nA Classic API integration can get only generic error codes.\nA Checkout API integration can get all error codes.\nTest your updates\nFollow our guide to test your online payments integration.\nGo live\nYou can test your Checkout API integration in the live environment by processing some live payments. While testing in the live environment, you can continue to process payments with your Classic API integration.\nAfter you verify that Checkout API meets your requirements in the live environment, we recommend that you stop using the Classic API integration.\nSee also\n\n\n                    Integration checklist\n                \n                    Advanced flow Drop-in\/Components integration guide\n                \n","type":"page","locale":"pt","boost":17,"hierarchy":{"lvl0":"Home","lvl1":"Online payments","lvl2":"Upgrade your integration","lvl3":"Migrate to Checkout API"},"hierarchy_url":{"lvl0":"https:\/\/docs.adyen.com\/pt","lvl1":"https:\/\/docs.adyen.com\/pt\/online-payments","lvl2":"https:\/\/docs.adyen.com\/pt\/online-payments\/upgrade-your-integration","lvl3":"\/pt\/online-payments\/upgrade-your-integration\/migrate-to-checkout-api"},"levels":4,"category":"Online Payments","category_color":"green","tags":["Migrate","Checkout"]},"articleFiles":{"3ds2-native-checkout.js":"<p alt=\"\">3ds2-native-checkout.js<\/p>","3ds2-redirect-checkout.js":"<p alt=\"\">3ds2-redirect-checkout.js<\/p>","store-checkout.js":"<p alt=\"\">store-checkout.js<\/p>"}}
