{"title":"Upgrade to Checkout API v70","category":"default","creationDate":1675682340,"content":"<p>Checkout API v70 changes how you use <a href=\"\/pt\/online-payments\/tokenization\">tokenization<\/a> and <a href=\"#include-line-items-for-risk-rules\">items for in a payment request for risk management<\/a>.<\/p>\n<p>This page describes how you upgrade your integration to use Checkout API v70.<\/p>\n<div class=\"sc-notice warning\"><div>\n<p>Previously, you could set whether to store your shopper's payment details for recurring payments in the Customer Area, under <strong>Settings<\/strong> &gt; <strong>Checkout settings<\/strong> &gt; <strong>enableRecurring<\/strong>. As of Checkout API v70, you can no longer do this.<\/p>\n<p>This means that from Checkout v70 onward, you manage all tokenization settings exclusively through the Checkout API.<\/p>\n<\/div><\/div>\n<h2>Create a token<\/h2>\n\n<div id=\"tabpjF3D\">\n    <div data-component-wrapper=\"tabs\">\n        <tabs\n                        :items=\"[{&quot;title&quot;:&quot;Drop-in or Components&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;Your upgrade steps depend on whether you use a &lt;a href=\\&quot;#sessions-flow-create-token\\&quot;&gt;Sessions flow&lt;\\\/a&gt; or &lt;a href=\\&quot;#advanced-flow-create-token\\&quot;&gt;Advanced flow&lt;\\\/a&gt;.&lt;\\\/p&gt;\\n&lt;p&gt;To learn about the difference, see &lt;a href=\\&quot;\\\/pt\\\/online-payments\\\/build-your-integration\\&quot;&gt;Additional use cases&lt;\\\/a&gt;.&lt;\\\/p&gt;\\n&lt;h3 id=\\&quot;sessions-flow-create-token\\&quot;&gt;Sessions flow&lt;\\\/h3&gt;\\n&lt;p&gt;Before v70, in  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/sessions\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/sessions&lt;\\\/a&gt; requests:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;You must set &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/69\\\/post\\\/sessions#request-storePaymentMethod\\&quot; class=\\&quot;codeLabel external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;storePaymentMethod&lt;\\\/a&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;You optionally set &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/69\\\/post\\\/sessions#request-recurringProcessingModel\\&quot; class=\\&quot;codeLabel external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;recurringProcessingModel&lt;\\\/a&gt;.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;p&gt;From v70 onwards, in  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/sessions\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/sessions&lt;\\\/a&gt; requests:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;You must set &lt;code&gt;storePaymentMethodMode&lt;\\\/code&gt; with one of the &lt;a href=\\&quot;#upgrading-to-v70\\&quot;&gt;possible values&lt;\\\/a&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;You must set &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/sessions#request-recurringProcessingModel\\&quot; class=\\&quot;codeLabel external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;recurringProcessingModel&lt;\\\/a&gt;. This parameter is now required.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;h4&gt;Upgrading to v70&lt;\\\/h4&gt;\\n&lt;p&gt;To upgrade, you need to update your front-end library to:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;Web &lt;a href=\\&quot;\\\/pt\\\/online-payments\\\/build-your-integration\\\/sessions-flow\\\/?platform=Web&amp;amp;integration=Drop-in\\&quot;&gt;Drop-in&lt;\\\/a&gt; and &lt;a href=\\&quot;\\\/pt\\\/online-payments\\\/build-your-integration\\\/sessions-flow?platform=Web&amp;amp;integration=Components\\&quot;&gt;Components&lt;\\\/a&gt; (v5.27.0 or newer)&lt;\\\/li&gt;\\n&lt;li&gt;iOS &lt;a href=\\&quot;\\\/pt\\\/online-payments\\\/build-your-integration\\\/sessions-flow?platform=iOS&amp;amp;integration=Drop-in\\&quot;&gt;Drop-in&lt;\\\/a&gt; and &lt;a href=\\&quot;\\\/pt\\\/online-payments\\\/build-your-integration\\\/sessions-flow?platform=iOS&amp;amp;integration=Components\\&quot;&gt;Components&lt;\\\/a&gt; (v5.0.0 or newer)&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;div class=\\&quot;sc-notice info\\&quot;&gt;&lt;div&gt;\\n&lt;p&gt;You need to update your frontend library to display the checkbox in your checkout for your customer to give consent to store their payment details.&lt;\\\/p&gt;\\n&lt;\\\/div&gt;&lt;\\\/div&gt;\\n&lt;p&gt;In the  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/sessions\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/sessions&lt;\\\/a&gt; request, &lt;code&gt;storePaymentMethodMode&lt;\\\/code&gt; has the following options:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th&gt;Value&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;strong&gt;disabled&lt;\\\/strong&gt;&lt;\\\/td&gt;\\n&lt;td&gt;Your shopper&#039;s payment details are &lt;em&gt;not&lt;\\\/em&gt; stored.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;strong&gt;askForConsent&lt;\\\/strong&gt;&lt;\\\/td&gt;\\n&lt;td&gt;The UI lets your shopper select whether they want their payment details to be stored.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;strong&gt;enabled&lt;\\\/strong&gt;&lt;\\\/td&gt;\\n&lt;td&gt;Your shopper&#039;s payment details are stored.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;p&gt;To store the payment details for a payment using the  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/sessions\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/sessions&lt;\\\/a&gt; endpoint:&lt;\\\/p&gt;\\n&lt;ol&gt;\\n&lt;li&gt;Set &lt;code&gt;storePaymentMethodMode&lt;\\\/code&gt; to &lt;strong&gt;askForConsent&lt;\\\/strong&gt; or &lt;strong&gt;enabled&lt;\\\/strong&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;Set a &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/sessions#request-fundRecipient-shopperReference\\&quot; class=\\&quot;codeLabel external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;shopperReference&lt;\\\/a&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;Set a &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/sessions#request-recurringProcessingModel\\&quot; class=\\&quot;codeLabel external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;recurringProcessingModel&lt;\\\/a&gt;. Previously, this was optional.&lt;\\\/li&gt;\\n&lt;\\\/ol&gt;\\n&lt;h3 id=\\&quot;advanced-flow-create-token\\&quot;&gt;Advanced flow&lt;\\\/h3&gt;\\n&lt;p&gt;&lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments#request-recurringProcessingModel\\&quot; class=\\&quot;codeLabel?classes=codeLabel external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\n  &lt;code&gt;recurringProcessingModel&lt;\\\/code&gt;\\n&lt;\\\/a&gt; is now &lt;em&gt;required&lt;\\\/em&gt; when storing a shopper&#039;s payment details.&lt;\\\/p&gt;\\n&lt;p&gt;To store the payment details for a &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments\\&quot; class=\\&quot;codeLabel external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\n  &lt;code&gt;\\\/payments&lt;\\\/code&gt;\\n&lt;\\\/a&gt; request:&lt;\\\/p&gt;\\n&lt;ol&gt;\\n&lt;li&gt;Set &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments#request-storePaymentMethod\\&quot; class=\\&quot;codeLabel external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\n  &lt;code&gt;storePaymentMethod&lt;\\\/code&gt;\\n&lt;\\\/a&gt; to &lt;strong&gt;true&lt;\\\/strong&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;Set a &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments#request-recurringProcessingModel\\&quot; class=\\&quot;codeLabel?classes=codeLabel external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\n  &lt;code&gt;recurringProcessingModel&lt;\\\/code&gt;\\n&lt;\\\/a&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;Set a &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments#request-shopperReference\\&quot; class=\\&quot;codeLabel external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\n  &lt;code&gt;shopperReference&lt;\\\/code&gt;\\n&lt;\\\/a&gt;.&lt;\\\/li&gt;\\n&lt;\\\/ol&gt;\\n&lt;p&gt;Optionally, to add a checkbox to the UI that lets your shopper select whether they want their payment details to be stored, in your &lt;a href=\\&quot;\\\/pt\\\/payment-methods\\\/cards\\\/web-drop-in#optional-configuration\\&quot;&gt;Drop-in configuration&lt;\\\/a&gt; or &lt;a href=\\&quot;\\\/pt\\\/payment-methods\\\/cards\\\/web-component#optional-configuration\\&quot;&gt;Component configuration&lt;\\\/a&gt;, set &lt;code&gt;enableStoreDetails&lt;\\\/code&gt; to &lt;strong&gt;true&lt;\\\/strong&gt;.&lt;\\\/p&gt;\\n&quot;,&quot;altTitle&quot;:&quot;drop-in-components&quot;,&quot;oldTabId&quot;:&quot;create-token-drop-in-components_1&quot;,&quot;relation&quot;:&quot;drop-in-components&quot;},{&quot;title&quot;:&quot;API-only&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;&lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments#request-recurringProcessingModel\\&quot; class=\\&quot;codeLabel?classes=codeLabel external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;recurringProcessingModel&lt;\\\/a&gt; is now &lt;em&gt;required&lt;\\\/em&gt; when storing a shopper&#039;s payment details.&lt;\\\/p&gt;\\n&lt;p&gt;To store the payment details for a  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/payments&lt;\\\/a&gt;  request:&lt;\\\/p&gt;\\n&lt;ol&gt;\\n&lt;li&gt;Set &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments#request-storePaymentMethod\\&quot; class=\\&quot;codeLabel external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;storePaymentMethod&lt;\\\/a&gt; to &lt;strong&gt;true&lt;\\\/strong&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;Set a &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments#request-recurringProcessingModel\\&quot; class=\\&quot;codeLabel?classes=codeLabel external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;recurringProcessingModel&lt;\\\/a&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;Set a &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments#request-shopperReference\\&quot; class=\\&quot;codeLabel external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;shopperReference&lt;\\\/a&gt;.&lt;\\\/li&gt;\\n&lt;\\\/ol&gt;\\n&quot;,&quot;altTitle&quot;:&quot;api-only&quot;,&quot;oldTabId&quot;:&quot;create-token-api-only_2&quot;,&quot;relation&quot;:&quot;api-only&quot;},{&quot;title&quot;:&quot;Pay by Link&quot;,&quot;content&quot;:&quot;\\n&lt;h3&gt;Pay by Link through API&lt;\\\/h3&gt;\\n&lt;p&gt;&lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/paymentLinks#request-recurringProcessingModel\\&quot; class=\\&quot;codeLabel?classes=codeLabel external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;recurringProcessingModel&lt;\\\/a&gt; is now &lt;em&gt;required&lt;\\\/em&gt; when storing a shopper&#039;s payment details.&lt;\\\/p&gt;\\n&lt;p&gt;To store the payment details for a &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/paymentLinks\\&quot; class=\\&quot;codeLabel external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/paymentLinks&lt;\\\/a&gt; request:&lt;\\\/p&gt;\\n&lt;ol&gt;\\n&lt;li&gt;Set &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/paymentLinks#request-storePaymentMethodMode\\&quot; class=\\&quot;codeLabel external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;storePaymentMethodMode&lt;\\\/a&gt; to &lt;strong&gt;askForConsent&lt;\\\/strong&gt; or &lt;strong&gt;enabled&lt;\\\/strong&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;Set a &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/paymentLinks#request-recurringProcessingModel\\&quot; class=\\&quot;codeLabel?classes=codeLabel external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;recurringProcessingModel&lt;\\\/a&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;Set a &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/paymentLinks#request-shopperReference\\&quot; class=\\&quot;codeLabel external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;shopperReference&lt;\\\/a&gt;.&lt;\\\/li&gt;\\n&lt;\\\/ol&gt;\\n&lt;h3&gt;Pay by Link through Customer Area&lt;\\\/h3&gt;\\n&lt;p&gt;To store the payment details for payment links created through the Customer Area:&lt;\\\/p&gt;\\n&lt;ol&gt;\\n&lt;li&gt;Log in to your &lt;a href=\\&quot;https:\\\/\\\/ca-test.adyen.com\\\/\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot; class=\\&quot;external-link no-image\\&quot;&gt;Customer Area&lt;\\\/a&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;Go to &lt;strong&gt;Pay by Link&lt;\\\/strong&gt; &amp;gt; &lt;strong&gt;Settings&lt;\\\/strong&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;Under &lt;strong&gt;Tokenization&lt;\\\/strong&gt;, turn on &lt;strong&gt;Recurring through Customer Area&lt;\\\/strong&gt;.&lt;\\\/li&gt;\\n&lt;\\\/ol&gt;\\n&quot;,&quot;altTitle&quot;:&quot;pay-by-link&quot;,&quot;oldTabId&quot;:&quot;create-token-pay-by-link_3&quot;,&quot;relation&quot;:&quot;pay-by-link&quot;}]\"\n            :should-update-when-url-changes='true'>\n        <\/tabs>\n    <\/div>\n<\/div>\n\n<h2>Use the token<\/h2>\n\n<div id=\"tabBQJb9\">\n    <div data-component-wrapper=\"tabs\">\n        <tabs\n                        :items=\"[{&quot;title&quot;:&quot;Drop-in or Components&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;To learn about the difference between Sessions flow and Advanced flow, see &lt;a href=\\&quot;\\\/pt\\\/online-payments\\\/build-your-integration\\&quot;&gt;Additional use cases&lt;\\\/a&gt;.&lt;\\\/p&gt;\\n&lt;h3 id=\\&quot;sessions-flow-create-token\\&quot;&gt;Sessions flow&lt;\\\/h3&gt;\\n&lt;p&gt;You do not need to make any changes to your integration.&lt;\\\/p&gt;\\n&lt;h3 id=\\&quot;advanced-flow-use-token\\&quot;&gt;Advanced flow&lt;\\\/h3&gt;\\n&lt;p&gt;&lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments#request-recurringProcessingModel\\&quot; class=\\&quot;codeLabel?classes=codeLabel external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\n  &lt;code&gt;recurringProcessingModel&lt;\\\/code&gt;\\n&lt;\\\/a&gt; is now &lt;em&gt;required&lt;\\\/em&gt; when you use a token to complete a recurring payment. Previously, this was optional.&lt;\\\/p&gt;\\n&quot;,&quot;altTitle&quot;:&quot;drop-in-components&quot;,&quot;oldTabId&quot;:&quot;use-token-drop-in-components_1&quot;,&quot;relation&quot;:&quot;drop-in-components&quot;},{&quot;title&quot;:&quot;API-only&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;&lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments#request-recurringProcessingModel\\&quot; class=\\&quot;codeLabel?classes=codeLabel external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\n  &lt;code&gt;recurringProcessingModel&lt;\\\/code&gt;\\n&lt;\\\/a&gt; is now &lt;em&gt;required&lt;\\\/em&gt; when you use a token to complete a recurring payment. Previously, this was optional.&lt;\\\/p&gt;\\n&quot;,&quot;altTitle&quot;:&quot;api-only&quot;,&quot;oldTabId&quot;:&quot;use-token-api-only_2&quot;,&quot;relation&quot;:&quot;api-only&quot;},{&quot;title&quot;:&quot;Pay by Link&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;You do not need to make any changes to your integration.&lt;\\\/p&gt;\\n&quot;,&quot;altTitle&quot;:&quot;pay-by-link&quot;,&quot;oldTabId&quot;:&quot;use-token-pay-by-link_3&quot;,&quot;relation&quot;:&quot;pay-by-link&quot;}]\"\n            :should-update-when-url-changes='true'>\n        <\/tabs>\n    <\/div>\n<\/div>\n\n<h2>Include line items for risk rules<\/h2>\n<p>In Checkout API v70, you can <a href=\"\/pt\/risk-management\/configure-manual-risk\/configure-custom-risk-rules\">configure custom risk rules<\/a> for items using the <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-lineItems\" class=\"codeLabel external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">lineItems<\/a> fields instead of <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/69\/post\/payments#request-additionalData-AdditionalDataRisk\" class=\"codeLabel external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">additionalData.riskdata.basket<\/a>.<\/p>\n<table>\n<thead>\n<tr>\n<th>v70 or later<\/th>\n<th>v69 or earlier<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>description<\/code><\/td>\n<td><code>item.productTitle<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>amountIncludingTax<\/code><\/td>\n<td><code>item.amountPerItem<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>itemCategory<\/code><\/td>\n<td><code>item.category<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>quantity<\/code><\/td>\n<td><code>item.quantity<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>id<\/code><\/td>\n<td><code>item.id<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>color<\/code><\/td>\n<td><code>item.color<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>brand<\/code><\/td>\n<td><code>item.brand<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>manufacturer<\/code><\/td>\n<td><code>item.manufacturer<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>receiverEmail<\/code><\/td>\n<td><code>item.receiverEmail<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>size<\/code><\/td>\n<td><code>item.size<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>sku<\/code><\/td>\n<td><code>item.sku<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>upc<\/code><\/td>\n<td><code>item.upc<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>For example, to include two items with product title, category, and brand in your payment request:<\/p>\n\n<div id=\"tabSbUdr\">\n    <div data-component-wrapper=\"tabs\">\n        <tabs\n                        :items=\"[{&quot;title&quot;:&quot;v70&quot;,&quot;content&quot;:&quot;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n    &lt;code-sample :title=\\&quot;&#039;Payment request with line items&#039;\\&quot; :id=\\&quot;&#039;payment-request-with-line-items-9166036886&#039;\\&quot; :code-data=\\&quot;[{&amp;quot;language&amp;quot;:&amp;quot;bash&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;curl&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;curl https:\\\\\\\/\\\\\\\/checkout-test.adyen.com\\\\\\\/v70\\\\\\\/payments \\\\\\\\\\\\n-H &#039;x-api-key: ADYEN_API_KEY&#039; \\\\\\\\\\\\n-H &#039;content-type: application\\\\\\\/json&#039; \\\\\\\\\\\\n-d &#039;{\\\\n  \\\\&amp;quot;merchantAccount\\\\&amp;quot;: \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  \\\\&amp;quot;reference\\\\&amp;quot;: \\\\&amp;quot;YOUR_PAYMENT_REFERENCE\\\\&amp;quot;,\\\\n  \\\\&amp;quot;amount\\\\&amp;quot;: {\\\\n    \\\\&amp;quot;value\\\\&amp;quot;: 1000,\\\\n    \\\\&amp;quot;currency\\\\&amp;quot;: \\\\&amp;quot;EUR\\\\&amp;quot;\\\\n  },\\\\n  \\\\&amp;quot;paymentMethod\\\\&amp;quot;: {\\\\n    \\\\&amp;quot;type\\\\&amp;quot;: \\\\&amp;quot;scheme\\\\&amp;quot;,\\\\n    \\\\&amp;quot;encryptedCardNumber\\\\&amp;quot;: \\\\&amp;quot;test_4111111111111111\\\\&amp;quot;,\\\\n    \\\\&amp;quot;encryptedExpiryMonth\\\\&amp;quot;: \\\\&amp;quot;test_03\\\\&amp;quot;,\\\\n    \\\\&amp;quot;encryptedExpiryYear\\\\&amp;quot;: \\\\&amp;quot;test_2030\\\\&amp;quot;,\\\\n    \\\\&amp;quot;encryptedSecurityCode\\\\&amp;quot;: \\\\&amp;quot;test_737\\\\&amp;quot;\\\\n  },\\\\n  \\\\&amp;quot;lineItems\\\\&amp;quot;:[\\\\n    {\\\\n      \\\\&amp;quot;description\\\\&amp;quot;: \\\\&amp;quot;Gold shoes\\\\&amp;quot;,\\\\n      \\\\&amp;quot;category\\\\&amp;quot;: \\\\&amp;quot;Footwear\\\\&amp;quot;,\\\\n      \\\\&amp;quot;brand\\\\&amp;quot;: \\\\&amp;quot;Adyen\\\\&amp;quot;\\\\n    },\\\\n    {\\\\n      \\\\&amp;quot;description\\\\&amp;quot;: \\\\&amp;quot;Gold hat\\\\&amp;quot;,\\\\n      \\\\&amp;quot;category\\\\&amp;quot;: \\\\&amp;quot;Accessories\\\\&amp;quot;,\\\\n      \\\\&amp;quot;brand\\\\&amp;quot;: \\\\&amp;quot;Adyen\\\\&amp;quot;\\\\n    }\\\\n  ]\\\\n}&#039;&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;java&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Java&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Java API Library v26.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, additionally include your liveEndpointUrlPrefix.\\\\nClient client = new Client(\\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;, Environment.TEST);\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nLineItem lineItem1 = new LineItem()\\\\n  .description(\\\\&amp;quot;Gold shoes\\\\&amp;quot;)\\\\n  .brand(\\\\&amp;quot;Adyen\\\\&amp;quot;);\\\\n\\\\nLineItem lineItem2 = new LineItem()\\\\n  .description(\\\\&amp;quot;Gold hat\\\\&amp;quot;)\\\\n  .brand(\\\\&amp;quot;Adyen\\\\&amp;quot;);\\\\n\\\\nAmount amount = new Amount()\\\\n  .currency(\\\\&amp;quot;EUR\\\\&amp;quot;)\\\\n  .value(1000L);\\\\n\\\\nCardDetails cardDetails = new CardDetails()\\\\n  .encryptedCardNumber(\\\\&amp;quot;test_4111111111111111\\\\&amp;quot;)\\\\n  .encryptedSecurityCode(\\\\&amp;quot;test_737\\\\&amp;quot;)\\\\n  .encryptedExpiryYear(\\\\&amp;quot;test_2030\\\\&amp;quot;)\\\\n  .encryptedExpiryMonth(\\\\&amp;quot;test_03\\\\&amp;quot;)\\\\n  .type(CardDetails.TypeEnum.SCHEME);\\\\n\\\\nPaymentRequest paymentRequest = new PaymentRequest()\\\\n  .reference(\\\\&amp;quot;YOUR_PAYMENT_REFERENCE\\\\&amp;quot;)\\\\n  .lineItems(Arrays.asList(lineItem1, lineItem2))\\\\n  .amount(amount)\\\\n  .merchantAccount(\\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;)\\\\n  .paymentMethod(new CheckoutPaymentMethod(cardDetails));\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nPaymentsApi service = new PaymentsApi(client);\\\\nPaymentResponse response = service.payments(paymentRequest, new RequestOptions().idempotencyKey(\\\\&amp;quot;UUID\\\\&amp;quot;));&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;php&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;PHP&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen PHP API Library v18.2.1\\\\nuse Adyen\\\\\\\\Client;\\\\nuse Adyen\\\\\\\\Environment;\\\\nuse Adyen\\\\\\\\Model\\\\\\\\Checkout\\\\\\\\LineItem;\\\\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-&amp;gt;setXApiKey(\\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;);\\\\n\\\\\\\/\\\\\\\/ For the live environment, additionally include your liveEndpointUrlPrefix.\\\\n$client-&amp;gt;setEnvironment(Environment::TEST);\\\\n\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\n$lineItem1 = new LineItem();\\\\n$lineItem1\\\\n  -&amp;gt;setDescription(\\\\&amp;quot;Gold shoes\\\\&amp;quot;)\\\\n  -&amp;gt;setBrand(\\\\&amp;quot;Adyen\\\\&amp;quot;);\\\\n\\\\n$lineItem2 = new LineItem();\\\\n$lineItem2\\\\n  -&amp;gt;setDescription(\\\\&amp;quot;Gold hat\\\\&amp;quot;)\\\\n  -&amp;gt;setBrand(\\\\&amp;quot;Adyen\\\\&amp;quot;);\\\\n\\\\n$amount = new Amount();\\\\n$amount\\\\n  -&amp;gt;setCurrency(\\\\&amp;quot;EUR\\\\&amp;quot;)\\\\n  -&amp;gt;setValue(1000);\\\\n\\\\n$checkoutPaymentMethod = new CheckoutPaymentMethod();\\\\n$checkoutPaymentMethod\\\\n  -&amp;gt;setEncryptedCardNumber(\\\\&amp;quot;test_4111111111111111\\\\&amp;quot;)\\\\n  -&amp;gt;setEncryptedSecurityCode(\\\\&amp;quot;test_737\\\\&amp;quot;)\\\\n  -&amp;gt;setEncryptedExpiryYear(\\\\&amp;quot;test_2030\\\\&amp;quot;)\\\\n  -&amp;gt;setEncryptedExpiryMonth(\\\\&amp;quot;test_03\\\\&amp;quot;)\\\\n  -&amp;gt;setType(\\\\&amp;quot;scheme\\\\&amp;quot;);\\\\n\\\\n$paymentRequest = new PaymentRequest();\\\\n$paymentRequest\\\\n  -&amp;gt;setReference(\\\\&amp;quot;YOUR_PAYMENT_REFERENCE\\\\&amp;quot;)\\\\n  -&amp;gt;setLineItems(array($lineItem1, $lineItem2))\\\\n  -&amp;gt;setAmount($amount)\\\\n  -&amp;gt;setMerchantAccount(\\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;)\\\\n  -&amp;gt;setPaymentMethod($checkoutPaymentMethod);\\\\n\\\\n$requestOptions[&#039;idempotencyKey&#039;] = &#039;UUID&#039;;\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\n$service = new PaymentsApi($client);\\\\n$response = $service-&amp;gt;payments($paymentRequest, $requestOptions);&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;cs&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;C#&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen .net API Library v17.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, additionally include your liveEndpointUrlPrefix.\\\\nvar config = new Config()\\\\n{\\\\n    XApiKey = \\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;,\\\\n    Environment = Environment.Test\\\\n};\\\\nvar client = new Client(config);\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nLineItem lineItem1 = new LineItem\\\\n{\\\\n  Description = \\\\&amp;quot;Gold shoes\\\\&amp;quot;,\\\\n  Brand = \\\\&amp;quot;Adyen\\\\&amp;quot;\\\\n};\\\\n\\\\nLineItem lineItem2 = new LineItem\\\\n{\\\\n  Description = \\\\&amp;quot;Gold hat\\\\&amp;quot;,\\\\n  Brand = \\\\&amp;quot;Adyen\\\\&amp;quot;\\\\n};\\\\n\\\\nAmount amount = new Amount\\\\n{\\\\n  Currency = \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n  Value = 1000\\\\n};\\\\n\\\\nCardDetails cardDetails = new CardDetails\\\\n{\\\\n  EncryptedCardNumber = \\\\&amp;quot;test_4111111111111111\\\\&amp;quot;,\\\\n  EncryptedSecurityCode = \\\\&amp;quot;test_737\\\\&amp;quot;,\\\\n  EncryptedExpiryYear = \\\\&amp;quot;test_2030\\\\&amp;quot;,\\\\n  EncryptedExpiryMonth = \\\\&amp;quot;test_03\\\\&amp;quot;,\\\\n  Type = CardDetails.TypeEnum.Scheme\\\\n};\\\\n\\\\nPaymentRequest paymentRequest = new PaymentRequest\\\\n{\\\\n  Reference = \\\\&amp;quot;YOUR_PAYMENT_REFERENCE\\\\&amp;quot;,\\\\n  LineItems = new List&amp;lt;LineItem&amp;gt;{ lineItem1, lineItem2 },\\\\n  Amount = amount,\\\\n  MerchantAccount = \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  PaymentMethod = new CheckoutPaymentMethod(cardDetails)\\\\n};\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nvar service = new PaymentsService(client);\\\\nvar response = service.Payments(paymentRequest, requestOptions: new RequestOptions { IdempotencyKey = \\\\&amp;quot;UUID\\\\&amp;quot;});&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;js&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;NodeJS (JavaScript)&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Node API Library v17.3.0\\\\n\\\\\\\/\\\\\\\/ Require the parts of the module you want to use\\\\nconst { Client, CheckoutAPI } = require(&#039;@adyen\\\\\\\/api-library&#039;);\\\\n\\\\\\\/\\\\\\\/ Initialize the client object\\\\n\\\\\\\/\\\\\\\/ For the live environment, additionally include your liveEndpointUrlPrefix.\\\\nconst client = new Client({apiKey: \\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;, environment: \\\\&amp;quot;TEST\\\\&amp;quot;});\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nconst paymentRequest = {\\\\n  merchantAccount: \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  reference: \\\\&amp;quot;YOUR_PAYMENT_REFERENCE\\\\&amp;quot;,\\\\n  amount: {\\\\n    value: 1000,\\\\n    currency: \\\\&amp;quot;EUR\\\\&amp;quot;\\\\n  },\\\\n  paymentMethod: {\\\\n    type: \\\\&amp;quot;scheme\\\\&amp;quot;,\\\\n    encryptedCardNumber: \\\\&amp;quot;test_4111111111111111\\\\&amp;quot;,\\\\n    encryptedExpiryMonth: \\\\&amp;quot;test_03\\\\&amp;quot;,\\\\n    encryptedExpiryYear: \\\\&amp;quot;test_2030\\\\&amp;quot;,\\\\n    encryptedSecurityCode: \\\\&amp;quot;test_737\\\\&amp;quot;\\\\n  },\\\\n  lineItems: [ {\\\\n    description: \\\\&amp;quot;Gold shoes\\\\&amp;quot;,\\\\n    category: \\\\&amp;quot;Footwear\\\\&amp;quot;,\\\\n    brand: \\\\&amp;quot;Adyen\\\\&amp;quot;\\\\n  }, {\\\\n    description: \\\\&amp;quot;Gold hat\\\\&amp;quot;,\\\\n    category: \\\\&amp;quot;Accessories\\\\&amp;quot;,\\\\n    brand: \\\\&amp;quot;Adyen\\\\&amp;quot;\\\\n  } ]\\\\n}\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nconst checkoutAPI = new CheckoutAPI(client);\\\\nconst response = checkoutAPI.PaymentsApi.payments(paymentRequest, { idempotencyKey: \\\\&amp;quot;UUID\\\\&amp;quot; });&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;go&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Go&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Go API Library v10.4.0\\\\nimport (\\\\n  \\\\&amp;quot;context\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v9\\\\\\\/src\\\\\\\/common\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v9\\\\\\\/src\\\\\\\/adyen\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v9\\\\\\\/src\\\\\\\/checkout\\\\&amp;quot;\\\\n)\\\\n\\\\\\\/\\\\\\\/ For the live environment, additionally include your liveEndpointUrlPrefix.\\\\nclient := adyen.NewClient(&amp;amp;common.Config{\\\\n  ApiKey:      \\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;,\\\\n  Environment: common.TestEnv,\\\\n})\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nlineItem1 := checkout.LineItem{\\\\n  Description: common.PtrString(\\\\&amp;quot;Gold shoes\\\\&amp;quot;),\\\\n  Brand: common.PtrString(\\\\&amp;quot;Adyen\\\\&amp;quot;),\\\\n}\\\\n\\\\nlineItem2 := checkout.LineItem{\\\\n  Description: common.PtrString(\\\\&amp;quot;Gold hat\\\\&amp;quot;),\\\\n  Brand: common.PtrString(\\\\&amp;quot;Adyen\\\\&amp;quot;),\\\\n}\\\\n\\\\namount := checkout.Amount{\\\\n  Currency: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n  Value: 1000,\\\\n}\\\\n\\\\ncardDetails := checkout.CardDetails{\\\\n  EncryptedCardNumber: common.PtrString(\\\\&amp;quot;test_4111111111111111\\\\&amp;quot;),\\\\n  EncryptedSecurityCode: common.PtrString(\\\\&amp;quot;test_737\\\\&amp;quot;),\\\\n  EncryptedExpiryYear: common.PtrString(\\\\&amp;quot;test_2030\\\\&amp;quot;),\\\\n  EncryptedExpiryMonth: common.PtrString(\\\\&amp;quot;test_03\\\\&amp;quot;),\\\\n  Type: common.PtrString(\\\\&amp;quot;scheme\\\\&amp;quot;),\\\\n}\\\\n\\\\npaymentRequest := checkout.PaymentRequest{\\\\n  Reference: \\\\&amp;quot;YOUR_PAYMENT_REFERENCE\\\\&amp;quot;,\\\\n  LineItems: []checkout.LineItem{\\\\n      lineItem1, lineItem2,\\\\n  },\\\\n  Amount: amount,\\\\n  MerchantAccount: \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  PaymentMethod: checkout.CardDetailsAsCheckoutPaymentMethod(&amp;amp;cardDetails),\\\\n}\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nservice := client.Checkout()\\\\nreq := service.PaymentsApi.PaymentsInput().IdempotencyKey(\\\\&amp;quot;UUID\\\\&amp;quot;).PaymentRequest(paymentRequest)\\\\nres, httpRes, err := service.PaymentsApi.Payments(context.Background(), req)&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;py&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Python&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;# Adyen Python API Library v12.5.1\\\\nimport Adyen\\\\n\\\\nadyen = Adyen.Adyen()\\\\nadyen.client.xapikey = \\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;\\\\n# For the live environment, additionally include your liveEndpointUrlPrefix.\\\\nadyen.client.platform = \\\\&amp;quot;test\\\\&amp;quot; # The environment to use library in.\\\\n\\\\n# Create the request object(s)\\\\njson_request = {\\\\n  \\\\&amp;quot;merchantAccount\\\\&amp;quot;: \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  \\\\&amp;quot;reference\\\\&amp;quot;: \\\\&amp;quot;YOUR_PAYMENT_REFERENCE\\\\&amp;quot;,\\\\n  \\\\&amp;quot;amount\\\\&amp;quot;: {\\\\n    \\\\&amp;quot;value\\\\&amp;quot;: 1000,\\\\n    \\\\&amp;quot;currency\\\\&amp;quot;: \\\\&amp;quot;EUR\\\\&amp;quot;\\\\n  },\\\\n  \\\\&amp;quot;paymentMethod\\\\&amp;quot;: {\\\\n    \\\\&amp;quot;type\\\\&amp;quot;: \\\\&amp;quot;scheme\\\\&amp;quot;,\\\\n    \\\\&amp;quot;encryptedCardNumber\\\\&amp;quot;: \\\\&amp;quot;test_4111111111111111\\\\&amp;quot;,\\\\n    \\\\&amp;quot;encryptedExpiryMonth\\\\&amp;quot;: \\\\&amp;quot;test_03\\\\&amp;quot;,\\\\n    \\\\&amp;quot;encryptedExpiryYear\\\\&amp;quot;: \\\\&amp;quot;test_2030\\\\&amp;quot;,\\\\n    \\\\&amp;quot;encryptedSecurityCode\\\\&amp;quot;: \\\\&amp;quot;test_737\\\\&amp;quot;\\\\n  },\\\\n  \\\\&amp;quot;lineItems\\\\&amp;quot;: [ {\\\\n    \\\\&amp;quot;description\\\\&amp;quot;: \\\\&amp;quot;Gold shoes\\\\&amp;quot;,\\\\n    \\\\&amp;quot;category\\\\&amp;quot;: \\\\&amp;quot;Footwear\\\\&amp;quot;,\\\\n    \\\\&amp;quot;brand\\\\&amp;quot;: \\\\&amp;quot;Adyen\\\\&amp;quot;\\\\n  }, {\\\\n    \\\\&amp;quot;description\\\\&amp;quot;: \\\\&amp;quot;Gold hat\\\\&amp;quot;,\\\\n    \\\\&amp;quot;category\\\\&amp;quot;: \\\\&amp;quot;Accessories\\\\&amp;quot;,\\\\n    \\\\&amp;quot;brand\\\\&amp;quot;: \\\\&amp;quot;Adyen\\\\&amp;quot;\\\\n  } ]\\\\n}\\\\n\\\\n# Send the request\\\\nresult = adyen.checkout.payments_api.payments(request=json_request, idempotency_key=\\\\&amp;quot;UUID\\\\&amp;quot;)&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;rb&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Ruby&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;# Adyen Ruby API Library v9.5.1\\\\nrequire \\\\&amp;quot;adyen-ruby-api-library\\\\&amp;quot;\\\\n\\\\nadyen = Adyen::Client.new\\\\nadyen.api_key = &#039;ADYEN_API_KEY&#039;\\\\n# For the live environment, additionally include your liveEndpointUrlPrefix.\\\\nadyen.env = :test # Set to \\\\&amp;quot;live\\\\&amp;quot; for live environment\\\\n\\\\n# Create the request object(s)\\\\nrequest_body = {\\\\n  :merchantAccount =&amp;gt; &#039;YOUR_MERCHANT_ACCOUNT&#039;,\\\\n  :reference =&amp;gt; &#039;YOUR_PAYMENT_REFERENCE&#039;,\\\\n  :amount =&amp;gt; {\\\\n    :value =&amp;gt; 1000,\\\\n    :currency =&amp;gt; &#039;EUR&#039;\\\\n  },\\\\n  :paymentMethod =&amp;gt; {\\\\n    :type =&amp;gt; &#039;scheme&#039;,\\\\n    :encryptedCardNumber =&amp;gt; &#039;test_4111111111111111&#039;,\\\\n    :encryptedExpiryMonth =&amp;gt; &#039;test_03&#039;,\\\\n    :encryptedExpiryYear =&amp;gt; &#039;test_2030&#039;,\\\\n    :encryptedSecurityCode =&amp;gt; &#039;test_737&#039;\\\\n  },\\\\n  :lineItems =&amp;gt; [ {\\\\n    :description =&amp;gt; &#039;Gold shoes&#039;,\\\\n    :category =&amp;gt; &#039;Footwear&#039;,\\\\n    :brand =&amp;gt; &#039;Adyen&#039;\\\\n  }, {\\\\n    :description =&amp;gt; &#039;Gold hat&#039;,\\\\n    :category =&amp;gt; &#039;Accessories&#039;,\\\\n    :brand =&amp;gt; &#039;Adyen&#039;\\\\n  } ]\\\\n}\\\\n\\\\n# Send the request\\\\nresult = adyen.checkout.payments_api.payments(request_body, headers: { &#039;Idempotency-Key&#039; =&amp;gt; &#039;UUID&#039; })&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;ts&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;NodeJS (TypeScript)&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Node API Library v17.3.0\\\\n\\\\\\\/\\\\\\\/ Require the parts of the module you want to use\\\\nimport { Client, CheckoutAPI, Types } from \\\\&amp;quot;@adyen\\\\\\\/api-library\\\\&amp;quot;;\\\\n\\\\\\\/\\\\\\\/ Initialize the client object\\\\n\\\\\\\/\\\\\\\/ For the live environment, additionally include your liveEndpointUrlPrefix.\\\\nconst client = new Client({apiKey: \\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;, environment: \\\\&amp;quot;TEST\\\\&amp;quot;});\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nconst lineItem1: Types.checkout.LineItem = {\\\\n  description: \\\\&amp;quot;Gold shoes\\\\&amp;quot;,\\\\n  brand: \\\\&amp;quot;Adyen\\\\&amp;quot;\\\\n};\\\\n\\\\nconst lineItem2: Types.checkout.LineItem = {\\\\n  description: \\\\&amp;quot;Gold hat\\\\&amp;quot;,\\\\n  brand: \\\\&amp;quot;Adyen\\\\&amp;quot;\\\\n};\\\\n\\\\nconst amount: Types.checkout.Amount = {\\\\n  currency: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n  value: 1000\\\\n};\\\\n\\\\nconst cardDetails: Types.checkout.CardDetails = {\\\\n  encryptedCardNumber: \\\\&amp;quot;test_4111111111111111\\\\&amp;quot;,\\\\n  encryptedSecurityCode: \\\\&amp;quot;test_737\\\\&amp;quot;,\\\\n  encryptedExpiryYear: \\\\&amp;quot;test_2030\\\\&amp;quot;,\\\\n  encryptedExpiryMonth: \\\\&amp;quot;test_03\\\\&amp;quot;,\\\\n  type: Types.checkout.CardDetails.TypeEnum.Scheme\\\\n};\\\\n\\\\nconst paymentRequest: Types.checkout.PaymentRequest = {\\\\n  reference: \\\\&amp;quot;YOUR_PAYMENT_REFERENCE\\\\&amp;quot;,\\\\n  lineItems: [lineItem1, lineItem2],\\\\n  amount: amount,\\\\n  merchantAccount: \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  paymentMethod: cardDetails\\\\n};\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nconst checkoutAPI = new CheckoutAPI(client);\\\\nconst response = checkoutAPI.PaymentsApi.payments(paymentRequest, { idempotencyKey: \\\\&amp;quot;UUID\\\\&amp;quot; });&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;:null,&quot;oldTabId&quot;:&quot;v70_0_1&quot;,&quot;relation&quot;:&quot;&quot;},{&quot;title&quot;:&quot;v69&quot;,&quot;content&quot;:&quot;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n    &lt;code-sample :title=\\&quot;&#039;Payment request with additional data for risk&#039;\\&quot; :id=\\&quot;&#039;payment-request-with-additional-data-for-risk-1806500118&#039;\\&quot; :code-data=\\&quot;[{&amp;quot;language&amp;quot;:&amp;quot;bash&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;curl&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;curl https:\\\\\\\/\\\\\\\/checkout-test.adyen.com\\\\\\\/v70\\\\\\\/payments \\\\\\\\\\\\n-H &#039;x-api-key: ADYEN_API_KEY&#039; \\\\\\\\\\\\n-H &#039;content-type: application\\\\\\\/json&#039; \\\\\\\\\\\\n-d &#039;{\\\\n  \\\\&amp;quot;merchantAccount\\\\&amp;quot;: \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  \\\\&amp;quot;reference\\\\&amp;quot;: \\\\&amp;quot;YOUR_PAYMENT_REFERENCE\\\\&amp;quot;,\\\\n  \\\\&amp;quot;amount\\\\&amp;quot;: {\\\\n    \\\\&amp;quot;value\\\\&amp;quot;: 1000,\\\\n    \\\\&amp;quot;currency\\\\&amp;quot;: \\\\&amp;quot;EUR\\\\&amp;quot;\\\\n  },\\\\n  \\\\&amp;quot;paymentMethod\\\\&amp;quot;: {\\\\n    \\\\&amp;quot;type\\\\&amp;quot;: \\\\&amp;quot;scheme\\\\&amp;quot;,\\\\n    \\\\&amp;quot;encryptedCardNumber\\\\&amp;quot;: \\\\&amp;quot;test_4111111111111111\\\\&amp;quot;,\\\\n    \\\\&amp;quot;encryptedExpiryMonth\\\\&amp;quot;: \\\\&amp;quot;test_03\\\\&amp;quot;,\\\\n    \\\\&amp;quot;encryptedExpiryYear\\\\&amp;quot;: \\\\&amp;quot;test_2030\\\\&amp;quot;,\\\\n    \\\\&amp;quot;encryptedSecurityCode\\\\&amp;quot;: \\\\&amp;quot;test_737\\\\&amp;quot;\\\\n  },\\\\n  \\\\&amp;quot;additionalData\\\\&amp;quot;:{\\\\n    \\\\&amp;quot;riskdata.basket.item1.productTitle\\\\&amp;quot;: \\\\&amp;quot;Gold shoes\\\\&amp;quot;,\\\\n    \\\\&amp;quot;riskdata.basket.item1.category\\\\&amp;quot;: \\\\&amp;quot;Footwear\\\\&amp;quot;,\\\\n    \\\\&amp;quot;riskdata.basket.item1.brand\\\\&amp;quot;: \\\\&amp;quot;Adyen\\\\&amp;quot;,\\\\n    \\\\&amp;quot;riskdata.basket.item2.productTitle\\\\&amp;quot;: \\\\&amp;quot;Gold hat\\\\&amp;quot;,\\\\n    \\\\&amp;quot;riskdata.basket.item2.category\\\\&amp;quot;: \\\\&amp;quot;Accessories\\\\&amp;quot;,\\\\n    \\\\&amp;quot;riskdata.basket.item2.brand\\\\&amp;quot;: \\\\&amp;quot;Adyen\\\\&amp;quot;\\\\n  }\\\\n}&#039;&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;java&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Java&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Java API Library v26.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, additionally include your liveEndpointUrlPrefix.\\\\nClient client = new Client(\\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;, Environment.TEST);\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nAmount amount = new Amount()\\\\n  .currency(\\\\&amp;quot;EUR\\\\&amp;quot;)\\\\n  .value(1000L);\\\\n\\\\nCardDetails cardDetails = new CardDetails()\\\\n  .encryptedCardNumber(\\\\&amp;quot;test_4111111111111111\\\\&amp;quot;)\\\\n  .encryptedSecurityCode(\\\\&amp;quot;test_737\\\\&amp;quot;)\\\\n  .encryptedExpiryYear(\\\\&amp;quot;test_2030\\\\&amp;quot;)\\\\n  .encryptedExpiryMonth(\\\\&amp;quot;test_03\\\\&amp;quot;)\\\\n  .type(CardDetails.TypeEnum.SCHEME);\\\\n\\\\nPaymentRequest paymentRequest = new PaymentRequest()\\\\n  .reference(\\\\&amp;quot;YOUR_PAYMENT_REFERENCE\\\\&amp;quot;)\\\\n  .amount(amount)\\\\n  .merchantAccount(\\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;)\\\\n  .paymentMethod(new CheckoutPaymentMethod(cardDetails))\\\\n  .additionalData(new HashMap&amp;lt;String, String&amp;gt;(Map.of(\\\\n    \\\\&amp;quot;riskdata.basket.item1.category\\\\&amp;quot;, \\\\&amp;quot;Footwear\\\\&amp;quot;,\\\\n    \\\\&amp;quot;riskdata.basket.item1.productTitle\\\\&amp;quot;, \\\\&amp;quot;Gold shoes\\\\&amp;quot;,\\\\n    \\\\&amp;quot;riskdata.basket.item2.brand\\\\&amp;quot;, \\\\&amp;quot;Adyen\\\\&amp;quot;,\\\\n    \\\\&amp;quot;riskdata.basket.item1.brand\\\\&amp;quot;, \\\\&amp;quot;Adyen\\\\&amp;quot;,\\\\n    \\\\&amp;quot;riskdata.basket.item2.productTitle\\\\&amp;quot;, \\\\&amp;quot;Gold hat\\\\&amp;quot;,\\\\n    \\\\&amp;quot;riskdata.basket.item2.category\\\\&amp;quot;, \\\\&amp;quot;Accessories\\\\&amp;quot;\\\\n  )));\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nPaymentsApi service = new PaymentsApi(client);\\\\nPaymentResponse response = service.payments(paymentRequest, new RequestOptions().idempotencyKey(\\\\&amp;quot;UUID\\\\&amp;quot;));&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;php&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;PHP&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen PHP API Library v18.2.1\\\\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-&amp;gt;setXApiKey(\\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;);\\\\n\\\\\\\/\\\\\\\/ For the live environment, additionally include your liveEndpointUrlPrefix.\\\\n$client-&amp;gt;setEnvironment(Environment::TEST);\\\\n\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\n$amount = new Amount();\\\\n$amount\\\\n  -&amp;gt;setCurrency(\\\\&amp;quot;EUR\\\\&amp;quot;)\\\\n  -&amp;gt;setValue(1000);\\\\n\\\\n$checkoutPaymentMethod = new CheckoutPaymentMethod();\\\\n$checkoutPaymentMethod\\\\n  -&amp;gt;setEncryptedCardNumber(\\\\&amp;quot;test_4111111111111111\\\\&amp;quot;)\\\\n  -&amp;gt;setEncryptedSecurityCode(\\\\&amp;quot;test_737\\\\&amp;quot;)\\\\n  -&amp;gt;setEncryptedExpiryYear(\\\\&amp;quot;test_2030\\\\&amp;quot;)\\\\n  -&amp;gt;setEncryptedExpiryMonth(\\\\&amp;quot;test_03\\\\&amp;quot;)\\\\n  -&amp;gt;setType(\\\\&amp;quot;scheme\\\\&amp;quot;);\\\\n\\\\n$paymentRequest = new PaymentRequest();\\\\n$paymentRequest\\\\n  -&amp;gt;setReference(\\\\&amp;quot;YOUR_PAYMENT_REFERENCE\\\\&amp;quot;)\\\\n  -&amp;gt;setAmount($amount)\\\\n  -&amp;gt;setMerchantAccount(\\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;)\\\\n  -&amp;gt;setPaymentMethod($checkoutPaymentMethod)\\\\n  -&amp;gt;setAdditionalData(\\\\n    array(\\\\n      \\\\&amp;quot;riskdata.basket.item1.category\\\\&amp;quot; =&amp;gt; \\\\&amp;quot;Footwear\\\\&amp;quot;,\\\\n      \\\\&amp;quot;riskdata.basket.item1.productTitle\\\\&amp;quot; =&amp;gt; \\\\&amp;quot;Gold shoes\\\\&amp;quot;,\\\\n      \\\\&amp;quot;riskdata.basket.item2.brand\\\\&amp;quot; =&amp;gt; \\\\&amp;quot;Adyen\\\\&amp;quot;,\\\\n      \\\\&amp;quot;riskdata.basket.item1.brand\\\\&amp;quot; =&amp;gt; \\\\&amp;quot;Adyen\\\\&amp;quot;,\\\\n      \\\\&amp;quot;riskdata.basket.item2.productTitle\\\\&amp;quot; =&amp;gt; \\\\&amp;quot;Gold hat\\\\&amp;quot;,\\\\n      \\\\&amp;quot;riskdata.basket.item2.category\\\\&amp;quot; =&amp;gt; \\\\&amp;quot;Accessories\\\\&amp;quot;\\\\n    )\\\\n  );\\\\n\\\\n$requestOptions[&#039;idempotencyKey&#039;] = &#039;UUID&#039;;\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\n$service = new PaymentsApi($client);\\\\n$response = $service-&amp;gt;payments($paymentRequest, $requestOptions);&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;cs&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;C#&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen .net API Library v17.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, additionally include your liveEndpointUrlPrefix.\\\\nvar config = new Config()\\\\n{\\\\n    XApiKey = \\\\&amp;quot;ADYEN_API_KEY\\\\&amp;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 = \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n  Value = 1000\\\\n};\\\\n\\\\nCardDetails cardDetails = new CardDetails\\\\n{\\\\n  EncryptedCardNumber = \\\\&amp;quot;test_4111111111111111\\\\&amp;quot;,\\\\n  EncryptedSecurityCode = \\\\&amp;quot;test_737\\\\&amp;quot;,\\\\n  EncryptedExpiryYear = \\\\&amp;quot;test_2030\\\\&amp;quot;,\\\\n  EncryptedExpiryMonth = \\\\&amp;quot;test_03\\\\&amp;quot;,\\\\n  Type = CardDetails.TypeEnum.Scheme\\\\n};\\\\n\\\\nPaymentRequest paymentRequest = new PaymentRequest\\\\n{\\\\n  Reference = \\\\&amp;quot;YOUR_PAYMENT_REFERENCE\\\\&amp;quot;,\\\\n  Amount = amount,\\\\n  MerchantAccount = \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  PaymentMethod = new CheckoutPaymentMethod(cardDetails),\\\\n  AdditionalData = new Dictionary&amp;lt;string, string&amp;gt;\\\\n  {\\\\n\\\\n    { \\\\&amp;quot;riskdata.basket.item1.category\\\\&amp;quot;, \\\\&amp;quot;Footwear\\\\&amp;quot; },\\\\n    { \\\\&amp;quot;riskdata.basket.item1.productTitle\\\\&amp;quot;, \\\\&amp;quot;Gold shoes\\\\&amp;quot; },\\\\n    { \\\\&amp;quot;riskdata.basket.item2.brand\\\\&amp;quot;, \\\\&amp;quot;Adyen\\\\&amp;quot; },\\\\n    { \\\\&amp;quot;riskdata.basket.item1.brand\\\\&amp;quot;, \\\\&amp;quot;Adyen\\\\&amp;quot; },\\\\n    { \\\\&amp;quot;riskdata.basket.item2.productTitle\\\\&amp;quot;, \\\\&amp;quot;Gold hat\\\\&amp;quot; },\\\\n    { \\\\&amp;quot;riskdata.basket.item2.category\\\\&amp;quot;, \\\\&amp;quot;Accessories\\\\&amp;quot; }\\\\n  }\\\\n};\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nvar service = new PaymentsService(client);\\\\nvar response = service.Payments(paymentRequest, requestOptions: new RequestOptions { IdempotencyKey = \\\\&amp;quot;UUID\\\\&amp;quot;});&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;js&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;NodeJS (JavaScript)&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Node API Library v17.3.0\\\\n\\\\\\\/\\\\\\\/ Require the parts of the module you want to use\\\\nconst { Client, CheckoutAPI } = require(&#039;@adyen\\\\\\\/api-library&#039;);\\\\n\\\\\\\/\\\\\\\/ Initialize the client object\\\\n\\\\\\\/\\\\\\\/ For the live environment, additionally include your liveEndpointUrlPrefix.\\\\nconst client = new Client({apiKey: \\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;, environment: \\\\&amp;quot;TEST\\\\&amp;quot;});\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nconst paymentRequest = {\\\\n  merchantAccount: \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  reference: \\\\&amp;quot;YOUR_PAYMENT_REFERENCE\\\\&amp;quot;,\\\\n  amount: {\\\\n    value: 1000,\\\\n    currency: \\\\&amp;quot;EUR\\\\&amp;quot;\\\\n  },\\\\n  paymentMethod: {\\\\n    type: \\\\&amp;quot;scheme\\\\&amp;quot;,\\\\n    encryptedCardNumber: \\\\&amp;quot;test_4111111111111111\\\\&amp;quot;,\\\\n    encryptedExpiryMonth: \\\\&amp;quot;test_03\\\\&amp;quot;,\\\\n    encryptedExpiryYear: \\\\&amp;quot;test_2030\\\\&amp;quot;,\\\\n    encryptedSecurityCode: \\\\&amp;quot;test_737\\\\&amp;quot;\\\\n  },\\\\n  additionalData: {\\\\n    \\\\&amp;quot;riskdata.basket.item1.productTitle\\\\&amp;quot; : \\\\&amp;quot;Gold shoes\\\\&amp;quot;,\\\\n    \\\\&amp;quot;riskdata.basket.item1.category\\\\&amp;quot; : \\\\&amp;quot;Footwear\\\\&amp;quot;,\\\\n    \\\\&amp;quot;riskdata.basket.item1.brand\\\\&amp;quot; : \\\\&amp;quot;Adyen\\\\&amp;quot;,\\\\n    \\\\&amp;quot;riskdata.basket.item2.productTitle\\\\&amp;quot; : \\\\&amp;quot;Gold hat\\\\&amp;quot;,\\\\n    \\\\&amp;quot;riskdata.basket.item2.category\\\\&amp;quot; : \\\\&amp;quot;Accessories\\\\&amp;quot;,\\\\n    \\\\&amp;quot;riskdata.basket.item2.brand\\\\&amp;quot; : \\\\&amp;quot;Adyen\\\\&amp;quot;\\\\n  }\\\\n}\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nconst checkoutAPI = new CheckoutAPI(client);\\\\nconst response = checkoutAPI.PaymentsApi.payments(paymentRequest, { idempotencyKey: \\\\&amp;quot;UUID\\\\&amp;quot; });&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;go&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Go&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Go API Library v10.4.0\\\\nimport (\\\\n  \\\\&amp;quot;context\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v9\\\\\\\/src\\\\\\\/common\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v9\\\\\\\/src\\\\\\\/adyen\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v9\\\\\\\/src\\\\\\\/checkout\\\\&amp;quot;\\\\n)\\\\n\\\\\\\/\\\\\\\/ For the live environment, additionally include your liveEndpointUrlPrefix.\\\\nclient := adyen.NewClient(&amp;amp;common.Config{\\\\n  ApiKey:      \\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;,\\\\n  Environment: common.TestEnv,\\\\n})\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\namount := checkout.Amount{\\\\n  Currency: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n  Value: 1000,\\\\n}\\\\n\\\\ncardDetails := checkout.CardDetails{\\\\n  EncryptedCardNumber: common.PtrString(\\\\&amp;quot;test_4111111111111111\\\\&amp;quot;),\\\\n  EncryptedSecurityCode: common.PtrString(\\\\&amp;quot;test_737\\\\&amp;quot;),\\\\n  EncryptedExpiryYear: common.PtrString(\\\\&amp;quot;test_2030\\\\&amp;quot;),\\\\n  EncryptedExpiryMonth: common.PtrString(\\\\&amp;quot;test_03\\\\&amp;quot;),\\\\n  Type: common.PtrString(\\\\&amp;quot;scheme\\\\&amp;quot;),\\\\n}\\\\n\\\\npaymentRequest := checkout.PaymentRequest{\\\\n  Reference: \\\\&amp;quot;YOUR_PAYMENT_REFERENCE\\\\&amp;quot;,\\\\n  Amount: amount,\\\\n  MerchantAccount: \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  PaymentMethod: checkout.CardDetailsAsCheckoutPaymentMethod(&amp;amp;cardDetails),\\\\n  AdditionalData: &amp;amp;map[string]string{\\\\n    \\\\&amp;quot;riskdata.basket.item1.category\\\\&amp;quot;: \\\\&amp;quot;Footwear\\\\&amp;quot;,\\\\n    \\\\&amp;quot;riskdata.basket.item1.productTitle\\\\&amp;quot;: \\\\&amp;quot;Gold shoes\\\\&amp;quot;,\\\\n    \\\\&amp;quot;riskdata.basket.item2.brand\\\\&amp;quot;: \\\\&amp;quot;Adyen\\\\&amp;quot;,\\\\n    \\\\&amp;quot;riskdata.basket.item1.brand\\\\&amp;quot;: \\\\&amp;quot;Adyen\\\\&amp;quot;,\\\\n    \\\\&amp;quot;riskdata.basket.item2.productTitle\\\\&amp;quot;: \\\\&amp;quot;Gold hat\\\\&amp;quot;,\\\\n    \\\\&amp;quot;riskdata.basket.item2.category\\\\&amp;quot;: \\\\&amp;quot;Accessories\\\\&amp;quot;,\\\\n  },\\\\n}\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nservice := client.Checkout()\\\\nreq := service.PaymentsApi.PaymentsInput().IdempotencyKey(\\\\&amp;quot;UUID\\\\&amp;quot;).PaymentRequest(paymentRequest)\\\\nres, httpRes, err := service.PaymentsApi.Payments(context.Background(), req)&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;py&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Python&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;# Adyen Python API Library v12.5.1\\\\nimport Adyen\\\\n\\\\nadyen = Adyen.Adyen()\\\\nadyen.client.xapikey = \\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;\\\\n# For the live environment, additionally include your liveEndpointUrlPrefix.\\\\nadyen.client.platform = \\\\&amp;quot;test\\\\&amp;quot; # The environment to use library in.\\\\n\\\\n# Create the request object(s)\\\\njson_request = {\\\\n  \\\\&amp;quot;merchantAccount\\\\&amp;quot;: \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  \\\\&amp;quot;reference\\\\&amp;quot;: \\\\&amp;quot;YOUR_PAYMENT_REFERENCE\\\\&amp;quot;,\\\\n  \\\\&amp;quot;amount\\\\&amp;quot;: {\\\\n    \\\\&amp;quot;value\\\\&amp;quot;: 1000,\\\\n    \\\\&amp;quot;currency\\\\&amp;quot;: \\\\&amp;quot;EUR\\\\&amp;quot;\\\\n  },\\\\n  \\\\&amp;quot;paymentMethod\\\\&amp;quot;: {\\\\n    \\\\&amp;quot;type\\\\&amp;quot;: \\\\&amp;quot;scheme\\\\&amp;quot;,\\\\n    \\\\&amp;quot;encryptedCardNumber\\\\&amp;quot;: \\\\&amp;quot;test_4111111111111111\\\\&amp;quot;,\\\\n    \\\\&amp;quot;encryptedExpiryMonth\\\\&amp;quot;: \\\\&amp;quot;test_03\\\\&amp;quot;,\\\\n    \\\\&amp;quot;encryptedExpiryYear\\\\&amp;quot;: \\\\&amp;quot;test_2030\\\\&amp;quot;,\\\\n    \\\\&amp;quot;encryptedSecurityCode\\\\&amp;quot;: \\\\&amp;quot;test_737\\\\&amp;quot;\\\\n  },\\\\n  \\\\&amp;quot;additionalData\\\\&amp;quot;: {\\\\n    \\\\&amp;quot;riskdata.basket.item1.productTitle\\\\&amp;quot; : \\\\&amp;quot;Gold shoes\\\\&amp;quot;,\\\\n    \\\\&amp;quot;riskdata.basket.item1.category\\\\&amp;quot; : \\\\&amp;quot;Footwear\\\\&amp;quot;,\\\\n    \\\\&amp;quot;riskdata.basket.item1.brand\\\\&amp;quot; : \\\\&amp;quot;Adyen\\\\&amp;quot;,\\\\n    \\\\&amp;quot;riskdata.basket.item2.productTitle\\\\&amp;quot; : \\\\&amp;quot;Gold hat\\\\&amp;quot;,\\\\n    \\\\&amp;quot;riskdata.basket.item2.category\\\\&amp;quot; : \\\\&amp;quot;Accessories\\\\&amp;quot;,\\\\n    \\\\&amp;quot;riskdata.basket.item2.brand\\\\&amp;quot; : \\\\&amp;quot;Adyen\\\\&amp;quot;\\\\n  }\\\\n}\\\\n\\\\n# Send the request\\\\nresult = adyen.checkout.payments_api.payments(request=json_request, idempotency_key=\\\\&amp;quot;UUID\\\\&amp;quot;)&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;rb&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Ruby&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;# Adyen Ruby API Library v9.5.1\\\\nrequire \\\\&amp;quot;adyen-ruby-api-library\\\\&amp;quot;\\\\n\\\\nadyen = Adyen::Client.new\\\\nadyen.api_key = &#039;ADYEN_API_KEY&#039;\\\\n# For the live environment, additionally include your liveEndpointUrlPrefix.\\\\nadyen.env = :test # Set to \\\\&amp;quot;live\\\\&amp;quot; for live environment\\\\n\\\\n# Create the request object(s)\\\\nrequest_body = {\\\\n  :merchantAccount =&amp;gt; &#039;YOUR_MERCHANT_ACCOUNT&#039;,\\\\n  :reference =&amp;gt; &#039;YOUR_PAYMENT_REFERENCE&#039;,\\\\n  :amount =&amp;gt; {\\\\n    :value =&amp;gt; 1000,\\\\n    :currency =&amp;gt; &#039;EUR&#039;\\\\n  },\\\\n  :paymentMethod =&amp;gt; {\\\\n    :type =&amp;gt; &#039;scheme&#039;,\\\\n    :encryptedCardNumber =&amp;gt; &#039;test_4111111111111111&#039;,\\\\n    :encryptedExpiryMonth =&amp;gt; &#039;test_03&#039;,\\\\n    :encryptedExpiryYear =&amp;gt; &#039;test_2030&#039;,\\\\n    :encryptedSecurityCode =&amp;gt; &#039;test_737&#039;\\\\n  },\\\\n  :additionalData =&amp;gt; {\\\\n    :riskdata.basket.item1.productTitle =&amp;gt; &#039;Gold shoes&#039;,\\\\n    :riskdata.basket.item1.category =&amp;gt; &#039;Footwear&#039;,\\\\n    :riskdata.basket.item1.brand =&amp;gt; &#039;Adyen&#039;,\\\\n    :riskdata.basket.item2.productTitle =&amp;gt; &#039;Gold hat&#039;,\\\\n    :riskdata.basket.item2.category =&amp;gt; &#039;Accessories&#039;,\\\\n    :riskdata.basket.item2.brand =&amp;gt; &#039;Adyen&#039;\\\\n  }\\\\n}\\\\n\\\\n# Send the request\\\\nresult = adyen.checkout.payments_api.payments(request_body, headers: { &#039;Idempotency-Key&#039; =&amp;gt; &#039;UUID&#039; })&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;ts&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;NodeJS (TypeScript)&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Node API Library v17.3.0\\\\n\\\\\\\/\\\\\\\/ Require the parts of the module you want to use\\\\nimport { Client, CheckoutAPI, Types } from \\\\&amp;quot;@adyen\\\\\\\/api-library\\\\&amp;quot;;\\\\n\\\\\\\/\\\\\\\/ Initialize the client object\\\\n\\\\\\\/\\\\\\\/ For the live environment, additionally include your liveEndpointUrlPrefix.\\\\nconst client = new Client({apiKey: \\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;, environment: \\\\&amp;quot;TEST\\\\&amp;quot;});\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nconst amount: Types.checkout.Amount = {\\\\n  currency: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n  value: 1000\\\\n};\\\\n\\\\nconst cardDetails: Types.checkout.CardDetails = {\\\\n  encryptedCardNumber: \\\\&amp;quot;test_4111111111111111\\\\&amp;quot;,\\\\n  encryptedSecurityCode: \\\\&amp;quot;test_737\\\\&amp;quot;,\\\\n  encryptedExpiryYear: \\\\&amp;quot;test_2030\\\\&amp;quot;,\\\\n  encryptedExpiryMonth: \\\\&amp;quot;test_03\\\\&amp;quot;,\\\\n  type: Types.checkout.CardDetails.TypeEnum.Scheme\\\\n};\\\\n\\\\nconst paymentRequest: Types.checkout.PaymentRequest = {\\\\n  reference: \\\\&amp;quot;YOUR_PAYMENT_REFERENCE\\\\&amp;quot;,\\\\n  amount: amount,\\\\n  merchantAccount: \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  paymentMethod: cardDetails,\\\\n  additionalData: {\\\\n    \\\\&amp;quot;riskdata.basket.item1.category\\\\&amp;quot;: \\\\&amp;quot;Footwear\\\\&amp;quot;,\\\\n    \\\\&amp;quot;riskdata.basket.item1.productTitle\\\\&amp;quot;: \\\\&amp;quot;Gold shoes\\\\&amp;quot;,\\\\n    \\\\&amp;quot;riskdata.basket.item2.brand\\\\&amp;quot;: \\\\&amp;quot;Adyen\\\\&amp;quot;,\\\\n    \\\\&amp;quot;riskdata.basket.item1.brand\\\\&amp;quot;: \\\\&amp;quot;Adyen\\\\&amp;quot;,\\\\n    \\\\&amp;quot;riskdata.basket.item2.productTitle\\\\&amp;quot;: \\\\&amp;quot;Gold hat\\\\&amp;quot;,\\\\n    \\\\&amp;quot;riskdata.basket.item2.category\\\\&amp;quot;: \\\\&amp;quot;Accessories\\\\&amp;quot;\\\\n  }\\\\n};\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nconst checkoutAPI = new CheckoutAPI(client);\\\\nconst response = checkoutAPI.PaymentsApi.payments(paymentRequest, { idempotencyKey: \\\\&amp;quot;UUID\\\\&amp;quot; });&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;:null,&quot;oldTabId&quot;:&quot;v69_1_2&quot;,&quot;relation&quot;:&quot;&quot;}]\"\n            :should-update-when-url-changes='false'>\n        <\/tabs>\n    <\/div>\n<\/div>\n","url":"https:\/\/docs.adyen.com\/pt\/online-payments\/upgrade-your-integration\/upgrade-to-checkout-api-v70","articleFields":{"description":"Find out more about the major changes in this release.","robots":"noindex,nofollow","feedback_component":true,"last_edit_on":"06-02-2023 12:22"},"algolia":{"url":"https:\/\/docs.adyen.com\/pt\/online-payments\/upgrade-your-integration\/upgrade-to-checkout-api-v70","title":"Upgrade to Checkout API v70","content":"Checkout API v70 changes how you use tokenization and items for in a payment request for risk management.\nThis page describes how you upgrade your integration to use Checkout API v70.\n\nPreviously, you could set whether to store your shopper's payment details for recurring payments in the Customer Area, under Settings &gt; Checkout settings &gt; enableRecurring. As of Checkout API v70, you can no longer do this.\nThis means that from Checkout v70 onward, you manage all tokenization settings exclusively through the Checkout API.\n\nCreate a token\n\n\n    \n        \n        \n    \n\n\nUse the token\n\n\n    \n        \n        \n    \n\n\nInclude line items for risk rules\nIn Checkout API v70, you can configure custom risk rules for items using the lineItems fields instead of additionalData.riskdata.basket.\n\n\n\nv70 or later\nv69 or earlier\n\n\n\n\ndescription\nitem.productTitle\n\n\namountIncludingTax\nitem.amountPerItem\n\n\nitemCategory\nitem.category\n\n\nquantity\nitem.quantity\n\n\nid\nitem.id\n\n\ncolor\nitem.color\n\n\nbrand\nitem.brand\n\n\nmanufacturer\nitem.manufacturer\n\n\nreceiverEmail\nitem.receiverEmail\n\n\nsize\nitem.size\n\n\nsku\nitem.sku\n\n\nupc\nitem.upc\n\n\n\nFor example, to include two items with product title, category, and brand in your payment request:\n\n\n    \n        \n        \n    \n\n","type":"page","locale":"pt","boost":17,"hierarchy":{"lvl0":"Home","lvl1":"Online payments","lvl2":"Upgrade your integration","lvl3":"Upgrade to Checkout API v70"},"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\/upgrade-to-checkout-api-v70"},"levels":4,"category":"Online Payments","category_color":"green","tags":["Upgrade","Checkout"]},"articleFiles":{"payment-request-with-additional-data-for-risk-1806500118.js":"<p alt=\"\">payment-request-with-additional-data-for-risk-1806500118.js<\/p>","payment-request-with-line-items-9166036886.js":"<p alt=\"\">payment-request-with-line-items-9166036886.js<\/p>"}}
