{"title":"Card Component integration","category":"default","creationDate":1776961628,"content":"<p>This page explains how to add cards to your existing Android Components integration.<\/p>\n<div class=\"notices green\">\n<p>This page is for <span translate=\"no\"><strong>v5.0.0<\/strong><\/span>, released in October 2023. If you are using an earlier version, use <a href=\"\/pt\/payment-methods\/cards\/android-component\/earlier-versions\">the guide for earlier versions<\/a> instead.<\/p>\n<\/div>\n<h2>Requirements<\/h2>\n<p>Select the <a href=\"\/pt\/online-payments\/build-your-integration\">server-side flow<\/a> that your integration uses:<\/p>\n\n<div id=\"tabiZOVL\">\n    <div data-component-wrapper=\"tabs\">\n        <tabs\n                        :items=\"[{&quot;title&quot;:&quot;Sessions flow&quot;,&quot;content&quot;:&quot;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Requirement&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Description&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;strong&gt;Integration type&lt;\\\/strong&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;Make sure that you have built a Sessions flow &lt;a href=\\&quot;\\\/pt\\\/online-payments\\\/build-your-integration\\\/sessions-flow?platform=Android&amp;amp;integration=Components\\&quot;&gt;Android Components integration&lt;\\\/a&gt;.  &lt;br&gt; The minimum required version is 5.0.0. &lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;strong&gt;Setup steps&lt;\\\/strong&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;Before you begin, &lt;a href=\\&quot;\\\/pt\\\/payment-methods\\\/add-payment-methods\\&quot;&gt;add cards in your Customer Area&lt;\\\/a&gt;.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&quot;,&quot;altTitle&quot;:&quot;sessions&quot;,&quot;oldTabId&quot;:&quot;sessions-before_1&quot;,&quot;relation&quot;:&quot;sessions&quot;},{&quot;title&quot;:&quot;Advanced flow&quot;,&quot;content&quot;:&quot;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Requirement&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Description&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;strong&gt;Integration type&lt;\\\/strong&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;Make sure that you have built an Advanced flow &lt;a href=\\&quot;\\\/pt\\\/online-payments\\\/build-your-integration\\\/advanced-flow?platform=Android&amp;amp;integration=Components\\&quot;&gt;Android Components integration&lt;\\\/a&gt;.  &lt;br&gt; The minimum required version is 5.0.0. &lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;strong&gt;Setup steps&lt;\\\/strong&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;Before you begin, &lt;a href=\\&quot;\\\/pt\\\/payment-methods\\\/add-payment-methods\\&quot;&gt;add cards in your Customer Area&lt;\\\/a&gt;.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&quot;,&quot;altTitle&quot;:&quot;advanced&quot;,&quot;oldTabId&quot;:&quot;advanced-before_2&quot;,&quot;relation&quot;:&quot;advanced&quot;}]\"\n            :should-update-when-url-changes='true'>\n        <\/tabs>\n    <\/div>\n<\/div>\n\n<h2>API reference<\/h2>\n\n<div id=\"tabu7KUH\">\n    <div data-component-wrapper=\"tabs\">\n        <tabs\n                        :items=\"[{&quot;title&quot;:&quot;Sessions flow&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;When you &lt;a href=\\&quot;\\\/pt\\\/online-payments\\\/\\\/build-your-integration\\\/sessions-flow?platform=Android&amp;amp;integration=Components#create-a-payment-session\\&quot;&gt;make the &lt;code&gt;\\\/sessions&lt;\\\/code&gt; request&lt;\\\/a&gt;, cards does not require any additional fields.&lt;\\\/p&gt;\\n&quot;,&quot;altTitle&quot;:&quot;sessions&quot;,&quot;oldTabId&quot;:&quot;sessions-api_1&quot;,&quot;relation&quot;:&quot;sessions&quot;},{&quot;title&quot;:&quot;Advanced flow&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;When you &lt;a href=\\&quot;\\\/pt\\\/online-payments\\\/build-your-integration\\\/advanced-flow?platform=Android&amp;amp;integration=Components#make-a-payment\\&quot;&gt;make the &lt;code&gt;\\\/payments&lt;\\\/code&gt; request&lt;\\\/a&gt;, cards does not require any additional fields.&lt;\\\/p&gt;\\n&quot;,&quot;altTitle&quot;:&quot;advanced&quot;,&quot;oldTabId&quot;:&quot;advanced-api_2&quot;,&quot;relation&quot;:&quot;advanced&quot;}]\"\n            :should-update-when-url-changes='true'>\n        <\/tabs>\n    <\/div>\n<\/div>\n\n<h2>Components Configuration<\/h2>\n\n<div id=\"tabUAXQo\">\n    <div data-component-wrapper=\"tabs\">\n        <tabs\n                        :items=\"[{&quot;title&quot;:&quot;Sessions flow&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;When you &lt;a href=\\&quot;\\\/pt\\\/online-payments\\\/\\\/build-your-integration\\\/sessions-flow?platform=Android&amp;amp;integration=Components#configure\\&quot;&gt;configure&lt;\\\/a&gt; the Component, cards does not require any additional configuration.&lt;\\\/p&gt;\\n&quot;,&quot;altTitle&quot;:&quot;sessions&quot;,&quot;oldTabId&quot;:&quot;sessions-configuration_1&quot;,&quot;relation&quot;:&quot;sessions&quot;},{&quot;title&quot;:&quot;Advanced flow&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;When you &lt;a href=\\&quot;\\\/pt\\\/online-payments\\\/build-your-integration\\\/advanced-flow?platform=Android&amp;amp;integration=Components#configure\\&quot;&gt;configure&lt;\\\/a&gt; the Component, cards does not require any additional configuration.&lt;\\\/p&gt;\\n&quot;,&quot;altTitle&quot;:&quot;advanced&quot;,&quot;oldTabId&quot;:&quot;advanced-configuration_2&quot;,&quot;relation&quot;:&quot;advanced&quot;}]\"\n            :should-update-when-url-changes='true'>\n        <\/tabs>\n    <\/div>\n<\/div>\n\n<h3>Optional configuration<\/h3>\n<p>You can include the following functions in the configuration object:<\/p>\n<table>\n<thead>\n<tr>\n<th>Configuration function<\/th>\n<th>Description<\/th>\n<th>Parameter<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>setAddressConfiguration<\/code><\/td>\n<td>Options for <a href=\"#address-fields\">address fields<\/a>.<\/td>\n<td>An <code>AddressConfiguration<\/code> object.<\/td>\n<\/tr>\n<tr>\n<td><code>setHideCvc<\/code><\/td>\n<td>If the security code (CVC\/CVV) field is hidden.<\/td>\n<td><code>hideCvc<\/code>: <em>Boolean<\/em><br>Default: <strong>false<\/strong>.<\/td>\n<\/tr>\n<tr>\n<td><code>setHideCvcStoredCard<\/code><\/td>\n<td>If the security code (CVC\/CVV) field is hidden for stored cards.<\/td>\n<td><code>hideCvcStoredCard<\/code>: <em>Boolean<\/em><br>Default: <strong>false<\/strong>.<\/td>\n<\/tr>\n<tr>\n<td><code>setHolderNameRequired<\/code><\/td>\n<td>If the cardholder name is required.<\/td>\n<td><code>holderNameRequired<\/code>: <em>Boolean<\/em><br>Default: <strong>false<\/strong>.<\/td>\n<\/tr>\n<tr>\n<td><code>setInstallmentConfiguration<\/code><\/td>\n<td>Options for <a href=\"#installment-options\">installment payments<\/a>.<\/td>\n<td>An <code>InstallmentConfiguration<\/code> object.<\/td>\n<\/tr>\n<tr>\n<td><code>setKcpAuthAvailability<\/code><\/td>\n<td>Options for the security field for Korean cards.<\/td>\n<td>A <code>KCPAuthVisibility<\/code> object.<br>Enum values:<br>- <strong>HIDE<\/strong><br>- <strong>SHOW<\/strong><\/td>\n<\/tr>\n<tr>\n<td><code>setShopperReference<\/code><\/td>\n<td>Your unique shopper reference. This is passed back to you in the <code>PaymentComponentData<\/code> when the payment flow finishes.<\/td>\n<td><code>shopperReference<\/code>: <em>String<\/em><\/td>\n<\/tr>\n<tr>\n<td><code>setSocialSecurityNumberVisibility<\/code><\/td>\n<td>For Brazil card payments, if the <a href=\"https:\/\/en.wikipedia.org\/wiki\/CPF_number\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">CPF<\/a>\/<a href=\"https:\/\/en.wikipedia.org\/wiki\/CNPJ\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">CNPJ<\/a> social security number field is shown.<\/td>\n<td>A <code>SocialSecurityNumberVisibility<\/code> object.<br>Enum values:<br>- <strong>HIDE<\/strong><br>- <strong>SHOW<\/strong><\/td>\n<\/tr>\n<tr>\n<td><code>setSupportedCardTypes<\/code><\/td>\n<td>The card brands or types supported for the payment. While the shopper enters their card number, supported brands or types are shown on the payment form.<\/td>\n<td>An array of <code>supportCardBrands<\/code> or <code>supportCardTypes<\/code>.<br>Default: <code>PaymentMethod.brands<\/code>, if it exists. Otherwise, <code>DEFAULT_SUPPORTED_CARDS_LIST<\/code>.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>For example, to add configuration to set the <strong>Postal Code<\/strong> field to be optional for Mastercard and JCB:<\/p>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Configure the Component'\" :id=\"''\" :code-data='[{\"language\":\"kotlin\",\"tabTitle\":\"\",\"content\":\"\\\/\\\/ Create an addressConfiguration object to configure the postal code field.\\nval addressConfiguration = AddressConfiguration.PostalCode(\\n    addressFieldPolicy = AddressConfiguration.CardAddressFieldPolicy.OptionalForCardTypes(\\n        brands = listOf(\\\"mc\\\", \\\"jcb\\\") \\\/\\\/ List of the brands that the Postal Code field is optional for.\\n    )\\n)\\n\\n\\\/\\\/ Create a configuration object.\\nval checkoutConfiguration = CheckoutConfiguration(\\n    environment = environment,\\n    clientKey = clientKey,\\n) {\\n    \\\/\\\/ Optional: add or change default configuration for the card payment method.\\n    card {\\n        setAddressConfiguration(addressConfiguration) \\\/\\\/ Optional additional configuration for address fields.\\n    }\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<h3 id=\"address-fields\">Address fields configuration<\/h3>\n<p>In the <code>AddressConfiguration<\/code> object, you can configure the following classes:<\/p>\n<ul>\n<li>\n<p><code>FullAddress<\/code>: all of the address fields on the payment form. You can include the following:<\/p>\n<table>\n<thead>\n<tr>\n<th>Parameter<\/th>\n<th>Description<\/th>\n<th>Default value<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>addressFieldPolicy<\/code><\/td>\n<td>If shoppers are required to fill in the fields. <br> Possible values: <br> - <strong>Required<\/strong> <br> - <strong>Optional<\/strong> <br> - <strong>OptionalForCardTypes<\/strong>: include the <code>brand<\/code> parameter, which is a list of values of data type <em>String<\/em> to specify which brands input is optional for.<\/td>\n<td><strong>Required<\/strong><\/td>\n<\/tr>\n<tr>\n<td><code>defaultCountryCode<\/code><\/td>\n<td>The default country code that is selected when the payment form initializes. <em>String<\/em> value, for example, <strong>NL<\/strong>.<\/td>\n<td><strong>null<\/strong><\/td>\n<\/tr>\n<tr>\n<td><code>supportedCountryCodes<\/code><\/td>\n<td>The supported country codes. A list of <strong>String<\/strong> values.<\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/li>\n<li>\n<p><code>PostalCode<\/code>: the <strong>Postal Code<\/strong> field on the payment form. You can include the following:<\/p>\n<table>\n<thead>\n<tr>\n<th>Parameter<\/th>\n<th>Description<\/th>\n<th>Default value<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>addressFieldPolicy<\/code><\/td>\n<td>If shoppers are required to fill in the fields. <br> Possible values: <br> - <strong>Required<\/strong> <br> - <strong>Optional<\/strong> <br> - <strong>OptionalForCardTypes<\/strong>: include the <code>brand<\/code> parameter, which is a list of values of data type <em>String<\/em> to specify which brands input is optional for.<\/td>\n<td><strong>Required<\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/li>\n<li>\n<p><code>Lookup<\/code>: the <a href=\"#address-lookup\">address lookup functionality<\/a> that suggests addresses to the shopper when they enter data into address input fields.<\/p>\n<\/li>\n<\/ul>\n\n<div id=\"tabd8JAX\">\n    <div data-component-wrapper=\"tabs\">\n        <tabs\n                        :items=\"[{&quot;title&quot;:&quot;Sessions flow&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;After adding configuration to the Component, &lt;a href=\\&quot;\\\/pt\\\/online-payments\\\/\\\/build-your-integration\\\/sessions-flow?platform=Android&amp;amp;integration=Components#create-the-checkout-session\\&quot;&gt;create the checkout session&lt;\\\/a&gt;.&lt;\\\/p&gt;\\n&quot;,&quot;altTitle&quot;:&quot;sessions&quot;,&quot;oldTabId&quot;:&quot;sessions-create_1&quot;,&quot;relation&quot;:&quot;sessions&quot;},{&quot;title&quot;:&quot;Advanced flow&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;After adding configuration, &lt;a href=\\&quot;\\\/pt\\\/online-payments\\\/build-your-integration\\\/advanced-flow?platform=Android&amp;amp;integration=Components#launch-and-show\\&quot;&gt;launch and show the Component&lt;\\\/a&gt;.&lt;\\\/p&gt;\\n&quot;,&quot;altTitle&quot;:&quot;advanced&quot;,&quot;oldTabId&quot;:&quot;advanced-create_2&quot;,&quot;relation&quot;:&quot;advanced&quot;}]\"\n            :should-update-when-url-changes='true'>\n        <\/tabs>\n    <\/div>\n<\/div>\n\n<h3 id=\"address-lookup\">Implement address lookup<\/h3>\n<p>The Component includes optional callbacks that you can use to suggest addresses to the shopper when they enter data into address input fields. The callbacks work with an external application that you choose to get addresses.<\/p>\n<p>There are different ways that external APIs work:<\/p>\n<ul>\n<li><strong>One request<\/strong>: one API request is required that returns a list of items with full address details. For example, you can use this with <a href=\"https:\/\/radar.com\/product\/address-autocomplete-api\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">Radar<\/a>.<\/li>\n<li><strong>Two requests<\/strong>: two API requests are required. The first returns a list of items with partial address details. After selecting an item from the list, the second request returns the full details of the selected item. For example, you can use this with <a href=\"https:\/\/developers.google.com\/maps\/documentation\/javascript\/place-autocomplete\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">Google Places<\/a>.<\/li>\n<\/ul>\n<p>To use the address lookup functionality, set <a href=\"#address-fields\">\n  <code>AddressConfiguration<\/code>\n<\/a> to <strong>Lookup<\/strong>.<\/p>\n<p>Choose the implementation you require:<\/p>\n\n<div id=\"tabrVv6N\">\n    <div data-component-wrapper=\"tabs\">\n        <tabs\n                        :items=\"[{&quot;title&quot;:&quot;One request&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;To let your shoppers use the address lookup functionality:&lt;\\\/p&gt;\\n&lt;ol&gt;\\n&lt;li&gt;\\n&lt;p&gt;Set the &lt;code&gt;AddressLookupCallback&lt;\\\/code&gt; using the &lt;code&gt;CardComponent.setAddressLookupCallback(AddressLookupCallback)&lt;\\\/code&gt; function.&lt;\\\/p&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;In &lt;code&gt;AddressLookupCallback&lt;\\\/code&gt;, implement the &lt;code&gt;onQueryChanged(query: String)&lt;\\\/code&gt; callback to make an API request to the address lookup API you use with the &lt;code&gt;query&lt;\\\/code&gt; parameter.&lt;\\\/p&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;Map the values you receive in the response to an array of &lt;a href=\\&quot;https:\\\/\\\/github.com\\\/Adyen\\\/adyen-android\\\/blob\\\/091f50165ea35f8177bd2f71633ffc46d682d779\\\/components-core\\\/src\\\/main\\\/java\\\/com\\\/adyen\\\/checkout\\\/components\\\/core\\\/LookupAddress.kt\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot; class=\\&quot;external-link no-image\\&quot;&gt;\\n  &lt;code&gt;LookupAddress&lt;\\\/code&gt;\\n&lt;\\\/a&gt; objects that include the following:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th&gt;Field&lt;\\\/th&gt;\\n&lt;th&gt;Required&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;id&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td&gt;The unique identifier for this address search result.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;code&gt;name&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td&gt;The name of the item that shows up in the list of suggested addresses.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;code&gt;street&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td&gt;The name of the street.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;code&gt;houseNumberOrName&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td&gt;The number or name of the house.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;code&gt;postalCode&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td&gt;A maximum of five digits for an address in the US, or a maximum of ten characters for an address in all other countries\\\/regions.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;code&gt;city&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td&gt;The name of the city.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;code&gt;country&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td&gt;The two-character ISO-3166-1 alpha-2 country code. For example, US. If you do not collect the shopper&#039;s country\\\/region, use the placeholder &lt;strong&gt;ZZ&lt;\\\/strong&gt;.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;code&gt;stateOrProvince&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td&gt;Required for Android&lt;\\\/td&gt;\\n&lt;td&gt;The two-character ISO 3166-2 state or province code. For example, &lt;strong&gt;CA&lt;\\\/strong&gt; (California) in the US or &lt;strong&gt;ON&lt;\\\/strong&gt; (Ontario) in Canada.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;code&gt;apartmentSuite&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td&gt;&lt;\\\/td&gt;\\n&lt;td&gt;The name or number of the apartment\\\/suite.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;Pass the lookup result to the Component.&lt;br \\\/&gt;\\nFor example:&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Implement the AddressLookupCallback&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;kotlin\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;cardComponent.setAddressLookupCallback(object : AddressLookupCallback {\\\\n    override fun onQueryChanged(query: String) {\\\\n        \\\\\\\/\\\\\\\/ Make an API request to your desired endpoint.\\\\n        \\\\\\\/\\\\\\\/ Map the LookupAddress object fields to address objects.\\\\n        \\\\\\\/\\\\\\\/ Pass it back to Drop-in.\\\\n        cardComponent.updateAddressLookupOptions(options)\\\\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;To handle cases when a shopper presses the back button, delegate the &lt;code&gt;onBackPressed()&lt;\\\/code&gt; event to the Component using &lt;code&gt;CardComponent.handleBackPress()&lt;\\\/code&gt;. This method returns &lt;strong&gt;true&lt;\\\/strong&gt; if the Component handles the back press.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Delegate back press to the Card Component&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;kotlin\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;override fun onBackPressed() {\\\\n    if (cardComponent?.handleBackPress() == true) return\\\\n    super.onBackPressed()\\\\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;\\\/ol&gt;\\n&quot;,&quot;altTitle&quot;:null,&quot;oldTabId&quot;:&quot;one_request_0_1&quot;,&quot;relation&quot;:&quot;&quot;},{&quot;title&quot;:&quot;Two requests&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;To let your shoppers use the address lookup functionality:&lt;\\\/p&gt;\\n&lt;ol&gt;\\n&lt;li&gt;\\n&lt;p&gt;Set the &lt;code&gt;AddressLookupCallback&lt;\\\/code&gt; using the &lt;code&gt;CardComponent.setAddressLookupCallback(AddressLookupCallback)&lt;\\\/code&gt; function.&lt;\\\/p&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;In &lt;code&gt;AddressLookupCallback&lt;\\\/code&gt;, implement the &lt;code&gt;onQueryChanged(query: String)&lt;\\\/code&gt; callback to make an API request to the address lookup API you use with the &lt;code&gt;query&lt;\\\/code&gt; parameter.&lt;\\\/p&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;Map the values you receive in the response to an array of &lt;a href=\\&quot;https:\\\/\\\/github.com\\\/Adyen\\\/adyen-android\\\/blob\\\/091f50165ea35f8177bd2f71633ffc46d682d779\\\/components-core\\\/src\\\/main\\\/java\\\/com\\\/adyen\\\/checkout\\\/components\\\/core\\\/LookupAddress.kt\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot; class=\\&quot;external-link no-image\\&quot;&gt;\\n  &lt;code&gt;LookupAddress&lt;\\\/code&gt;\\n&lt;\\\/a&gt; objects that include the following:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th&gt;Field&lt;\\\/th&gt;\\n&lt;th&gt;Required&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;id&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td&gt;The unique identifier for this address search result.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;code&gt;name&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td&gt;The name of the item that shows up in the list of suggested addresses.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;Pass the lookup result to the Component.&lt;br \\\/&gt;\\nFor example:&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Implement the lookup callback&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;kotlin\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;cardComponent.setAddressLookupCallback(object : AddressLookupCallback {\\\\n    override fun onQueryChanged(query: String) {\\\\n        \\\\\\\/\\\\\\\/ Make an API request to your desired endpoint.\\\\n        \\\\\\\/\\\\\\\/ Map the LookupAddress object fields to address objects.\\\\n        \\\\\\\/\\\\\\\/ Pass it back to Drop-in.\\\\n        cardComponent.updateAddressLookupOptions(options)\\\\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;\\\/ol&gt;\\n&lt;p&gt;Your client side shows the list of suggested addresses to the shopper. Then, implement the &lt;code&gt;on:paLookupCompletion(lookupAddress: LookupAddress)&lt;\\\/code&gt; callback.&lt;\\\/p&gt;\\n&lt;ol&gt;\\n&lt;li&gt;\\n&lt;p&gt;After the shopper selects a suggested partial address, make a request to the address lookup API, passing the selected &lt;code&gt;LookupAddress&lt;\\\/code&gt;. This request is to get the full address of the item that the shopper selected.&lt;\\\/p&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;Map the values you receive in the response to an array of &lt;a href=\\&quot;https:\\\/\\\/github.com\\\/Adyen\\\/adyen-android\\\/blob\\\/091f50165ea35f8177bd2f71633ffc46d682d779\\\/components-core\\\/src\\\/main\\\/java\\\/com\\\/adyen\\\/checkout\\\/components\\\/core\\\/LookupAddress.kt\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot; class=\\&quot;external-link no-image\\&quot;&gt;\\n  &lt;code&gt;LookupAddress&lt;\\\/code&gt;\\n&lt;\\\/a&gt; objects that include the following:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th&gt;Field&lt;\\\/th&gt;\\n&lt;th&gt;Required&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;id&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td&gt;The unique identifier for this address search result.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;code&gt;name&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td&gt;The name of the item that shows up in the list of suggested addresses.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;code&gt;street&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td&gt;The name of the street.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;code&gt;houseNumberOrName&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td&gt;The number or name of the house.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;code&gt;postalCode&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td&gt;A maximum of five digits for an address in the US, or a maximum of ten characters for an address in all other countries\\\/regions.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;code&gt;city&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td&gt;The name of the city.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;code&gt;country&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td&gt;The two-character ISO-3166-1 alpha-2 country code. For example, US. If you do not collect the shopper&#039;s country\\\/region, use the placeholder &lt;strong&gt;ZZ&lt;\\\/strong&gt;.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;code&gt;stateOrProvince&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td&gt;Required for Android&lt;\\\/td&gt;\\n&lt;td&gt;The two-character ISO 3166-2 state or province code. For example, &lt;strong&gt;CA&lt;\\\/strong&gt; (California) in the US or &lt;strong&gt;ON&lt;\\\/strong&gt; (Ontario) in Canada.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;code&gt;apartmentSuite&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td&gt;&lt;\\\/td&gt;\\n&lt;td&gt;The name or number of the apartment\\\/suite.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;Pass the lookup result to the Component.&lt;br \\\/&gt;\\nFor example:&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Implement the address selected callback&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;kotlin\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;cardComponent.setAddressLookupCallback(object : AddressLookupCallback {\\\\n    override fun onQueryChanged(query: String) {\\\\n    \\\\\\\/\\\\\\\/ Your implementation of the address lookup callback.\\\\n    }\\\\n\\\\n    override fun onLookupCompletion(lookupAddress: LookupAddress): Boolean {\\\\n        \\\\\\\/\\\\\\\/ Make an API request to your desired endpoint.\\\\n        \\\\\\\/\\\\\\\/ Pass the complete LookupAddress object back to Drop-in.\\\\n        cardComponent.setAddressLookupResult(AddressLookupResult.Completed(completeLookupAddress))\\\\n        return true \\\\\\\/\\\\\\\/ Return false if you do not need to make an API call.\\\\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;To handle cases when a shopper presses the back button, delegate the &lt;code&gt;onBackPressed()&lt;\\\/code&gt; event to the Component using &lt;code&gt;CardComponent.handleBackPress()&lt;\\\/code&gt;. This method returns &lt;strong&gt;true&lt;\\\/strong&gt; if the Component handles the back press.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Delegate back press to the Card Component&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;kotlin\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;override fun onBackPressed() {\\\\n    if (cardComponent?.handleBackPress() == true) return\\\\n    super.onBackPressed()\\\\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;\\\/ol&gt;\\n&quot;,&quot;altTitle&quot;:null,&quot;oldTabId&quot;:&quot;two_requests_1_2&quot;,&quot;relation&quot;:&quot;&quot;}]\"\n            :should-update-when-url-changes='false'>\n        <\/tabs>\n    <\/div>\n<\/div>\n\n<h2 id=\"showing-debit-and-credit-cards-separately\">Showing debit and credit cards separately<\/h2>\n<p>Components can show separate payment forms for debit cards and credit cards. Here are example use cases for this feature:<\/p>\n<ul>\n<li>In Brazil, Mexico, and Finland, many shoppers use <a href=\"#combo-cards\">combo cards<\/a> that can make both debit or credit transactions. Separate forms for <strong>Debit Card<\/strong> and <strong>Credit Card<\/strong> lets the shopper choose the type of transaction.<\/li>\n<li>To accept card payments in <a href=\"#sweden\">Sweden<\/a>, local legislation requires you to show the debit card payment options before the credit card ones.<\/li>\n<\/ul>\n\n<div id=\"tabUPkOY\">\n    <div data-component-wrapper=\"tabs\">\n        <tabs\n                        :items=\"[{&quot;title&quot;:&quot;Sessions flow&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;When you make a  &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 from your server, include:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/sessions#request-splitCardFundingSources\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;splitCardFundingSources&lt;\\\/a&gt;&amp;#58; Set to &lt;strong&gt;true&lt;\\\/strong&gt;.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;p&gt;The following example shows how to do this for a shopper in the &lt;strong&gt;Netherlands&lt;\\\/strong&gt;, making a &lt;strong&gt;EUR&amp;nbsp;47.00&lt;\\\/strong&gt; payment.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n    &lt;code-sample :title=\\&quot;&#039;\\\/sessions request&#039;\\&quot; :id=\\&quot;&#039;&#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:\\\\\\\/\\\\\\\/checkout-test.adyen.com\\\\\\\/v70\\\\\\\/sessions \\\\\\\\\\\\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;countryCode\\\\&amp;quot;: \\\\&amp;quot;NL\\\\&amp;quot;,\\\\n    \\\\&amp;quot;amount\\\\&amp;quot;: {\\\\n        \\\\&amp;quot;currency\\\\&amp;quot;: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n        \\\\&amp;quot;value\\\\&amp;quot;: 4700\\\\n    },\\\\n    \\\\&amp;quot;splitCardFundingSources\\\\&amp;quot;: true\\\\n}&#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;sessions&quot;,&quot;oldTabId&quot;:&quot;separate-sessions_1&quot;,&quot;relation&quot;:&quot;sessions&quot;},{&quot;title&quot;:&quot;Advanced flow&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;Supported from Checkout API v53 or later.&lt;\\\/p&gt;\\n&lt;p&gt;When you make a  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/paymentMethods\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/paymentMethods&lt;\\\/a&gt; request from your server, include:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/paymentMethods#request-splitCardFundingSources\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;splitCardFundingSources&lt;\\\/a&gt;&amp;#58; Set to &lt;strong&gt;true&lt;\\\/strong&gt;.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;p&gt;The following example shows how to do this for a shopper in the &lt;strong&gt;Netherlands&lt;\\\/strong&gt;, making a &lt;strong&gt;EUR&amp;nbsp;47.00&lt;\\\/strong&gt; payment.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n    &lt;code-sample :title=\\&quot;&#039;\\\/paymentMethods request&#039;\\&quot; :id=\\&quot;&#039;&#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:\\\\\\\/\\\\\\\/checkout-test.adyen.com\\\\\\\/v72\\\\\\\/paymentMethods \\\\\\\\\\\\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;countryCode\\\\&amp;quot;: \\\\&amp;quot;NL\\\\&amp;quot;,\\\\n    \\\\&amp;quot;amount\\\\&amp;quot;: {\\\\n        \\\\&amp;quot;currency\\\\&amp;quot;: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n        \\\\&amp;quot;value\\\\&amp;quot;: 4700\\\\n    },\\\\n    \\\\&amp;quot;splitCardFundingSources\\\\&amp;quot;: true\\\\n}&#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&lt;p&gt;The response includes the list of available payment methods, with debit and credit cards split into separate objects.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n    &lt;code-sample :title=\\&quot;&#039;Response&#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    ...\\\\n    \\\\\\&quot;paymentMethods\\\\\\&quot;: [\\\\n        {\\\\n            \\\\\\&quot;brands\\\\\\&quot;: [\\\\n                \\\\\\&quot;mc\\\\\\&quot;,\\\\n                \\\\\\&quot;visa\\\\\\&quot;,\\\\n                \\\\\\&quot;amex\\\\\\&quot;\\\\n            ],\\\\n            ...\\\\n            \\\\\\&quot;fundingSource\\\\\\&quot;: \\\\\\&quot;credit\\\\\\&quot;,\\\\n            \\\\\\&quot;name\\\\\\&quot;: \\\\\\&quot;Credit Card\\\\\\&quot;,\\\\n            \\\\\\&quot;type\\\\\\&quot;: \\\\\\&quot;scheme\\\\\\&quot;\\\\n        },\\\\n        {\\\\n            \\\\\\&quot;brands\\\\\\&quot;: [\\\\n                \\\\\\&quot;mc\\\\\\&quot;,\\\\n                 \\\\\\&quot;visa\\\\\\&quot;,\\\\n                 \\\\\\&quot;amex\\\\\\&quot;\\\\n            ],\\\\n            \\\\\\&quot;fundingSource\\\\\\&quot;: \\\\\\&quot;debit\\\\\\&quot;,\\\\n            \\\\\\&quot;name\\\\\\&quot;: \\\\\\&quot;Debit Card\\\\\\&quot;,\\\\n            \\\\\\&quot;type\\\\\\&quot;: \\\\\\&quot;scheme\\\\\\&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;advanced&quot;,&quot;oldTabId&quot;:&quot;separate-advanced_2&quot;,&quot;relation&quot;:&quot;advanced&quot;}]\"\n            :should-update-when-url-changes='true'>\n        <\/tabs>\n    <\/div>\n<\/div>\n\n<h3 id=\"combo-cards\">Combo cards<\/h3>\n<p>For debit transactions, we highly recommend using <a href=\"\/pt\/online-payments\/3d-secure\">3D Secure<\/a> and <a href=\"\/pt\/online-payments\/capture\">automatic capture<\/a>  due to some issuers' restrictions.<\/p>\n<h3>Sweden<\/h3>\n<p>To comply with <a href=\"https:\/\/www.regeringen.se\/rattsliga-dokument\/lagradsremiss\/2019\/12\/presentation-av-betalningssatt-vid-marknadsforing-av-betaltjanster-online\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">local legislation<\/a>, set <code>countryCode<\/code> to <strong>SE<\/strong> in your request. Components shows the payment form for <strong>Debit Card<\/strong> before the one for <strong>Credit Card<\/strong>.<\/p>\n<h2>Card brand recognition<\/h2>\n<p>When the shopper is entering their card details, Components tries to recognize the card brand. When successful, Components renders the brand icon and the corresponding input field for the card security code (CVC, CVV, or CID).<\/p>\n<h3>Co-badged cards<\/h3>\n<p>Co-badged cards are rendered by the Component according to the <a href=\"\/pt\/online-payments\/co-badged-cards-compliance\/\">co-badged card regulations for the applicable regions<\/a>. This means that Components renders all supported brands, and allows the cardholder to choose their preferred brand.<\/p>\n<h2>Recurring payments<\/h2>\n<p>Cards support <a href=\"\/pt\/online-payments\/tokenization\">tokenization<\/a> for <a href=\"\/pt\/get-started-with-adyen\/adyen-glossary\/#one-click-payments\" target=\"_blank\">one-click<\/a>, <a href=\"\/pt\/get-started-with-adyen\/adyen-glossary\/#subscriptions\" target=\"_blank\">subscription<\/a>, and <a href=\"\/pt\/get-started-with-adyen\/adyen-glossary#unscheduled-card-on-file-ucof\">unscheduled card-on-file<\/a> payments. Refer to <a href=\"\/pt\/online-payments\/tokenization\/create-tokens\/\">Create tokens<\/a> to integrate with our tokenization feature.<\/p>\n<div class=\"sc-notice note\"><div>\n<p>We strongly recommend that you ask explicit permission from the shopper if you intend to make future recurring payments. Being transparent about the payment schedule and the charged amount reduces the risk of chargebacks.<\/p>\n<\/div><\/div>\n<p>Choose which <a href=\"\/pt\/online-payments\/build-your-integration\">server-side flow<\/a> your integration uses:<\/p>\n\n<div id=\"tabqZBR5\">\n    <div data-component-wrapper=\"tabs\">\n        <tabs\n                        :items=\"[{&quot;title&quot;:&quot;Sessions flow&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;Supported from Components v5.0.0 and later.&lt;\\\/p&gt;\\n&lt;h3&gt;Store card details&lt;\\\/h3&gt;\\n&lt;p&gt;Refer to &lt;a href=\\&quot;\\\/pt\\\/online-payments\\\/tokenization\\\/create-tokens\\&quot;&gt;Create tokens&lt;\\\/a&gt; to create a card token. You do not need to include any additional parameters for cards.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n    &lt;code-sample :title=\\&quot;&#039;Create a token for one-click payments&#039;\\&quot; :id=\\&quot;&#039;create-token-sessions&#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\\\\\\\/v71\\\\\\\/sessions \\\\\\\\\\\\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;amount\\\\&amp;quot;: {\\\\n      \\\\&amp;quot;value\\\\&amp;quot;: 100,\\\\n      \\\\&amp;quot;currency\\\\&amp;quot;: \\\\&amp;quot;EUR\\\\&amp;quot;\\\\n   },\\\\n   \\\\&amp;quot;shopperReference\\\\&amp;quot;: \\\\&amp;quot;YOUR_SHOPPER_REFERENCE\\\\&amp;quot;,\\\\n   \\\\&amp;quot;returnUrl\\\\&amp;quot;: \\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..\\\\&amp;quot;,\\\\n   \\\\&amp;quot;reference\\\\&amp;quot;: \\\\&amp;quot;YOUR_PAYMENT_REFERENCE\\\\&amp;quot;,\\\\n   \\\\&amp;quot;countryCode\\\\&amp;quot;: \\\\&amp;quot;NL\\\\&amp;quot;,\\\\n   \\\\&amp;quot;storePaymentMethodMode\\\\&amp;quot;: \\\\&amp;quot;enabled\\\\&amp;quot;,\\\\n   \\\\&amp;quot;shopperInteraction\\\\&amp;quot;: \\\\&amp;quot;Ecommerce\\\\&amp;quot;,\\\\n   \\\\&amp;quot;recurringProcessingModel\\\\&amp;quot;: \\\\&amp;quot;CardOnFile\\\\&amp;quot;\\\\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(100L);\\\\n\\\\nCreateCheckoutSessionRequest createCheckoutSessionRequest = new CreateCheckoutSessionRequest()\\\\n  .reference(\\\\&amp;quot;YOUR_PAYMENT_REFERENCE\\\\&amp;quot;)\\\\n  .storePaymentMethodMode(CreateCheckoutSessionRequest.StorePaymentMethodModeEnum.ENABLED)\\\\n  .amount(amount)\\\\n  .merchantAccount(\\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;)\\\\n  .countryCode(\\\\&amp;quot;NL\\\\&amp;quot;)\\\\n  .recurringProcessingModel(CreateCheckoutSessionRequest.RecurringProcessingModelEnum.CARDONFILE)\\\\n  .shopperInteraction(CreateCheckoutSessionRequest.ShopperInteractionEnum.ECOMMERCE)\\\\n  .returnUrl(\\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..\\\\&amp;quot;)\\\\n  .shopperReference(\\\\&amp;quot;YOUR_SHOPPER_REFERENCE\\\\&amp;quot;);\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nPaymentsApi service = new PaymentsApi(client);\\\\nCreateCheckoutSessionResponse response = service.sessions(createCheckoutSessionRequest, 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\\\\\\\\CreateCheckoutSessionRequest;\\\\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(100);\\\\n\\\\n$createCheckoutSessionRequest = new CreateCheckoutSessionRequest();\\\\n$createCheckoutSessionRequest\\\\n  -&amp;gt;setReference(\\\\&amp;quot;YOUR_PAYMENT_REFERENCE\\\\&amp;quot;)\\\\n  -&amp;gt;setStorePaymentMethodMode(\\\\&amp;quot;enabled\\\\&amp;quot;)\\\\n  -&amp;gt;setAmount($amount)\\\\n  -&amp;gt;setMerchantAccount(\\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;)\\\\n  -&amp;gt;setCountryCode(\\\\&amp;quot;NL\\\\&amp;quot;)\\\\n  -&amp;gt;setRecurringProcessingModel(\\\\&amp;quot;CardOnFile\\\\&amp;quot;)\\\\n  -&amp;gt;setShopperInteraction(\\\\&amp;quot;Ecommerce\\\\&amp;quot;)\\\\n  -&amp;gt;setReturnUrl(\\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..\\\\&amp;quot;)\\\\n  -&amp;gt;setShopperReference(\\\\&amp;quot;YOUR_SHOPPER_REFERENCE\\\\&amp;quot;);\\\\n\\\\n$requestOptions[&#039;idempotencyKey&#039;] = &#039;UUID&#039;;\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\n$service = new PaymentsApi($client);\\\\n$response = $service-&amp;gt;sessions($createCheckoutSessionRequest, $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 = 100\\\\n};\\\\n\\\\nCreateCheckoutSessionRequest createCheckoutSessionRequest = new CreateCheckoutSessionRequest\\\\n{\\\\n  Reference = \\\\&amp;quot;YOUR_PAYMENT_REFERENCE\\\\&amp;quot;,\\\\n  StorePaymentMethodMode = CreateCheckoutSessionRequest.StorePaymentMethodModeEnum.Enabled,\\\\n  Amount = amount,\\\\n  MerchantAccount = \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  CountryCode = \\\\&amp;quot;NL\\\\&amp;quot;,\\\\n  RecurringProcessingModel = CreateCheckoutSessionRequest.RecurringProcessingModelEnum.CardOnFile,\\\\n  ShopperInteraction = CreateCheckoutSessionRequest.ShopperInteractionEnum.Ecommerce,\\\\n  ReturnUrl = \\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..\\\\&amp;quot;,\\\\n  ShopperReference = \\\\&amp;quot;YOUR_SHOPPER_REFERENCE\\\\&amp;quot;\\\\n};\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nvar service = new PaymentsService(client);\\\\nvar response = service.Sessions(createCheckoutSessionRequest, 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 v29.0.0\\\\nconst { Client, CheckoutAPI } = require(&#039;@adyen\\\\\\\/api-library&#039;);\\\\n\\\\n\\\\\\\/\\\\\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\\\nconst config = new Config({\\\\n  apiKey: \\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;,\\\\n  environment: EnvironmentEnum.TEST\\\\n});\\\\n\\\\nconst client = new Client(config);\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nconst createCheckoutSessionRequest = {\\\\n  amount: {\\\\n    currency: \\\\&amp;quot;JPY\\\\&amp;quot;,\\\\n    value: 3000\\\\n  },\\\\n  merchantAccount: \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  shopperReference: \\\\&amp;quot;YOUR_SHOPPER_REFERENCE\\\\&amp;quot;,\\\\n  reference: \\\\&amp;quot;YOUR_REFERENCE\\\\&amp;quot;,\\\\n  recurringProcessingModel: \\\\&amp;quot;CardOnFile\\\\&amp;quot;,\\\\n  shopperInteraction: \\\\&amp;quot;Ecommerce\\\\&amp;quot;,\\\\n  returnUrl: \\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..\\\\&amp;quot;,\\\\n  storePaymentMethodMode: \\\\&amp;quot;askForConsent\\\\&amp;quot;\\\\n}\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nconst checkoutAPI = new CheckoutAPI(client);\\\\nconst response = checkoutAPI.PaymentsApi.sessions(createCheckoutSessionRequest, { 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: 100,\\\\n}\\\\n\\\\ncreateCheckoutSessionRequest := checkout.CreateCheckoutSessionRequest{\\\\n  Reference: \\\\&amp;quot;YOUR_PAYMENT_REFERENCE\\\\&amp;quot;,\\\\n  StorePaymentMethodMode: common.PtrString(\\\\&amp;quot;enabled\\\\&amp;quot;),\\\\n  Amount: amount,\\\\n  MerchantAccount: \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  CountryCode: common.PtrString(\\\\&amp;quot;NL\\\\&amp;quot;),\\\\n  RecurringProcessingModel: common.PtrString(\\\\&amp;quot;CardOnFile\\\\&amp;quot;),\\\\n  ShopperInteraction: common.PtrString(\\\\&amp;quot;Ecommerce\\\\&amp;quot;),\\\\n  ReturnUrl: \\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..\\\\&amp;quot;,\\\\n  ShopperReference: common.PtrString(\\\\&amp;quot;YOUR_SHOPPER_REFERENCE\\\\&amp;quot;),\\\\n}\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nservice := client.Checkout()\\\\nreq := service.PaymentsApi.SessionsInput().IdempotencyKey(\\\\&amp;quot;UUID\\\\&amp;quot;).CreateCheckoutSessionRequest(createCheckoutSessionRequest)\\\\nres, httpRes, err := service.PaymentsApi.Sessions(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;amount\\\\&amp;quot;: {\\\\n    \\\\&amp;quot;value\\\\&amp;quot;: 100,\\\\n    \\\\&amp;quot;currency\\\\&amp;quot;: \\\\&amp;quot;EUR\\\\&amp;quot;\\\\n  },\\\\n  \\\\&amp;quot;shopperReference\\\\&amp;quot;: \\\\&amp;quot;YOUR_SHOPPER_REFERENCE\\\\&amp;quot;,\\\\n  \\\\&amp;quot;returnUrl\\\\&amp;quot;: \\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..\\\\&amp;quot;,\\\\n  \\\\&amp;quot;reference\\\\&amp;quot;: \\\\&amp;quot;YOUR_PAYMENT_REFERENCE\\\\&amp;quot;,\\\\n  \\\\&amp;quot;countryCode\\\\&amp;quot;: \\\\&amp;quot;NL\\\\&amp;quot;,\\\\n  \\\\&amp;quot;storePaymentMethodMode\\\\&amp;quot;: \\\\&amp;quot;enabled\\\\&amp;quot;,\\\\n  \\\\&amp;quot;shopperInteraction\\\\&amp;quot;: \\\\&amp;quot;Ecommerce\\\\&amp;quot;,\\\\n  \\\\&amp;quot;recurringProcessingModel\\\\&amp;quot;: \\\\&amp;quot;CardOnFile\\\\&amp;quot;\\\\n}\\\\n\\\\n# Send the request\\\\nresult = adyen.checkout.payments_api.sessions(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  :amount =&amp;gt; {\\\\n    :value =&amp;gt; 100,\\\\n    :currency =&amp;gt; &#039;EUR&#039;\\\\n  },\\\\n  :shopperReference =&amp;gt; &#039;YOUR_SHOPPER_REFERENCE&#039;,\\\\n  :returnUrl =&amp;gt; &#039;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..&#039;,\\\\n  :reference =&amp;gt; &#039;YOUR_PAYMENT_REFERENCE&#039;,\\\\n  :countryCode =&amp;gt; &#039;NL&#039;,\\\\n  :storePaymentMethodMode =&amp;gt; &#039;enabled&#039;,\\\\n  :shopperInteraction =&amp;gt; &#039;Ecommerce&#039;,\\\\n  :recurringProcessingModel =&amp;gt; &#039;CardOnFile&#039;\\\\n}\\\\n\\\\n# Send the request\\\\nresult = adyen.checkout.payments_api.sessions(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: 100\\\\n};\\\\n\\\\nconst createCheckoutSessionRequest: Types.checkout.CreateCheckoutSessionRequest = {\\\\n  reference: \\\\&amp;quot;YOUR_PAYMENT_REFERENCE\\\\&amp;quot;,\\\\n  storePaymentMethodMode: Types.checkout.CreateCheckoutSessionRequest.StorePaymentMethodModeEnum.Enabled,\\\\n  amount: amount,\\\\n  merchantAccount: \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  countryCode: \\\\&amp;quot;NL\\\\&amp;quot;,\\\\n  recurringProcessingModel: Types.checkout.CreateCheckoutSessionRequest.RecurringProcessingModelEnum.CardOnFile,\\\\n  shopperInteraction: Types.checkout.CreateCheckoutSessionRequest.ShopperInteractionEnum.Ecommerce,\\\\n  returnUrl: \\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..\\\\&amp;quot;,\\\\n  shopperReference: \\\\&amp;quot;YOUR_SHOPPER_REFERENCE\\\\&amp;quot;\\\\n};\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nconst checkoutAPI = new CheckoutAPI(client);\\\\nconst response = checkoutAPI.PaymentsApi.sessions(createCheckoutSessionRequest, { 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&lt;p&gt;When a token is created, you receive a  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Tokenization-webhooks\\\/latest\\\/post\\\/recurring.token.created\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;recurring.token.created&lt;\\\/a&gt; webhook.&lt;\\\/p&gt;\\n&lt;h4 id=\\&quot;store-v69\\&quot;&gt;Checkout API v69 or earlier&lt;\\\/h4&gt;\\n&lt;p&gt;When &lt;a href=\\&quot;\\\/pt\\\/online-payments\\\/tokenization\\\/create-tokens\\&quot;&gt;creating a token&lt;\\\/a&gt; for cards using Checkout API v69 or earlier:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;Use the &lt;code&gt;enableStoreDetails&lt;\\\/code&gt; &lt;a href=\\&quot;#optional-configuration\\&quot;&gt;configuration&lt;\\\/a&gt; to show a checkbox for your shopper to choose to store their card details.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;h3&gt;Make a one-click payment&lt;\\\/h3&gt;\\n&lt;p&gt;&lt;a href=\\&quot;\\\/pt\\\/online-payments\\\/tokenization\\\/make-token-payments#make-a-one-click-payment\\&quot;&gt;Make a one-click payment&lt;\\\/a&gt; using standard tokenization parameters. You do not need to include any additional parameters for cards.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n    &lt;code-sample :title=\\&quot;&#039;Make a one-click payment&#039;\\&quot; :id=\\&quot;&#039;pay-with-token-sessions&#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\\\\\\\/v71\\\\\\\/sessions \\\\\\\\\\\\n-H &#039;x-API-key: ADYEN_API_KEY&#039; \\\\\\\\\\\\n-H &#039;Content-Type: application\\\\\\\/json&#039; \\\\\\\\\\\\n-d &#039;{\\\\n     \\\\&amp;quot;amount\\\\&amp;quot;:{\\\\n       \\\\&amp;quot;value\\\\&amp;quot;:2000,\\\\n       \\\\&amp;quot;currency\\\\&amp;quot;:\\\\&amp;quot;USD\\\\&amp;quot;\\\\n     },\\\\n     \\\\&amp;quot;reference\\\\&amp;quot;:\\\\&amp;quot;YOUR_PAYMENT_REFERENCE\\\\&amp;quot;,\\\\n     \\\\&amp;quot;merchantAccount\\\\&amp;quot;:\\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n     \\\\&amp;quot;returnUrl\\\\&amp;quot;:\\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..\\\\&amp;quot;,\\\\n     \\\\&amp;quot;shopperReference\\\\&amp;quot;:\\\\&amp;quot;YOUR_UNIQUE_SHOPPER_ID\\\\&amp;quot;,\\\\n     \\\\&amp;quot;shopperInteraction\\\\&amp;quot;:\\\\&amp;quot;ContAuth\\\\&amp;quot;,\\\\n     \\\\&amp;quot;recurringProcessingModel\\\\&amp;quot;:\\\\&amp;quot;CardOnFile\\\\&amp;quot;\\\\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 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(\\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;, Environment.TEST);\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nAmount amount = new Amount()\\\\n  .currency(\\\\&amp;quot;USD\\\\&amp;quot;)\\\\n  .value(2000L);\\\\n\\\\nCreateCheckoutSessionRequest createCheckoutSessionRequest = new CreateCheckoutSessionRequest()\\\\n  .reference(\\\\&amp;quot;YOUR_PAYMENT_REFERENCE\\\\&amp;quot;)\\\\n  .amount(amount)\\\\n  .merchantAccount(\\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;)\\\\n  .recurringProcessingModel(CreateCheckoutSessionRequest.RecurringProcessingModelEnum.CARDONFILE)\\\\n  .shopperInteraction(CreateCheckoutSessionRequest.ShopperInteractionEnum.CONTAUTH)\\\\n  .returnUrl(\\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..\\\\&amp;quot;)\\\\n  .shopperReference(\\\\&amp;quot;YOUR_UNIQUE_SHOPPER_ID\\\\&amp;quot;);\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nPaymentsApi service = new PaymentsApi(client);\\\\nCreateCheckoutSessionResponse response = service.sessions(createCheckoutSessionRequest, 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;&amp;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\\\\\\\\CreateCheckoutSessionRequest;\\\\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, also 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;USD\\\\&amp;quot;)\\\\n  -&amp;gt;setValue(2000);\\\\n\\\\n$createCheckoutSessionRequest = new CreateCheckoutSessionRequest();\\\\n$createCheckoutSessionRequest\\\\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;setRecurringProcessingModel(\\\\&amp;quot;CardOnFile\\\\&amp;quot;)\\\\n  -&amp;gt;setShopperInteraction(\\\\&amp;quot;ContAuth\\\\&amp;quot;)\\\\n  -&amp;gt;setReturnUrl(\\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..\\\\&amp;quot;)\\\\n  -&amp;gt;setShopperReference(\\\\&amp;quot;YOUR_UNIQUE_SHOPPER_ID\\\\&amp;quot;);\\\\n\\\\n$requestOptions[&#039;idempotencyKey&#039;] = &#039;UUID&#039;;\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\n$service = new PaymentsApi($client);\\\\n$response = $service-&amp;gt;sessions($createCheckoutSessionRequest, $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 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 = \\\\&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;USD\\\\&amp;quot;,\\\\n  Value = 2000\\\\n};\\\\n\\\\nCreateCheckoutSessionRequest createCheckoutSessionRequest = new CreateCheckoutSessionRequest\\\\n{\\\\n  Reference = \\\\&amp;quot;YOUR_PAYMENT_REFERENCE\\\\&amp;quot;,\\\\n  Amount = amount,\\\\n  MerchantAccount = \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  RecurringProcessingModel = CreateCheckoutSessionRequest.RecurringProcessingModelEnum.CardOnFile,\\\\n  ShopperInteraction = CreateCheckoutSessionRequest.ShopperInteractionEnum.ContAuth,\\\\n  ReturnUrl = \\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..\\\\&amp;quot;,\\\\n  ShopperReference = \\\\&amp;quot;YOUR_UNIQUE_SHOPPER_ID\\\\&amp;quot;\\\\n};\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nvar service = new PaymentsService(client);\\\\nvar response = service.Sessions(createCheckoutSessionRequest, 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 v29.0.0\\\\nconst { Client, CheckoutAPI } = require(&#039;@adyen\\\\\\\/api-library&#039;);\\\\n\\\\n\\\\\\\/\\\\\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\\\nconst config = new Config({\\\\n  apiKey: \\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;,\\\\n  environment: EnvironmentEnum.TEST\\\\n});\\\\n\\\\nconst client = new Client(config);\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nconst createCheckoutSessionRequest = {\\\\n  amount: {\\\\n    value: 2000,\\\\n    currency: \\\\&amp;quot;USD\\\\&amp;quot;\\\\n  },\\\\n  reference: \\\\&amp;quot;YOUR_PAYMENT_REFERENCE\\\\&amp;quot;,\\\\n  merchantAccount: \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  returnUrl: \\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..\\\\&amp;quot;,\\\\n  shopperReference: \\\\&amp;quot;YOUR_UNIQUE_SHOPPER_ID\\\\&amp;quot;,\\\\n  shopperInteraction: \\\\&amp;quot;ContAuth\\\\&amp;quot;,\\\\n  recurringProcessingModel: \\\\&amp;quot;CardOnFile\\\\&amp;quot;\\\\n}\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nconst checkoutAPI = new CheckoutAPI(client);\\\\nconst response = checkoutAPI.PaymentsApi.sessions(createCheckoutSessionRequest, { 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 v21.0.0\\\\nimport (\\\\n  \\\\&amp;quot;context\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v21\\\\\\\/src\\\\\\\/common\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v21\\\\\\\/src\\\\\\\/adyen\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v21\\\\\\\/src\\\\\\\/checkout\\\\&amp;quot;\\\\n)\\\\n\\\\\\\/\\\\\\\/ For the LIVE environment, also 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;USD\\\\&amp;quot;,\\\\n  Value: 2000,\\\\n}\\\\n\\\\ncreateCheckoutSessionRequest := checkout.CreateCheckoutSessionRequest{\\\\n  Reference: \\\\&amp;quot;YOUR_PAYMENT_REFERENCE\\\\&amp;quot;,\\\\n  Amount: amount,\\\\n  MerchantAccount: \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  RecurringProcessingModel: common.PtrString(\\\\&amp;quot;CardOnFile\\\\&amp;quot;),\\\\n  ShopperInteraction: common.PtrString(\\\\&amp;quot;ContAuth\\\\&amp;quot;),\\\\n  ReturnUrl: \\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..\\\\&amp;quot;,\\\\n  ShopperReference: common.PtrString(\\\\&amp;quot;YOUR_UNIQUE_SHOPPER_ID\\\\&amp;quot;),\\\\n}\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nservice := client.Checkout()\\\\nreq := service.PaymentsApi.SessionsInput().IdempotencyKey(\\\\&amp;quot;UUID\\\\&amp;quot;).CreateCheckoutSessionRequest(createCheckoutSessionRequest)\\\\nres, httpRes, err := service.PaymentsApi.Sessions(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 v13.6.0\\\\nimport Adyen\\\\n\\\\nadyen = Adyen.Adyen()\\\\nadyen.client.xapikey = \\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;\\\\n# For the LIVE environment, also 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;amount\\\\&amp;quot;: {\\\\n    \\\\&amp;quot;value\\\\&amp;quot;: 2000,\\\\n    \\\\&amp;quot;currency\\\\&amp;quot;: \\\\&amp;quot;USD\\\\&amp;quot;\\\\n  },\\\\n  \\\\&amp;quot;reference\\\\&amp;quot;: \\\\&amp;quot;YOUR_PAYMENT_REFERENCE\\\\&amp;quot;,\\\\n  \\\\&amp;quot;merchantAccount\\\\&amp;quot;: \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  \\\\&amp;quot;returnUrl\\\\&amp;quot;: \\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..\\\\&amp;quot;,\\\\n  \\\\&amp;quot;shopperReference\\\\&amp;quot;: \\\\&amp;quot;YOUR_UNIQUE_SHOPPER_ID\\\\&amp;quot;,\\\\n  \\\\&amp;quot;shopperInteraction\\\\&amp;quot;: \\\\&amp;quot;ContAuth\\\\&amp;quot;,\\\\n  \\\\&amp;quot;recurringProcessingModel\\\\&amp;quot;: \\\\&amp;quot;CardOnFile\\\\&amp;quot;\\\\n}\\\\n\\\\n# Send the request\\\\nresult = adyen.checkout.payments_api.sessions(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 v10.4.0\\\\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, also 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  :amount =&amp;gt; {\\\\n    :value =&amp;gt; 2000,\\\\n    :currency =&amp;gt; &#039;USD&#039;\\\\n  },\\\\n  :reference =&amp;gt; &#039;YOUR_PAYMENT_REFERENCE&#039;,\\\\n  :merchantAccount =&amp;gt; &#039;YOUR_MERCHANT_ACCOUNT&#039;,\\\\n  :returnUrl =&amp;gt; &#039;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..&#039;,\\\\n  :shopperReference =&amp;gt; &#039;YOUR_UNIQUE_SHOPPER_ID&#039;,\\\\n  :shopperInteraction =&amp;gt; &#039;ContAuth&#039;,\\\\n  :recurringProcessingModel =&amp;gt; &#039;CardOnFile&#039;\\\\n}\\\\n\\\\n# Send the request\\\\nresult = adyen.checkout.payments_api.sessions(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 v29.0.0\\\\nimport { Client, CheckoutAPI, Types } from \\\\&amp;quot;@adyen\\\\\\\/api-library\\\\&amp;quot;;\\\\n\\\\n\\\\\\\/\\\\\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\\\nconst config = new Config({\\\\n  apiKey: \\\\&amp;quot;ADYEN_API_KEY\\\\&amp;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: \\\\&amp;quot;USD\\\\&amp;quot;,\\\\n  value: 2000\\\\n};\\\\n\\\\nconst createCheckoutSessionRequest: Types.checkout.CreateCheckoutSessionRequest = {\\\\n  reference: \\\\&amp;quot;YOUR_PAYMENT_REFERENCE\\\\&amp;quot;,\\\\n  amount: amount,\\\\n  merchantAccount: \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  recurringProcessingModel: Types.checkout.CreateCheckoutSessionRequest.RecurringProcessingModelEnum.CardOnFile,\\\\n  shopperInteraction: Types.checkout.CreateCheckoutSessionRequest.ShopperInteractionEnum.ContAuth,\\\\n  returnUrl: \\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..\\\\&amp;quot;,\\\\n  shopperReference: \\\\&amp;quot;YOUR_UNIQUE_SHOPPER_ID\\\\&amp;quot;\\\\n};\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nconst checkoutAPI = new CheckoutAPI(client);\\\\nconst response = checkoutAPI.PaymentsApi.sessions(createCheckoutSessionRequest, { 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;:&quot;sessions&quot;,&quot;oldTabId&quot;:&quot;stored-sessions_1&quot;,&quot;relation&quot;:&quot;sessions&quot;},{&quot;title&quot;:&quot;Advanced flow&quot;,&quot;content&quot;:&quot;\\n&lt;h3&gt;Store card details&lt;\\\/h3&gt;\\n&lt;p&gt;When &lt;a href=\\&quot;\\\/pt\\\/online-payments\\\/tokenization\\\/create-tokens\\&quot;&gt;creating a token&lt;\\\/a&gt; for cards:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;Use standard tokenization parameters in your payment request. You do not need to include any additional parameters for cards.\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;Make sure that your &lt;a href=\\&quot;#configuration\\&quot;&gt;Card Component configuration&lt;\\\/a&gt; includes &lt;code&gt;setShowStorePaymentField(true)&lt;\\\/code&gt; to show a switch for storing card details.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Configuring the Card Component&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=\\&quot;[{&amp;quot;language&amp;quot;:&amp;quot;kotlin&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Create the amount object.\\\\nval amount = Amount(\\\\n    currency = \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n    value = 1000,\\\\n)\\\\n\\\\n\\\\\\\/\\\\\\\/ Create a configuration object. For example, for the card Component.\\\\nval cardConfiguration = cardConfiguration.Builder(\\\\n    shopperLocale, \\\\\\\/\\\\\\\/ Use your context instead to use the device&#039;s default locale.\\\\n    environment,\\\\n    clientKey\\\\n)\\\\n\\\\n\\\\\\\/\\\\\\\/ Set additional configuration.\\\\n    .setAmount(amount) \\\\\\\/\\\\\\\/ Optional to show the amount on the Pay button.\\\\n    .setShowStorePaymentField(false) \\\\\\\/\\\\\\\/ Do not show the option to store the cared details.\\\\n    .build()&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&lt;p&gt;When the shopper chooses to save their card details when making a payment &lt;code&gt;didSubmit&lt;\\\/code&gt; method from the Component will include the &lt;code&gt;data.storePaymentMethod&lt;\\\/code&gt; that you need for your payment request.&lt;\\\/p&gt;\\n&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n    &lt;code-sample :title=\\&quot;&#039;Create a token for one-click payments&#039;\\&quot; :id=\\&quot;&#039;create_token_payments&#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\\\\\\\/v72\\\\\\\/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;amount\\\\&amp;quot;:{\\\\n      \\\\&amp;quot;value\\\\&amp;quot;:0,\\\\n      \\\\&amp;quot;currency\\\\&amp;quot;:\\\\&amp;quot;USD\\\\&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      \\\\&amp;quot;holderName\\\\&amp;quot;:\\\\&amp;quot;John Smith\\\\&amp;quot;\\\\n   },\\\\n   \\\\&amp;quot;reference\\\\&amp;quot;:\\\\&amp;quot;YOUR_ORDER_REFERENCE\\\\&amp;quot;,\\\\n   \\\\&amp;quot;shopperInteraction\\\\&amp;quot;: \\\\&amp;quot;Ecommerce\\\\&amp;quot;,\\\\n   \\\\&amp;quot;recurringProcessingModel\\\\&amp;quot;: \\\\&amp;quot;CardOnFile\\\\&amp;quot;,\\\\n   \\\\&amp;quot;storePaymentMethod\\\\&amp;quot;: \\\\&amp;quot;true\\\\&amp;quot;,\\\\n   \\\\&amp;quot;merchantAccount\\\\&amp;quot;:\\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n   \\\\&amp;quot;shopperReference\\\\&amp;quot;:\\\\&amp;quot;YOUR_SHOPPER_REFERENCE\\\\&amp;quot;,\\\\n   \\\\&amp;quot;returnUrl\\\\&amp;quot;:\\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/...\\\\&amp;quot;\\\\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 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(\\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;, Environment.TEST);\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nAmount amount = new Amount()\\\\n  .currency(\\\\&amp;quot;USD\\\\&amp;quot;)\\\\n  .value(0L);\\\\n\\\\nCardDetails cardDetails = new CardDetails()\\\\n  .encryptedCardNumber(\\\\&amp;quot;test_4111111111111111\\\\&amp;quot;)\\\\n  .holderName(\\\\&amp;quot;John Smith\\\\&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_ORDER_REFERENCE\\\\&amp;quot;)\\\\n  .amount(amount)\\\\n  .storePaymentMethod(true)\\\\n  .merchantAccount(\\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;)\\\\n  .recurringProcessingModel(PaymentRequest.RecurringProcessingModelEnum.CARDONFILE)\\\\n  .paymentMethod(new CheckoutPaymentMethod(cardDetails))\\\\n  .shopperInteraction(PaymentRequest.ShopperInteractionEnum.ECOMMERCE)\\\\n  .returnUrl(\\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/...\\\\&amp;quot;)\\\\n  .shopperReference(\\\\&amp;quot;YOUR_SHOPPER_REFERENCE\\\\&amp;quot;);\\\\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;&amp;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\\\\\\\\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, also 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;USD\\\\&amp;quot;)\\\\n  -&amp;gt;setValue(0);\\\\n\\\\n$checkoutPaymentMethod = new CheckoutPaymentMethod();\\\\n$checkoutPaymentMethod\\\\n  -&amp;gt;setEncryptedCardNumber(\\\\&amp;quot;test_4111111111111111\\\\&amp;quot;)\\\\n  -&amp;gt;setHolderName(\\\\&amp;quot;John Smith\\\\&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_ORDER_REFERENCE\\\\&amp;quot;)\\\\n  -&amp;gt;setAmount($amount)\\\\n  -&amp;gt;setStorePaymentMethod(true)\\\\n  -&amp;gt;setMerchantAccount(\\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;)\\\\n  -&amp;gt;setRecurringProcessingModel(\\\\&amp;quot;CardOnFile\\\\&amp;quot;)\\\\n  -&amp;gt;setPaymentMethod($checkoutPaymentMethod)\\\\n  -&amp;gt;setShopperInteraction(\\\\&amp;quot;Ecommerce\\\\&amp;quot;)\\\\n  -&amp;gt;setReturnUrl(\\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/...\\\\&amp;quot;)\\\\n  -&amp;gt;setShopperReference(\\\\&amp;quot;YOUR_SHOPPER_REFERENCE\\\\&amp;quot;);\\\\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 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 = \\\\&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;USD\\\\&amp;quot;,\\\\n  Value = 0\\\\n};\\\\n\\\\nCardDetails cardDetails = new CardDetails\\\\n{\\\\n  EncryptedCardNumber = \\\\&amp;quot;test_4111111111111111\\\\&amp;quot;,\\\\n  HolderName = \\\\&amp;quot;John Smith\\\\&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_ORDER_REFERENCE\\\\&amp;quot;,\\\\n  Amount = amount,\\\\n  StorePaymentMethod = true,\\\\n  MerchantAccount = \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  RecurringProcessingModel = PaymentRequest.RecurringProcessingModelEnum.CardOnFile,\\\\n  PaymentMethod = new CheckoutPaymentMethod(cardDetails),\\\\n  ShopperInteraction = PaymentRequest.ShopperInteractionEnum.Ecommerce,\\\\n  ReturnUrl = \\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/...\\\\&amp;quot;,\\\\n  ShopperReference = \\\\&amp;quot;YOUR_SHOPPER_REFERENCE\\\\&amp;quot;\\\\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 v29.0.0\\\\nconst { Client, CheckoutAPI } = require(&#039;@adyen\\\\\\\/api-library&#039;);\\\\n\\\\n\\\\\\\/\\\\\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\\\nconst config = new Config({\\\\n  apiKey: \\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;,\\\\n  environment: EnvironmentEnum.TEST\\\\n});\\\\n\\\\nconst client = new Client(config);\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nconst paymentRequest = {\\\\n  amount: {\\\\n    value: 0,\\\\n    currency: \\\\&amp;quot;USD\\\\&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    holderName: \\\\&amp;quot;John Smith\\\\&amp;quot;\\\\n  },\\\\n  reference: \\\\&amp;quot;YOUR_ORDER_REFERENCE\\\\&amp;quot;,\\\\n  shopperInteraction: \\\\&amp;quot;Ecommerce\\\\&amp;quot;,\\\\n  recurringProcessingModel: \\\\&amp;quot;CardOnFile\\\\&amp;quot;,\\\\n  storePaymentMethod: \\\\&amp;quot;true\\\\&amp;quot;,\\\\n  merchantAccount: \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  shopperReference: \\\\&amp;quot;YOUR_SHOPPER_REFERENCE\\\\&amp;quot;,\\\\n  returnUrl: \\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/...\\\\&amp;quot;\\\\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 v21.0.0\\\\nimport (\\\\n  \\\\&amp;quot;context\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v21\\\\\\\/src\\\\\\\/common\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v21\\\\\\\/src\\\\\\\/adyen\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v21\\\\\\\/src\\\\\\\/checkout\\\\&amp;quot;\\\\n)\\\\n\\\\\\\/\\\\\\\/ For the LIVE environment, also 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;USD\\\\&amp;quot;,\\\\n  Value: 0,\\\\n}\\\\n\\\\ncardDetails := checkout.CardDetails{\\\\n  EncryptedCardNumber: common.PtrString(\\\\&amp;quot;test_4111111111111111\\\\&amp;quot;),\\\\n  HolderName: common.PtrString(\\\\&amp;quot;John Smith\\\\&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_ORDER_REFERENCE\\\\&amp;quot;,\\\\n  Amount: amount,\\\\n  StorePaymentMethod: common.PtrBool(true),\\\\n  MerchantAccount: \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  RecurringProcessingModel: common.PtrString(\\\\&amp;quot;CardOnFile\\\\&amp;quot;),\\\\n  PaymentMethod: checkout.CardDetailsAsCheckoutPaymentMethod(&amp;amp;cardDetails),\\\\n  ShopperInteraction: common.PtrString(\\\\&amp;quot;Ecommerce\\\\&amp;quot;),\\\\n  ReturnUrl: \\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/...\\\\&amp;quot;,\\\\n  ShopperReference: common.PtrString(\\\\&amp;quot;YOUR_SHOPPER_REFERENCE\\\\&amp;quot;),\\\\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 v13.6.0\\\\nimport Adyen\\\\n\\\\nadyen = Adyen.Adyen()\\\\nadyen.client.xapikey = \\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;\\\\n# For the LIVE environment, also 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;amount\\\\&amp;quot;: {\\\\n    \\\\&amp;quot;value\\\\&amp;quot;: 0,\\\\n    \\\\&amp;quot;currency\\\\&amp;quot;: \\\\&amp;quot;USD\\\\&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    \\\\&amp;quot;holderName\\\\&amp;quot;: \\\\&amp;quot;John Smith\\\\&amp;quot;\\\\n  },\\\\n  \\\\&amp;quot;reference\\\\&amp;quot;: \\\\&amp;quot;YOUR_ORDER_REFERENCE\\\\&amp;quot;,\\\\n  \\\\&amp;quot;shopperInteraction\\\\&amp;quot;: \\\\&amp;quot;Ecommerce\\\\&amp;quot;,\\\\n  \\\\&amp;quot;recurringProcessingModel\\\\&amp;quot;: \\\\&amp;quot;CardOnFile\\\\&amp;quot;,\\\\n  \\\\&amp;quot;storePaymentMethod\\\\&amp;quot;: \\\\&amp;quot;True\\\\&amp;quot;,\\\\n  \\\\&amp;quot;merchantAccount\\\\&amp;quot;: \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  \\\\&amp;quot;shopperReference\\\\&amp;quot;: \\\\&amp;quot;YOUR_SHOPPER_REFERENCE\\\\&amp;quot;,\\\\n  \\\\&amp;quot;returnUrl\\\\&amp;quot;: \\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/...\\\\&amp;quot;\\\\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 v10.4.0\\\\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, also 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  :amount =&amp;gt; {\\\\n    :value =&amp;gt; 0,\\\\n    :currency =&amp;gt; &#039;USD&#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    :holderName =&amp;gt; &#039;John Smith&#039;\\\\n  },\\\\n  :reference =&amp;gt; &#039;YOUR_ORDER_REFERENCE&#039;,\\\\n  :shopperInteraction =&amp;gt; &#039;Ecommerce&#039;,\\\\n  :recurringProcessingModel =&amp;gt; &#039;CardOnFile&#039;,\\\\n  :storePaymentMethod =&amp;gt; &#039;true&#039;,\\\\n  :merchantAccount =&amp;gt; &#039;YOUR_MERCHANT_ACCOUNT&#039;,\\\\n  :shopperReference =&amp;gt; &#039;YOUR_SHOPPER_REFERENCE&#039;,\\\\n  :returnUrl =&amp;gt; &#039;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/...&#039;\\\\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 v29.0.0\\\\nimport { Client, CheckoutAPI, Types } from \\\\&amp;quot;@adyen\\\\\\\/api-library\\\\&amp;quot;;\\\\n\\\\n\\\\\\\/\\\\\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\\\nconst config = new Config({\\\\n  apiKey: \\\\&amp;quot;ADYEN_API_KEY\\\\&amp;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: \\\\&amp;quot;USD\\\\&amp;quot;,\\\\n  value: 0\\\\n};\\\\n\\\\nconst cardDetails: Types.checkout.CardDetails = {\\\\n  encryptedCardNumber: \\\\&amp;quot;test_4111111111111111\\\\&amp;quot;,\\\\n  holderName: \\\\&amp;quot;John Smith\\\\&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_ORDER_REFERENCE\\\\&amp;quot;,\\\\n  amount: amount,\\\\n  storePaymentMethod: true,\\\\n  merchantAccount: \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  recurringProcessingModel: Types.checkout.PaymentRequest.RecurringProcessingModelEnum.CardOnFile,\\\\n  paymentMethod: cardDetails,\\\\n  shopperInteraction: Types.checkout.PaymentRequest.ShopperInteractionEnum.Ecommerce,\\\\n  returnUrl: \\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/...\\\\&amp;quot;,\\\\n  shopperReference: \\\\&amp;quot;YOUR_SHOPPER_REFERENCE\\\\&amp;quot;\\\\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&lt;p&gt;When a token is created, you receive a  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Tokenization-webhooks\\\/latest\\\/post\\\/recurring.token.created\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;recurring.token.created&lt;\\\/a&gt; webhook. The webhook contains the &lt;code&gt;storedPaymentMethodId&lt;\\\/code&gt; that you can use to make subsequent payments using the stored payment details.&lt;\\\/p&gt;\\n&lt;h3&gt;Show stored cards&lt;\\\/h3&gt;\\n&lt;p&gt;To add available stored cards in your payment form:&lt;\\\/p&gt;\\n&lt;ol&gt;\\n&lt;li&gt;In your  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/paymentMethods\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/paymentMethods&lt;\\\/a&gt;\\u00a0request, include the  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/paymentMethods#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; that you specified when creating the token to receive the stored payment details for the shopper.&lt;\\\/li&gt;\\n&lt;li&gt;Pass the API response to your client-side app.&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;When &lt;a href=\\&quot;\\\/pt\\\/online-payments\\\/build-your-integration\\\/advanced-flow?platform=Android&amp;amp;integration=Components&amp;amp;version=latest#launch-and-show\\&quot;&gt;you launch and show the Component&lt;\\\/a&gt;, use the stored payment methods.&lt;\\\/p&gt;\\n&lt;p&gt;For example, using Jetpack Compose:&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Launch and show the Component&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;kotlin\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;import com.adyen.checkout.components.compose.get\\\\n\\\\n\\\\\\\/\\\\\\\/ Get the list of stored payment methods.\\\\nval storedPaymentMethods = paymentMethodsApiResponse?.storedPaymentMethods\\\\nval storedPaymentMethod = \\\\\\\/\\\\\\\/ The stored payment method from the list.\\\\n\\\\n@Composable\\\\nprivate fun ComposableCardComponent() {\\\\n    \\\\\\\/\\\\\\\/ Keep a reference to this Component in case you need to access it later.\\\\n    val cardComponent = CardComponent.PROVIDER.get(\\\\n        storedPaymentMethod = storedPaymentMethod,\\\\n        configuration = configuration,\\\\n        componentCallback = callback,\\\\n        \\\\\\\/\\\\\\\/ This key is required to ensure a new Component gets created for each different screen or payment session.\\\\n        \\\\\\\/\\\\\\\/ Generate a new value for this key every time you need to reset the Component.\\\\n        key = \\\\\\&quot;UNIQUE_KEY_PER_COMPONENT\\\\\\&quot;,\\\\n    )\\\\n\\\\n    \\\\\\\/\\\\\\\/ This is your composable, a wrapper around our xml view.\\\\n    AdyenComponent(\\\\n        component = cardComponent,\\\\n        modifier = YOUR_MODIFIER\\\\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;\\\/ol&gt;\\n&lt;h3&gt;Make a one-click payment&lt;\\\/h3&gt;\\n&lt;p&gt;&lt;a href=\\&quot;\\\/pt\\\/online-payments\\\/tokenization\\\/make-token-payments#make-a-one-click-payment\\&quot;&gt;Make a one-click payment&lt;\\\/a&gt; using standard tokenization parameters. You do not need to include any additional parameters for cards.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n    &lt;code-sample :title=\\&quot;&#039;Make a one-click payment with a card token&#039;\\&quot; :id=\\&quot;&#039;one-click-card-token-payment&#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\\\\\\\/v72\\\\\\\/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;amount\\\\&amp;quot;:{\\\\n       \\\\&amp;quot;value\\\\&amp;quot;:2000,\\\\n       \\\\&amp;quot;currency\\\\&amp;quot;:\\\\&amp;quot;USD\\\\&amp;quot;\\\\n     },\\\\n     \\\\&amp;quot;paymentMethod\\\\&amp;quot;:{\\\\n       \\\\&amp;quot;type\\\\&amp;quot;:\\\\&amp;quot;scheme\\\\&amp;quot;,\\\\n       \\\\&amp;quot;storedPaymentMethodId\\\\&amp;quot;:\\\\&amp;quot;8415718415172204\\\\&amp;quot;,\\\\n       \\\\&amp;quot;encryptedSecurityCode\\\\&amp;quot;:\\\\&amp;quot;adyenjs_0_1_18$MT6ppy0FAMVMLH...\\\\&amp;quot;\\\\n     },\\\\n     \\\\&amp;quot;reference\\\\&amp;quot;:\\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n     \\\\&amp;quot;merchantAccount\\\\&amp;quot;:\\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n     \\\\&amp;quot;returnUrl\\\\&amp;quot;:\\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..\\\\&amp;quot;,\\\\n     \\\\&amp;quot;shopperReference\\\\&amp;quot;:\\\\&amp;quot;YOUR_UNIQUE_SHOPPER_ID\\\\&amp;quot;,\\\\n     \\\\&amp;quot;shopperInteraction\\\\&amp;quot;:\\\\&amp;quot;ContAuth\\\\&amp;quot;,\\\\n     \\\\&amp;quot;recurringProcessingModel\\\\&amp;quot;:\\\\&amp;quot;CardOnFile\\\\&amp;quot;\\\\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 v39.4.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(\\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;, Environment.TEST);\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nAmount amount = new Amount()\\\\n  .currency(\\\\&amp;quot;USD\\\\&amp;quot;)\\\\n  .value(2000L);\\\\n\\\\nCardDetails cardDetails = new CardDetails()\\\\n  .encryptedSecurityCode(\\\\&amp;quot;adyenjs_0_1_18$MT6ppy0FAMVMLH...\\\\&amp;quot;)\\\\n  .storedPaymentMethodId(\\\\&amp;quot;8415718415172204\\\\&amp;quot;)\\\\n  .type(CardDetails.TypeEnum.SCHEME);\\\\n\\\\nPaymentRequest paymentRequest = new PaymentRequest()\\\\n  .reference(\\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;)\\\\n  .amount(amount)\\\\n  .merchantAccount(\\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;)\\\\n  .recurringProcessingModel(PaymentRequest.RecurringProcessingModelEnum.CARDONFILE)\\\\n  .paymentMethod(new CheckoutPaymentMethod(cardDetails))\\\\n  .shopperInteraction(PaymentRequest.ShopperInteractionEnum.CONTAUTH)\\\\n  .returnUrl(\\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..\\\\&amp;quot;)\\\\n  .shopperReference(\\\\&amp;quot;YOUR_UNIQUE_SHOPPER_ID\\\\&amp;quot;);\\\\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;&amp;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\\\\\\\\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, also 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;USD\\\\&amp;quot;)\\\\n  -&amp;gt;setValue(2000);\\\\n\\\\n$checkoutPaymentMethod = new CheckoutPaymentMethod();\\\\n$checkoutPaymentMethod\\\\n  -&amp;gt;setEncryptedSecurityCode(\\\\&amp;quot;adyenjs_0_1_18\\\\\\\\$MT6ppy0FAMVMLH...\\\\&amp;quot;)\\\\n  -&amp;gt;setStoredPaymentMethodId(\\\\&amp;quot;8415718415172204\\\\&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_ORDER_NUMBER\\\\&amp;quot;)\\\\n  -&amp;gt;setAmount($amount)\\\\n  -&amp;gt;setMerchantAccount(\\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;)\\\\n  -&amp;gt;setRecurringProcessingModel(\\\\&amp;quot;CardOnFile\\\\&amp;quot;)\\\\n  -&amp;gt;setPaymentMethod($checkoutPaymentMethod)\\\\n  -&amp;gt;setShopperInteraction(\\\\&amp;quot;ContAuth\\\\&amp;quot;)\\\\n  -&amp;gt;setReturnUrl(\\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..\\\\&amp;quot;)\\\\n  -&amp;gt;setShopperReference(\\\\&amp;quot;YOUR_UNIQUE_SHOPPER_ID\\\\&amp;quot;);\\\\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 v32.1.2\\\\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 = \\\\&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;USD\\\\&amp;quot;,\\\\n  Value = 2000\\\\n};\\\\n\\\\nCardDetails cardDetails = new CardDetails\\\\n{\\\\n  EncryptedSecurityCode = \\\\&amp;quot;adyenjs_0_1_18$MT6ppy0FAMVMLH...\\\\&amp;quot;,\\\\n  StoredPaymentMethodId = \\\\&amp;quot;8415718415172204\\\\&amp;quot;,\\\\n  Type = CardDetails.TypeEnum.Scheme\\\\n};\\\\n\\\\nPaymentRequest paymentRequest = new PaymentRequest\\\\n{\\\\n  Reference = \\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n  Amount = amount,\\\\n  MerchantAccount = \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  RecurringProcessingModel = PaymentRequest.RecurringProcessingModelEnum.CardOnFile,\\\\n  PaymentMethod = new CheckoutPaymentMethod(cardDetails),\\\\n  ShopperInteraction = PaymentRequest.ShopperInteractionEnum.ContAuth,\\\\n  ReturnUrl = \\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..\\\\&amp;quot;,\\\\n  ShopperReference = \\\\&amp;quot;YOUR_UNIQUE_SHOPPER_ID\\\\&amp;quot;\\\\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 v29.1.0\\\\nconst { Client, CheckoutAPI } = require(&#039;@adyen\\\\\\\/api-library&#039;);\\\\n\\\\n\\\\\\\/\\\\\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\\\nconst config = new Config({\\\\n  apiKey: \\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;,\\\\n  environment: EnvironmentEnum.TEST\\\\n});\\\\n\\\\nconst client = new Client(config);\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nconst paymentRequest = {\\\\n  amount: {\\\\n    value: 2000,\\\\n    currency: \\\\&amp;quot;USD\\\\&amp;quot;\\\\n  },\\\\n  paymentMethod: {\\\\n    type: \\\\&amp;quot;scheme\\\\&amp;quot;,\\\\n    storedPaymentMethodId: \\\\&amp;quot;8415718415172204\\\\&amp;quot;,\\\\n    encryptedSecurityCode: \\\\&amp;quot;adyenjs_0_1_18$MT6ppy0FAMVMLH...\\\\&amp;quot;\\\\n  },\\\\n  reference: \\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n  merchantAccount: \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  returnUrl: \\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..\\\\&amp;quot;,\\\\n  shopperReference: \\\\&amp;quot;YOUR_UNIQUE_SHOPPER_ID\\\\&amp;quot;,\\\\n  shopperInteraction: \\\\&amp;quot;ContAuth\\\\&amp;quot;,\\\\n  recurringProcessingModel: \\\\&amp;quot;CardOnFile\\\\&amp;quot;\\\\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 v21.0.0\\\\nimport (\\\\n  \\\\&amp;quot;context\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v21\\\\\\\/src\\\\\\\/common\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v21\\\\\\\/src\\\\\\\/adyen\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v21\\\\\\\/src\\\\\\\/checkout\\\\&amp;quot;\\\\n)\\\\n\\\\\\\/\\\\\\\/ For the LIVE environment, also 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;USD\\\\&amp;quot;,\\\\n  Value: 2000,\\\\n}\\\\n\\\\ncardDetails := checkout.CardDetails{\\\\n  EncryptedSecurityCode: common.PtrString(\\\\&amp;quot;adyenjs_0_1_18$MT6ppy0FAMVMLH...\\\\&amp;quot;),\\\\n  StoredPaymentMethodId: common.PtrString(\\\\&amp;quot;8415718415172204\\\\&amp;quot;),\\\\n  Type: common.PtrString(\\\\&amp;quot;scheme\\\\&amp;quot;),\\\\n}\\\\n\\\\npaymentRequest := checkout.PaymentRequest{\\\\n  Reference: \\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n  Amount: amount,\\\\n  MerchantAccount: \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  RecurringProcessingModel: common.PtrString(\\\\&amp;quot;CardOnFile\\\\&amp;quot;),\\\\n  PaymentMethod: checkout.CardDetailsAsCheckoutPaymentMethod(&amp;amp;cardDetails),\\\\n  ShopperInteraction: common.PtrString(\\\\&amp;quot;ContAuth\\\\&amp;quot;),\\\\n  ReturnUrl: \\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..\\\\&amp;quot;,\\\\n  ShopperReference: common.PtrString(\\\\&amp;quot;YOUR_UNIQUE_SHOPPER_ID\\\\&amp;quot;),\\\\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 v13.6.0\\\\nimport Adyen\\\\n\\\\nadyen = Adyen.Adyen()\\\\nadyen.client.xapikey = \\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;\\\\n# For the LIVE environment, also 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;amount\\\\&amp;quot;: {\\\\n    \\\\&amp;quot;value\\\\&amp;quot;: 2000,\\\\n    \\\\&amp;quot;currency\\\\&amp;quot;: \\\\&amp;quot;USD\\\\&amp;quot;\\\\n  },\\\\n  \\\\&amp;quot;paymentMethod\\\\&amp;quot;: {\\\\n    \\\\&amp;quot;type\\\\&amp;quot;: \\\\&amp;quot;scheme\\\\&amp;quot;,\\\\n    \\\\&amp;quot;storedPaymentMethodId\\\\&amp;quot;: \\\\&amp;quot;8415718415172204\\\\&amp;quot;,\\\\n    \\\\&amp;quot;encryptedSecurityCode\\\\&amp;quot;: \\\\&amp;quot;adyenjs_0_1_18$MT6ppy0FAMVMLH...\\\\&amp;quot;\\\\n  },\\\\n  \\\\&amp;quot;reference\\\\&amp;quot;: \\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n  \\\\&amp;quot;merchantAccount\\\\&amp;quot;: \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  \\\\&amp;quot;returnUrl\\\\&amp;quot;: \\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..\\\\&amp;quot;,\\\\n  \\\\&amp;quot;shopperReference\\\\&amp;quot;: \\\\&amp;quot;YOUR_UNIQUE_SHOPPER_ID\\\\&amp;quot;,\\\\n  \\\\&amp;quot;shopperInteraction\\\\&amp;quot;: \\\\&amp;quot;ContAuth\\\\&amp;quot;,\\\\n  \\\\&amp;quot;recurringProcessingModel\\\\&amp;quot;: \\\\&amp;quot;CardOnFile\\\\&amp;quot;\\\\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 v10.4.0\\\\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, also 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  :amount =&amp;gt; {\\\\n    :value =&amp;gt; 2000,\\\\n    :currency =&amp;gt; &#039;USD&#039;\\\\n  },\\\\n  :paymentMethod =&amp;gt; {\\\\n    :type =&amp;gt; &#039;scheme&#039;,\\\\n    :storedPaymentMethodId =&amp;gt; &#039;8415718415172204&#039;,\\\\n    :encryptedSecurityCode =&amp;gt; &#039;adyenjs_0_1_18$MT6ppy0FAMVMLH...&#039;\\\\n  },\\\\n  :reference =&amp;gt; &#039;YOUR_ORDER_NUMBER&#039;,\\\\n  :merchantAccount =&amp;gt; &#039;YOUR_MERCHANT_ACCOUNT&#039;,\\\\n  :returnUrl =&amp;gt; &#039;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..&#039;,\\\\n  :shopperReference =&amp;gt; &#039;YOUR_UNIQUE_SHOPPER_ID&#039;,\\\\n  :shopperInteraction =&amp;gt; &#039;ContAuth&#039;,\\\\n  :recurringProcessingModel =&amp;gt; &#039;CardOnFile&#039;\\\\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 v29.1.0\\\\nimport { Client, CheckoutAPI, Types } from \\\\&amp;quot;@adyen\\\\\\\/api-library\\\\&amp;quot;;\\\\n\\\\n\\\\\\\/\\\\\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\\\nconst config = new Config({\\\\n  apiKey: \\\\&amp;quot;ADYEN_API_KEY\\\\&amp;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: \\\\&amp;quot;USD\\\\&amp;quot;,\\\\n  value: 2000\\\\n};\\\\n\\\\nconst cardDetails: Types.checkout.CardDetails = {\\\\n  encryptedSecurityCode: \\\\&amp;quot;adyenjs_0_1_18$MT6ppy0FAMVMLH...\\\\&amp;quot;,\\\\n  storedPaymentMethodId: \\\\&amp;quot;8415718415172204\\\\&amp;quot;,\\\\n  type: Types.checkout.CardDetails.TypeEnum.Scheme\\\\n};\\\\n\\\\nconst paymentRequest: Types.checkout.PaymentRequest = {\\\\n  reference: \\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n  amount: amount,\\\\n  merchantAccount: \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  recurringProcessingModel: Types.checkout.PaymentRequest.RecurringProcessingModelEnum.CardOnFile,\\\\n  paymentMethod: cardDetails,\\\\n  shopperInteraction: Types.checkout.PaymentRequest.ShopperInteractionEnum.ContAuth,\\\\n  returnUrl: \\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..\\\\&amp;quot;,\\\\n  shopperReference: \\\\&amp;quot;YOUR_UNIQUE_SHOPPER_ID\\\\&amp;quot;\\\\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&lt;h3&gt;Make a subscription payment&lt;\\\/h3&gt;\\n&lt;p&gt;&lt;a href=\\&quot;\\\/pt\\\/online-payments\\\/tokenization\\\/make-token-payments#make-a-subscription-or-unscheduled-card-on-file-payment\\&quot;&gt;Make a subscription payment&lt;\\\/a&gt; using standard tokenization parameters. You do not need to include any additional parameters for cards.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n    &lt;code-sample :title=\\&quot;&#039;Make a subscription payment with a card token&#039;\\&quot; :id=\\&quot;&#039;subscription-card-token-payment&#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\\\\\\\/v72\\\\\\\/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;amount\\\\&amp;quot;:{\\\\n       \\\\&amp;quot;value\\\\&amp;quot;:2000,\\\\n       \\\\&amp;quot;currency\\\\&amp;quot;:\\\\&amp;quot;USD\\\\&amp;quot;\\\\n     },\\\\n     \\\\&amp;quot;paymentMethod\\\\&amp;quot;:{\\\\n       \\\\&amp;quot;type\\\\&amp;quot;:\\\\&amp;quot;scheme\\\\&amp;quot;,\\\\n       \\\\&amp;quot;storedPaymentMethodId\\\\&amp;quot;:\\\\&amp;quot;8415718415172204\\\\&amp;quot;\\\\n     },\\\\n     \\\\&amp;quot;reference\\\\&amp;quot;:\\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n     \\\\&amp;quot;merchantAccount\\\\&amp;quot;:\\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n     \\\\&amp;quot;returnUrl\\\\&amp;quot;:\\\\&amp;quot;...\\\\&amp;quot;,\\\\n     \\\\&amp;quot;shopperReference\\\\&amp;quot;:\\\\&amp;quot;YOUR_UNIQUE_SHOPPER_ID\\\\&amp;quot;,\\\\n     \\\\&amp;quot;shopperInteraction\\\\&amp;quot;:\\\\&amp;quot;ContAuth\\\\&amp;quot;,\\\\n     \\\\&amp;quot;recurringProcessingModel\\\\&amp;quot;:\\\\&amp;quot;Subscription\\\\&amp;quot;\\\\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 v39.4.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(\\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;, Environment.TEST);\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nAmount amount = new Amount()\\\\n  .currency(\\\\&amp;quot;USD\\\\&amp;quot;)\\\\n  .value(2000L);\\\\n\\\\nCardDetails cardDetails = new CardDetails()\\\\n  .storedPaymentMethodId(\\\\&amp;quot;8415718415172204\\\\&amp;quot;)\\\\n  .type(CardDetails.TypeEnum.SCHEME);\\\\n\\\\nPaymentRequest paymentRequest = new PaymentRequest()\\\\n  .reference(\\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;)\\\\n  .amount(amount)\\\\n  .merchantAccount(\\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;)\\\\n  .recurringProcessingModel(PaymentRequest.RecurringProcessingModelEnum.SUBSCRIPTION)\\\\n  .paymentMethod(new CheckoutPaymentMethod(cardDetails))\\\\n  .shopperInteraction(PaymentRequest.ShopperInteractionEnum.CONTAUTH)\\\\n  .returnUrl(\\\\&amp;quot;...\\\\&amp;quot;)\\\\n  .shopperReference(\\\\&amp;quot;YOUR_UNIQUE_SHOPPER_ID\\\\&amp;quot;);\\\\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;&amp;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\\\\\\\\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, also 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;USD\\\\&amp;quot;)\\\\n  -&amp;gt;setValue(2000);\\\\n\\\\n$checkoutPaymentMethod = new CheckoutPaymentMethod();\\\\n$checkoutPaymentMethod\\\\n  -&amp;gt;setStoredPaymentMethodId(\\\\&amp;quot;8415718415172204\\\\&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_ORDER_NUMBER\\\\&amp;quot;)\\\\n  -&amp;gt;setAmount($amount)\\\\n  -&amp;gt;setMerchantAccount(\\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;)\\\\n  -&amp;gt;setRecurringProcessingModel(\\\\&amp;quot;Subscription\\\\&amp;quot;)\\\\n  -&amp;gt;setPaymentMethod($checkoutPaymentMethod)\\\\n  -&amp;gt;setShopperInteraction(\\\\&amp;quot;ContAuth\\\\&amp;quot;)\\\\n  -&amp;gt;setReturnUrl(\\\\&amp;quot;...\\\\&amp;quot;)\\\\n  -&amp;gt;setShopperReference(\\\\&amp;quot;YOUR_UNIQUE_SHOPPER_ID\\\\&amp;quot;);\\\\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 v32.1.2\\\\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 = \\\\&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;USD\\\\&amp;quot;,\\\\n  Value = 2000\\\\n};\\\\n\\\\nCardDetails cardDetails = new CardDetails\\\\n{\\\\n  StoredPaymentMethodId = \\\\&amp;quot;8415718415172204\\\\&amp;quot;,\\\\n  Type = CardDetails.TypeEnum.Scheme\\\\n};\\\\n\\\\nPaymentRequest paymentRequest = new PaymentRequest\\\\n{\\\\n  Reference = \\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n  Amount = amount,\\\\n  MerchantAccount = \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  RecurringProcessingModel = PaymentRequest.RecurringProcessingModelEnum.Subscription,\\\\n  PaymentMethod = new CheckoutPaymentMethod(cardDetails),\\\\n  ShopperInteraction = PaymentRequest.ShopperInteractionEnum.ContAuth,\\\\n  ReturnUrl = \\\\&amp;quot;...\\\\&amp;quot;,\\\\n  ShopperReference = \\\\&amp;quot;YOUR_UNIQUE_SHOPPER_ID\\\\&amp;quot;\\\\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 v29.1.0\\\\nconst { Client, CheckoutAPI } = require(&#039;@adyen\\\\\\\/api-library&#039;);\\\\n\\\\n\\\\\\\/\\\\\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\\\nconst config = new Config({\\\\n  apiKey: \\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;,\\\\n  environment: EnvironmentEnum.TEST\\\\n});\\\\n\\\\nconst client = new Client(config);\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nconst paymentRequest = {\\\\n  amount: {\\\\n    value: 2000,\\\\n    currency: \\\\&amp;quot;USD\\\\&amp;quot;\\\\n  },\\\\n  paymentMethod: {\\\\n    type: \\\\&amp;quot;scheme\\\\&amp;quot;,\\\\n    storedPaymentMethodId: \\\\&amp;quot;8415718415172204\\\\&amp;quot;\\\\n  },\\\\n  reference: \\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n  merchantAccount: \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  returnUrl: \\\\&amp;quot;...\\\\&amp;quot;,\\\\n  shopperReference: \\\\&amp;quot;YOUR_UNIQUE_SHOPPER_ID\\\\&amp;quot;,\\\\n  shopperInteraction: \\\\&amp;quot;ContAuth\\\\&amp;quot;,\\\\n  recurringProcessingModel: \\\\&amp;quot;Subscription\\\\&amp;quot;\\\\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 v21.0.0\\\\nimport (\\\\n  \\\\&amp;quot;context\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v21\\\\\\\/src\\\\\\\/common\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v21\\\\\\\/src\\\\\\\/adyen\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v21\\\\\\\/src\\\\\\\/checkout\\\\&amp;quot;\\\\n)\\\\n\\\\\\\/\\\\\\\/ For the LIVE environment, also 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;USD\\\\&amp;quot;,\\\\n  Value: 2000,\\\\n}\\\\n\\\\ncardDetails := checkout.CardDetails{\\\\n  StoredPaymentMethodId: common.PtrString(\\\\&amp;quot;8415718415172204\\\\&amp;quot;),\\\\n  Type: common.PtrString(\\\\&amp;quot;scheme\\\\&amp;quot;),\\\\n}\\\\n\\\\npaymentRequest := checkout.PaymentRequest{\\\\n  Reference: \\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n  Amount: amount,\\\\n  MerchantAccount: \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  RecurringProcessingModel: common.PtrString(\\\\&amp;quot;Subscription\\\\&amp;quot;),\\\\n  PaymentMethod: checkout.CardDetailsAsCheckoutPaymentMethod(&amp;amp;cardDetails),\\\\n  ShopperInteraction: common.PtrString(\\\\&amp;quot;ContAuth\\\\&amp;quot;),\\\\n  ReturnUrl: \\\\&amp;quot;...\\\\&amp;quot;,\\\\n  ShopperReference: common.PtrString(\\\\&amp;quot;YOUR_UNIQUE_SHOPPER_ID\\\\&amp;quot;),\\\\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 v13.6.0\\\\nimport Adyen\\\\n\\\\nadyen = Adyen.Adyen()\\\\nadyen.client.xapikey = \\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;\\\\n# For the LIVE environment, also 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;amount\\\\&amp;quot;: {\\\\n    \\\\&amp;quot;value\\\\&amp;quot;: 2000,\\\\n    \\\\&amp;quot;currency\\\\&amp;quot;: \\\\&amp;quot;USD\\\\&amp;quot;\\\\n  },\\\\n  \\\\&amp;quot;paymentMethod\\\\&amp;quot;: {\\\\n    \\\\&amp;quot;type\\\\&amp;quot;: \\\\&amp;quot;scheme\\\\&amp;quot;,\\\\n    \\\\&amp;quot;storedPaymentMethodId\\\\&amp;quot;: \\\\&amp;quot;8415718415172204\\\\&amp;quot;\\\\n  },\\\\n  \\\\&amp;quot;reference\\\\&amp;quot;: \\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n  \\\\&amp;quot;merchantAccount\\\\&amp;quot;: \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  \\\\&amp;quot;returnUrl\\\\&amp;quot;: \\\\&amp;quot;...\\\\&amp;quot;,\\\\n  \\\\&amp;quot;shopperReference\\\\&amp;quot;: \\\\&amp;quot;YOUR_UNIQUE_SHOPPER_ID\\\\&amp;quot;,\\\\n  \\\\&amp;quot;shopperInteraction\\\\&amp;quot;: \\\\&amp;quot;ContAuth\\\\&amp;quot;,\\\\n  \\\\&amp;quot;recurringProcessingModel\\\\&amp;quot;: \\\\&amp;quot;Subscription\\\\&amp;quot;\\\\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 v10.4.0\\\\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, also 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  :amount =&amp;gt; {\\\\n    :value =&amp;gt; 2000,\\\\n    :currency =&amp;gt; &#039;USD&#039;\\\\n  },\\\\n  :paymentMethod =&amp;gt; {\\\\n    :type =&amp;gt; &#039;scheme&#039;,\\\\n    :storedPaymentMethodId =&amp;gt; &#039;8415718415172204&#039;\\\\n  },\\\\n  :reference =&amp;gt; &#039;YOUR_ORDER_NUMBER&#039;,\\\\n  :merchantAccount =&amp;gt; &#039;YOUR_MERCHANT_ACCOUNT&#039;,\\\\n  :returnUrl =&amp;gt; &#039;...&#039;,\\\\n  :shopperReference =&amp;gt; &#039;YOUR_UNIQUE_SHOPPER_ID&#039;,\\\\n  :shopperInteraction =&amp;gt; &#039;ContAuth&#039;,\\\\n  :recurringProcessingModel =&amp;gt; &#039;Subscription&#039;\\\\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 v29.1.0\\\\nimport { Client, CheckoutAPI, Types } from \\\\&amp;quot;@adyen\\\\\\\/api-library\\\\&amp;quot;;\\\\n\\\\n\\\\\\\/\\\\\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\\\nconst config = new Config({\\\\n  apiKey: \\\\&amp;quot;ADYEN_API_KEY\\\\&amp;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: \\\\&amp;quot;USD\\\\&amp;quot;,\\\\n  value: 2000\\\\n};\\\\n\\\\nconst cardDetails: Types.checkout.CardDetails = {\\\\n  storedPaymentMethodId: \\\\&amp;quot;8415718415172204\\\\&amp;quot;,\\\\n  type: Types.checkout.CardDetails.TypeEnum.Scheme\\\\n};\\\\n\\\\nconst paymentRequest: Types.checkout.PaymentRequest = {\\\\n  reference: \\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n  amount: amount,\\\\n  merchantAccount: \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  recurringProcessingModel: Types.checkout.PaymentRequest.RecurringProcessingModelEnum.Subscription,\\\\n  paymentMethod: cardDetails,\\\\n  shopperInteraction: Types.checkout.PaymentRequest.ShopperInteractionEnum.ContAuth,\\\\n  returnUrl: \\\\&amp;quot;...\\\\&amp;quot;,\\\\n  shopperReference: \\\\&amp;quot;YOUR_UNIQUE_SHOPPER_ID\\\\&amp;quot;\\\\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&lt;h3&gt;Make an unscheduled card-on-file payment&lt;\\\/h3&gt;\\n&lt;p&gt;&lt;a href=\\&quot;\\\/pt\\\/online-payments\\\/tokenization\\\/make-token-payments#make-a-subscription-or-unscheduled-card-on-file-payment\\&quot;&gt;Make an unscheduled card-on-file payment&lt;\\\/a&gt; using standard tokenization parameters. You do not need to include any additional parameters for cards.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n    &lt;code-sample :title=\\&quot;&#039;Make an unscheduled card-on-file payment with a card token&#039;\\&quot; :id=\\&quot;&#039;unscheduled-card-on-file-payment-card-token&#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\\\\\\\/v72\\\\\\\/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;amount\\\\&amp;quot;:{\\\\n       \\\\&amp;quot;value\\\\&amp;quot;:2000,\\\\n       \\\\&amp;quot;currency\\\\&amp;quot;:\\\\&amp;quot;USD\\\\&amp;quot;\\\\n     },\\\\n     \\\\&amp;quot;paymentMethod\\\\&amp;quot;:{\\\\n       \\\\&amp;quot;type\\\\&amp;quot;:\\\\&amp;quot;scheme\\\\&amp;quot;,\\\\n       \\\\&amp;quot;storedPaymentMethodId\\\\&amp;quot;:\\\\&amp;quot;8415718415172204\\\\&amp;quot;\\\\n     },\\\\n     \\\\&amp;quot;reference\\\\&amp;quot;:\\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n     \\\\&amp;quot;merchantAccount\\\\&amp;quot;:\\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n     \\\\&amp;quot;returnUrl\\\\&amp;quot;:\\\\&amp;quot;...\\\\&amp;quot;,\\\\n     \\\\&amp;quot;shopperReference\\\\&amp;quot;:\\\\&amp;quot;YOUR_UNIQUE_SHOPPER_ID\\\\&amp;quot;,\\\\n     \\\\&amp;quot;shopperInteraction\\\\&amp;quot;:\\\\&amp;quot;ContAuth\\\\&amp;quot;,\\\\n     \\\\&amp;quot;recurringProcessingModel\\\\&amp;quot;:\\\\&amp;quot;UnscheduledCardOnFile\\\\&amp;quot;\\\\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 v39.4.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(\\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;, Environment.TEST);\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nAmount amount = new Amount()\\\\n  .currency(\\\\&amp;quot;USD\\\\&amp;quot;)\\\\n  .value(2000L);\\\\n\\\\nCardDetails cardDetails = new CardDetails()\\\\n  .storedPaymentMethodId(\\\\&amp;quot;8415718415172204\\\\&amp;quot;)\\\\n  .type(CardDetails.TypeEnum.SCHEME);\\\\n\\\\nPaymentRequest paymentRequest = new PaymentRequest()\\\\n  .reference(\\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;)\\\\n  .amount(amount)\\\\n  .merchantAccount(\\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;)\\\\n  .recurringProcessingModel(PaymentRequest.RecurringProcessingModelEnum.UNSCHEDULEDCARDONFILE)\\\\n  .paymentMethod(new CheckoutPaymentMethod(cardDetails))\\\\n  .shopperInteraction(PaymentRequest.ShopperInteractionEnum.CONTAUTH)\\\\n  .returnUrl(\\\\&amp;quot;...\\\\&amp;quot;)\\\\n  .shopperReference(\\\\&amp;quot;YOUR_UNIQUE_SHOPPER_ID\\\\&amp;quot;);\\\\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;&amp;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\\\\\\\\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, also 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;USD\\\\&amp;quot;)\\\\n  -&amp;gt;setValue(2000);\\\\n\\\\n$checkoutPaymentMethod = new CheckoutPaymentMethod();\\\\n$checkoutPaymentMethod\\\\n  -&amp;gt;setStoredPaymentMethodId(\\\\&amp;quot;8415718415172204\\\\&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_ORDER_NUMBER\\\\&amp;quot;)\\\\n  -&amp;gt;setAmount($amount)\\\\n  -&amp;gt;setMerchantAccount(\\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;)\\\\n  -&amp;gt;setRecurringProcessingModel(\\\\&amp;quot;UnscheduledCardOnFile\\\\&amp;quot;)\\\\n  -&amp;gt;setPaymentMethod($checkoutPaymentMethod)\\\\n  -&amp;gt;setShopperInteraction(\\\\&amp;quot;ContAuth\\\\&amp;quot;)\\\\n  -&amp;gt;setReturnUrl(\\\\&amp;quot;...\\\\&amp;quot;)\\\\n  -&amp;gt;setShopperReference(\\\\&amp;quot;YOUR_UNIQUE_SHOPPER_ID\\\\&amp;quot;);\\\\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 v32.1.2\\\\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 = \\\\&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;USD\\\\&amp;quot;,\\\\n  Value = 2000\\\\n};\\\\n\\\\nCardDetails cardDetails = new CardDetails\\\\n{\\\\n  StoredPaymentMethodId = \\\\&amp;quot;8415718415172204\\\\&amp;quot;,\\\\n  Type = CardDetails.TypeEnum.Scheme\\\\n};\\\\n\\\\nPaymentRequest paymentRequest = new PaymentRequest\\\\n{\\\\n  Reference = \\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n  Amount = amount,\\\\n  MerchantAccount = \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  RecurringProcessingModel = PaymentRequest.RecurringProcessingModelEnum.UnscheduledCardOnFile,\\\\n  PaymentMethod = new CheckoutPaymentMethod(cardDetails),\\\\n  ShopperInteraction = PaymentRequest.ShopperInteractionEnum.ContAuth,\\\\n  ReturnUrl = \\\\&amp;quot;...\\\\&amp;quot;,\\\\n  ShopperReference = \\\\&amp;quot;YOUR_UNIQUE_SHOPPER_ID\\\\&amp;quot;\\\\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 v29.1.0\\\\nconst { Client, CheckoutAPI } = require(&#039;@adyen\\\\\\\/api-library&#039;);\\\\n\\\\n\\\\\\\/\\\\\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\\\nconst config = new Config({\\\\n  apiKey: \\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;,\\\\n  environment: EnvironmentEnum.TEST\\\\n});\\\\n\\\\nconst client = new Client(config);\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nconst paymentRequest = {\\\\n  amount: {\\\\n    value: 2000,\\\\n    currency: \\\\&amp;quot;USD\\\\&amp;quot;\\\\n  },\\\\n  paymentMethod: {\\\\n    type: \\\\&amp;quot;scheme\\\\&amp;quot;,\\\\n    storedPaymentMethodId: \\\\&amp;quot;8415718415172204\\\\&amp;quot;\\\\n  },\\\\n  reference: \\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n  merchantAccount: \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  returnUrl: \\\\&amp;quot;...\\\\&amp;quot;,\\\\n  shopperReference: \\\\&amp;quot;YOUR_UNIQUE_SHOPPER_ID\\\\&amp;quot;,\\\\n  shopperInteraction: \\\\&amp;quot;ContAuth\\\\&amp;quot;,\\\\n  recurringProcessingModel: \\\\&amp;quot;UnscheduledCardOnFile\\\\&amp;quot;\\\\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 v21.0.0\\\\nimport (\\\\n  \\\\&amp;quot;context\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v21\\\\\\\/src\\\\\\\/common\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v21\\\\\\\/src\\\\\\\/adyen\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v21\\\\\\\/src\\\\\\\/checkout\\\\&amp;quot;\\\\n)\\\\n\\\\\\\/\\\\\\\/ For the LIVE environment, also 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;USD\\\\&amp;quot;,\\\\n  Value: 2000,\\\\n}\\\\n\\\\ncardDetails := checkout.CardDetails{\\\\n  StoredPaymentMethodId: common.PtrString(\\\\&amp;quot;8415718415172204\\\\&amp;quot;),\\\\n  Type: common.PtrString(\\\\&amp;quot;scheme\\\\&amp;quot;),\\\\n}\\\\n\\\\npaymentRequest := checkout.PaymentRequest{\\\\n  Reference: \\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n  Amount: amount,\\\\n  MerchantAccount: \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  RecurringProcessingModel: common.PtrString(\\\\&amp;quot;UnscheduledCardOnFile\\\\&amp;quot;),\\\\n  PaymentMethod: checkout.CardDetailsAsCheckoutPaymentMethod(&amp;amp;cardDetails),\\\\n  ShopperInteraction: common.PtrString(\\\\&amp;quot;ContAuth\\\\&amp;quot;),\\\\n  ReturnUrl: \\\\&amp;quot;...\\\\&amp;quot;,\\\\n  ShopperReference: common.PtrString(\\\\&amp;quot;YOUR_UNIQUE_SHOPPER_ID\\\\&amp;quot;),\\\\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 v13.6.0\\\\nimport Adyen\\\\n\\\\nadyen = Adyen.Adyen()\\\\nadyen.client.xapikey = \\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;\\\\n# For the LIVE environment, also 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;amount\\\\&amp;quot;: {\\\\n    \\\\&amp;quot;value\\\\&amp;quot;: 2000,\\\\n    \\\\&amp;quot;currency\\\\&amp;quot;: \\\\&amp;quot;USD\\\\&amp;quot;\\\\n  },\\\\n  \\\\&amp;quot;paymentMethod\\\\&amp;quot;: {\\\\n    \\\\&amp;quot;type\\\\&amp;quot;: \\\\&amp;quot;scheme\\\\&amp;quot;,\\\\n    \\\\&amp;quot;storedPaymentMethodId\\\\&amp;quot;: \\\\&amp;quot;8415718415172204\\\\&amp;quot;\\\\n  },\\\\n  \\\\&amp;quot;reference\\\\&amp;quot;: \\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n  \\\\&amp;quot;merchantAccount\\\\&amp;quot;: \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  \\\\&amp;quot;returnUrl\\\\&amp;quot;: \\\\&amp;quot;...\\\\&amp;quot;,\\\\n  \\\\&amp;quot;shopperReference\\\\&amp;quot;: \\\\&amp;quot;YOUR_UNIQUE_SHOPPER_ID\\\\&amp;quot;,\\\\n  \\\\&amp;quot;shopperInteraction\\\\&amp;quot;: \\\\&amp;quot;ContAuth\\\\&amp;quot;,\\\\n  \\\\&amp;quot;recurringProcessingModel\\\\&amp;quot;: \\\\&amp;quot;UnscheduledCardOnFile\\\\&amp;quot;\\\\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 v10.4.0\\\\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, also 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  :amount =&amp;gt; {\\\\n    :value =&amp;gt; 2000,\\\\n    :currency =&amp;gt; &#039;USD&#039;\\\\n  },\\\\n  :paymentMethod =&amp;gt; {\\\\n    :type =&amp;gt; &#039;scheme&#039;,\\\\n    :storedPaymentMethodId =&amp;gt; &#039;8415718415172204&#039;\\\\n  },\\\\n  :reference =&amp;gt; &#039;YOUR_ORDER_NUMBER&#039;,\\\\n  :merchantAccount =&amp;gt; &#039;YOUR_MERCHANT_ACCOUNT&#039;,\\\\n  :returnUrl =&amp;gt; &#039;...&#039;,\\\\n  :shopperReference =&amp;gt; &#039;YOUR_UNIQUE_SHOPPER_ID&#039;,\\\\n  :shopperInteraction =&amp;gt; &#039;ContAuth&#039;,\\\\n  :recurringProcessingModel =&amp;gt; &#039;UnscheduledCardOnFile&#039;\\\\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 v29.1.0\\\\nimport { Client, CheckoutAPI, Types } from \\\\&amp;quot;@adyen\\\\\\\/api-library\\\\&amp;quot;;\\\\n\\\\n\\\\\\\/\\\\\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\\\nconst config = new Config({\\\\n  apiKey: \\\\&amp;quot;ADYEN_API_KEY\\\\&amp;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: \\\\&amp;quot;USD\\\\&amp;quot;,\\\\n  value: 2000\\\\n};\\\\n\\\\nconst cardDetails: Types.checkout.CardDetails = {\\\\n  storedPaymentMethodId: \\\\&amp;quot;8415718415172204\\\\&amp;quot;,\\\\n  type: Types.checkout.CardDetails.TypeEnum.Scheme\\\\n};\\\\n\\\\nconst paymentRequest: Types.checkout.PaymentRequest = {\\\\n  reference: \\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n  amount: amount,\\\\n  merchantAccount: \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  recurringProcessingModel: Types.checkout.PaymentRequest.RecurringProcessingModelEnum.UnscheduledCardOnFile,\\\\n  paymentMethod: cardDetails,\\\\n  shopperInteraction: Types.checkout.PaymentRequest.ShopperInteractionEnum.ContAuth,\\\\n  returnUrl: \\\\&amp;quot;...\\\\&amp;quot;,\\\\n  shopperReference: \\\\&amp;quot;YOUR_UNIQUE_SHOPPER_ID\\\\&amp;quot;\\\\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;:&quot;advanced&quot;,&quot;oldTabId&quot;:&quot;stored-advanced_2&quot;,&quot;relation&quot;:&quot;advanced&quot;}]\"\n            :should-update-when-url-changes='true'>\n        <\/tabs>\n    <\/div>\n<\/div>\n\n<h2 id=\"accepting-installment-payments\">Accepting installment payments<\/h2>\n\n<div id=\"taboYb2p\">\n    <div data-component-wrapper=\"tabs\">\n        <tabs\n                        :items=\"[{&quot;title&quot;:&quot;Sessions flow&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;If you want to accept &lt;a href=\\&quot;\\\/pt\\\/payment-methods\\\/cards\\\/credit-card-installments\\&quot;&gt;credit card installments&lt;\\\/a&gt;, include 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, include the &lt;code&gt;installmentOptions&lt;\\\/code&gt; object which includes the following fields:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th&gt;Field&lt;\\\/th&gt;\\n&lt;th&gt;Required&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;values&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td&gt;An array of the number of installments that the shopper can choose.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;code&gt;preselectedValue&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td&gt;&lt;\\\/td&gt;\\n&lt;td&gt;The preselected number of installments in the payment form.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;code&gt;plans&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td&gt;&lt;\\\/td&gt;\\n&lt;td&gt;An array that shows the &lt;a href=\\&quot;\\\/pt\\\/payment-methods\\\/cards\\\/credit-card-installments\\\/#installment-options\\&quot;&gt;types of installment plans&lt;\\\/a&gt; that the shopper can choose. &lt;br&gt; Possible values: &lt;strong&gt;regular&lt;\\\/strong&gt; and &lt;strong&gt;revolving&lt;\\\/strong&gt;. &lt;br&gt; If not included, the default is &lt;strong&gt;regular&lt;\\\/strong&gt;.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&quot;,&quot;altTitle&quot;:&quot;sessions&quot;,&quot;oldTabId&quot;:&quot;installments-sessions_1&quot;,&quot;relation&quot;:&quot;sessions&quot;},{&quot;title&quot;:&quot;Advanced flow&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;If you want to accept &lt;a href=\\&quot;\\\/pt\\\/payment-methods\\\/cards\\\/credit-card-installments\\&quot;&gt;credit card installments&lt;\\\/a&gt;, add installment configuration:&lt;\\\/p&gt;\\n&lt;h4&gt;Create installment options&lt;\\\/h4&gt;\\n&lt;p&gt;To specify the &lt;a href=\\&quot;\\\/pt\\\/payment-methods\\\/cards\\\/credit-card-installments#make-a-payment\\&quot;&gt;numbers of monthly installments&lt;\\\/a&gt; that the shopper can choose from:&lt;\\\/p&gt;\\n&lt;p&gt;To offer &lt;a href=\\&quot;\\\/pt\\\/payment-methods\\\/cards\\\/credit-card-installments\\\/#installment-options\\&quot;&gt;revolving installments&lt;\\\/a&gt; add:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;&lt;code&gt;includeRevolving&lt;\\\/code&gt;: &lt;strong&gt;true&lt;\\\/strong&gt;.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&quot;,&quot;altTitle&quot;:&quot;advanced&quot;,&quot;oldTabId&quot;:&quot;installments-advanced_2&quot;,&quot;relation&quot;:&quot;advanced&quot;}]\"\n            :should-update-when-url-changes='true'>\n        <\/tabs>\n    <\/div>\n<\/div>\n\n<h2 id=\"test-and-go-live\">Test and go live<\/h2>\n<p>If your client-side integration isn't ready, you can <a href=\"\/pt\/development-resources\/test-cards-and-credentials\/test-card-numbers#test-encrypted-card-details\">test API requests with encrypted card details<\/a> by adding a <code>test_<\/code> prefix to the test card details.<\/p>\n<p>Before making live card payments:<\/p>\n<ol>\n<li>\n<p>Test your integration using our <a href=\"\/pt\/development-resources\/test-cards-and-credentials\/test-card-numbers\">test card numbers<\/a>. You can check the status of test payments in your\u00a0<a href=\"https:\/\/ca-test.adyen.com\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">Customer Area<\/a>\u00a0&gt;\u00a0<strong>Transactions<\/strong>\u00a0&gt;\u00a0<strong>Payments<\/strong>.<\/p>\n<\/li>\n<li>\n<p><a href=\"\/pt\/payment-methods\/add-payment-methods\">Add the cards that you want to accept<\/a> in your <a href=\"https:\/\/ca-live.adyen.com\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">live Customer Area<\/a>.<\/p>\n<\/li>\n<li>\n<p>Before you can start accepting card payments in the live environment, you need to <a href=\"\/pt\/development-resources\/pci-dss-compliance-guide#online-payments\">assess your PCI DSS compliance<\/a> and submit the required <em>Self-Assessment Questionnaire A<\/em> document.<\/p>\n<\/li>\n<\/ol>\n<h2 id=\"see-also\">See also<\/h2>\n<div class=\"see-also-links output-inline\" id=\"see-also\">\n<ul><li><a href=\"\/online-payments\/build-your-integration\/sessions-flow?platform=Android&amp;integration=Components\"\n                        target=\"_self\"\n                        >\n                    Android Components integration guide\n                <\/a><\/li><li><a href=\"\/online-payments\/tokenization\"\n                        target=\"_self\"\n                        >\n                    Tokenization\n                <\/a><\/li><li><a href=\"\/development-resources\/webhooks\"\n                        target=\"_self\"\n                        >\n                    Webhooks\n                <\/a><\/li><li><a href=\"https:\/\/docs.adyen.com\/api-explorer\/#\/CheckoutService\/latest\/overview\"\n                        target=\"_blank\"\n                         class=\"external\">\n                    API Explorer\n                <\/a><\/li><\/ul><\/div>\n","url":"https:\/\/docs.adyen.com\/pt\/payment-methods\/cards\/android-component","articleFields":{"description":"Add cards to an existing Components integration.","parameters":{"integration":"Components","platform":"Android","component_name":"the Component","integration_guide_url":"\/build-your-integration\/sessions-flow?platform=Android&integration=Components","advanced_integration_guide_url":"build-your-integration\/advanced-flow?platform=Android&integration=Components","component_name_capitalized":"The Component","component_class_name":"CardComponent","payment_method":"cards","payment_method_type":"card","payment_method_type_capitalized":"Card","add_version":true,"version":"5.0.0"}},"algolia":{"url":"https:\/\/docs.adyen.com\/pt\/payment-methods\/cards\/android-component","title":"Card Component integration","content":"This page explains how to add cards to your existing Android Components integration.\n\nThis page is for v5.0.0, released in October 2023. If you are using an earlier version, use the guide for earlier versions instead.\n\nRequirements\nSelect the server-side flow that your integration uses:\n\n\n    \n        \n        \n    \n\n\nAPI reference\n\n\n    \n        \n        \n    \n\n\nComponents Configuration\n\n\n    \n        \n        \n    \n\n\nOptional configuration\nYou can include the following functions in the configuration object:\n\n\n\nConfiguration function\nDescription\nParameter\n\n\n\n\nsetAddressConfiguration\nOptions for address fields.\nAn AddressConfiguration object.\n\n\nsetHideCvc\nIf the security code (CVC\/CVV) field is hidden.\nhideCvc: BooleanDefault: false.\n\n\nsetHideCvcStoredCard\nIf the security code (CVC\/CVV) field is hidden for stored cards.\nhideCvcStoredCard: BooleanDefault: false.\n\n\nsetHolderNameRequired\nIf the cardholder name is required.\nholderNameRequired: BooleanDefault: false.\n\n\nsetInstallmentConfiguration\nOptions for installment payments.\nAn InstallmentConfiguration object.\n\n\nsetKcpAuthAvailability\nOptions for the security field for Korean cards.\nA KCPAuthVisibility object.Enum values:- HIDE- SHOW\n\n\nsetShopperReference\nYour unique shopper reference. This is passed back to you in the PaymentComponentData when the payment flow finishes.\nshopperReference: String\n\n\nsetSocialSecurityNumberVisibility\nFor Brazil card payments, if the CPF\/CNPJ social security number field is shown.\nA SocialSecurityNumberVisibility object.Enum values:- HIDE- SHOW\n\n\nsetSupportedCardTypes\nThe card brands or types supported for the payment. While the shopper enters their card number, supported brands or types are shown on the payment form.\nAn array of supportCardBrands or supportCardTypes.Default: PaymentMethod.brands, if it exists. Otherwise, DEFAULT_SUPPORTED_CARDS_LIST.\n\n\n\nFor example, to add configuration to set the Postal Code field to be optional for Mastercard and JCB:\n\n    \n\nAddress fields configuration\nIn the AddressConfiguration object, you can configure the following classes:\n\n\nFullAddress: all of the address fields on the payment form. You can include the following:\n\n\n\nParameter\nDescription\nDefault value\n\n\n\n\naddressFieldPolicy\nIf shoppers are required to fill in the fields.  Possible values:  - Required  - Optional  - OptionalForCardTypes: include the brand parameter, which is a list of values of data type String to specify which brands input is optional for.\nRequired\n\n\ndefaultCountryCode\nThe default country code that is selected when the payment form initializes. String value, for example, NL.\nnull\n\n\nsupportedCountryCodes\nThe supported country codes. A list of String values.\n\n\n\n\n\n\nPostalCode: the Postal Code field on the payment form. You can include the following:\n\n\n\nParameter\nDescription\nDefault value\n\n\n\n\naddressFieldPolicy\nIf shoppers are required to fill in the fields.  Possible values:  - Required  - Optional  - OptionalForCardTypes: include the brand parameter, which is a list of values of data type String to specify which brands input is optional for.\nRequired\n\n\n\n\n\nLookup: the address lookup functionality that suggests addresses to the shopper when they enter data into address input fields.\n\n\n\n\n    \n        \n        \n    \n\n\nImplement address lookup\nThe Component includes optional callbacks that you can use to suggest addresses to the shopper when they enter data into address input fields. The callbacks work with an external application that you choose to get addresses.\nThere are different ways that external APIs work:\n\nOne request: one API request is required that returns a list of items with full address details. For example, you can use this with Radar.\nTwo requests: two API requests are required. The first returns a list of items with partial address details. After selecting an item from the list, the second request returns the full details of the selected item. For example, you can use this with Google Places.\n\nTo use the address lookup functionality, set \n  AddressConfiguration\n to Lookup.\nChoose the implementation you require:\n\n\n    \n        \n        \n    \n\n\nShowing debit and credit cards separately\nComponents can show separate payment forms for debit cards and credit cards. Here are example use cases for this feature:\n\nIn Brazil, Mexico, and Finland, many shoppers use combo cards that can make both debit or credit transactions. Separate forms for Debit Card and Credit Card lets the shopper choose the type of transaction.\nTo accept card payments in Sweden, local legislation requires you to show the debit card payment options before the credit card ones.\n\n\n\n    \n        \n        \n    \n\n\nCombo cards\nFor debit transactions, we highly recommend using 3D Secure and automatic capture  due to some issuers' restrictions.\nSweden\nTo comply with local legislation, set countryCode to SE in your request. Components shows the payment form for Debit Card before the one for Credit Card.\nCard brand recognition\nWhen the shopper is entering their card details, Components tries to recognize the card brand. When successful, Components renders the brand icon and the corresponding input field for the card security code (CVC, CVV, or CID).\nCo-badged cards\nCo-badged cards are rendered by the Component according to the co-badged card regulations for the applicable regions. This means that Components renders all supported brands, and allows the cardholder to choose their preferred brand.\nRecurring payments\nCards support tokenization for one-click, subscription, and unscheduled card-on-file payments. Refer to Create tokens to integrate with our tokenization feature.\n\nWe strongly recommend that you ask explicit permission from the shopper if you intend to make future recurring payments. Being transparent about the payment schedule and the charged amount reduces the risk of chargebacks.\n\nChoose which server-side flow your integration uses:\n\n\n    \n        \n        \n    \n\n\nAccepting installment payments\n\n\n    \n        \n        \n    \n\n\nTest and go live\nIf your client-side integration isn't ready, you can test API requests with encrypted card details by adding a test_ prefix to the test card details.\nBefore making live card payments:\n\n\nTest your integration using our test card numbers. You can check the status of test payments in your\u00a0Customer Area\u00a0&gt;\u00a0Transactions\u00a0&gt;\u00a0Payments.\n\n\nAdd the cards that you want to accept in your live Customer Area.\n\n\nBefore you can start accepting card payments in the live environment, you need to assess your PCI DSS compliance and submit the required Self-Assessment Questionnaire A document.\n\n\nSee also\n\n\n                    Android Components integration guide\n                \n                    Tokenization\n                \n                    Webhooks\n                \n                    API Explorer\n                \n","type":"page","locale":"pt","boost":17,"hierarchy":{"lvl0":"Home","lvl1":"Payment methods","lvl2":"Cards","lvl3":"Card Component integration"},"hierarchy_url":{"lvl0":"https:\/\/docs.adyen.com\/pt","lvl1":"https:\/\/docs.adyen.com\/pt\/payment-methods","lvl2":"https:\/\/docs.adyen.com\/pt\/payment-methods\/cards","lvl3":"\/pt\/payment-methods\/cards\/android-component"},"levels":4,"category":"Payment method","category_color":"green","tags":["Component","integration"]}}
