{"title":"Cash App Pay Component","category":"default","creationDate":1567783140,"content":"<p>This page explains how to add Cash App Pay to your existing Web Components integration.<\/p>\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=\"tab9AOcp\">\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=Web&amp;amp;integration=Components\\&quot;&gt;Web Components integration&lt;\\\/a&gt;.  &lt;br&gt; The minimum required version is 5.44.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;Webhooks&lt;\\\/strong&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;Enable the &lt;a href=\\&quot;\\\/pt\\\/online-payments\\\/tokenization\\\/create-tokens#enable-the-webhook\\&quot;&gt;Recurring tokens life cycle events&lt;\\\/a&gt; webhook.&lt;\\\/li&gt;&lt;\\\/ul&gt;&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;ul&gt;&lt;li markdown=\\&quot;1\\&quot;&gt;&lt;a href=\\&quot;\\\/pt\\\/payment-methods\\\/add-payment-methods\\&quot;&gt;Add Cash App Pay in your Customer Area&lt;\\\/a&gt;.&lt;\\\/li&gt; &lt;li markdown=\\&quot;1\\&quot;&gt;In your &lt;a href=\\&quot;https:\\\/\\\/ca-test.adyen.com\\\/\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot; class=\\&quot;external-link no-image\\&quot;&gt;Customer Area&lt;\\\/a&gt; go to &lt;strong&gt;Developer&lt;\\\/strong&gt; &amp;gt; &lt;strong&gt;Additional data&lt;\\\/strong&gt; and under &lt;strong&gt;Payment&lt;\\\/strong&gt; select &lt;strong&gt;Save configuration&lt;\\\/strong&gt;.&lt;\\\/li&gt;&lt;\\\/ul&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-requirements_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=Web&amp;amp;integration=Components\\&quot;&gt;Web Components integration&lt;\\\/a&gt;.  &lt;br&gt; The minimum required version is 5.44.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;Webhooks&lt;\\\/strong&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;Enable the &lt;a href=\\&quot;\\\/pt\\\/online-payments\\\/tokenization\\\/create-tokens#enable-the-webhook\\&quot;&gt;Recurring tokens life cycle events&lt;\\\/a&gt; webhook.&lt;\\\/li&gt;&lt;\\\/ul&gt;&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;ul&gt;&lt;li markdown=\\&quot;1\\&quot;&gt;&lt;a href=\\&quot;\\\/pt\\\/payment-methods\\\/add-payment-methods\\&quot;&gt;Add Cash App Pay in your Customer Area&lt;\\\/a&gt;.&lt;\\\/li&gt; &lt;li markdown=\\&quot;1\\&quot;&gt;In your &lt;a href=\\&quot;https:\\\/\\\/ca-test.adyen.com\\\/\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot; class=\\&quot;external-link no-image\\&quot;&gt;Customer Area&lt;\\\/a&gt; go to &lt;strong&gt;Developer&lt;\\\/strong&gt; &amp;gt; &lt;strong&gt;Additional data&lt;\\\/strong&gt; and under &lt;strong&gt;Payment&lt;\\\/strong&gt; select &lt;strong&gt;Save configuration&lt;\\\/strong&gt;.&lt;\\\/li&gt;&lt;\\\/ul&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-requirements_2&quot;,&quot;relation&quot;:&quot;advanced&quot;}]\"\n            :should-update-when-url-changes='true'>\n        <\/tabs>\n    <\/div>\n<\/div>\n\n<h2>Import resources for v6<\/h2>\n<p>If you are using Web Components v6, <a href=\"\/pt\/online-payments\/build-your-integration\/?platform=Web&amp;integration=Drop-in&amp;version=6.0.0\">import the Component<\/a> that you need for Cash App Pay:<\/p>\n<pre><code class=\"language-js\">import { AdyenCheckout, CashAppPay } from '@adyen\/adyen-web'<\/code><\/pre>\n<h2>API reference<\/h2>\n<p>You do not need to send additional fields for Cash App Pay. To see optional fields that you can send for all payment methods, choose the endpoint you integrated:<\/p>\n<ul>\n<li> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/sessions\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/sessions<\/a>&#58; This is the default with <a href=\"\/pt\/online-payments\/build-your-integration\/sessions-flow?platform=Web&amp;integration=Components\">Components v5.0.0<\/a> or later.<\/li>\n<li> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments<\/a>&#58; If you implemented an <a href=\"\/pt\/online-payments\/build-your-integration\">additional use case<\/a>.<\/li>\n<\/ul>\n<h2>Component configuration<\/h2>\n<h3>Step 1: Create a DOM element<\/h3>\n<p>Create a DOM element on your checkout page, placing it where you want the payment method form to be rendered:<\/p>\n<pre><code class=\"language-html\"> &lt;div id=\"cashapp-container\"&gt;&lt;\/div&gt;<\/code><\/pre>\n<h3>Step 2: Create an instance of the Component<\/h3>\n<h4>v6.0.0 or later<\/h4>\n<p>Create an instance of the Component, passing:<\/p>\n<ul>\n<li>Your instance of <code>AdyenCheckout<\/code>.<\/li>\n<\/ul>\n<pre><code class=\"language-js\">const cashapp = new CashAppPay(checkout).mount('#cashapp-container');<\/code><\/pre>\n<div class=\"accordion-shortcode adl-accordion adl-accordion--max-height-transition\" data-expand=\"true\" data-ignore=\"anchorjs-link\">\n    \n    <div class=\"adl-accordion__item\" style=\"\">\n        <div tabindex=\"0\" role=\"item\" aria-expanded=\"false\" class=\"adl-accordion__header\">\n            <i class=\"adl-accordion__toggle adl-icon-chevron-down\"><\/i>\n            <div class=\"adl-accordion__title-wrapper\" data-accordion=\"#v5-x-x-or-earlier\">\n                                    <h4 class=\"adl-accordion__title\">v5.x.x or earlier<\/h4>\n                            <\/div>\n        <\/div>\n        <div role=\"region\" class=\"adl-accordion__content\">\n            \n<p>Use the <code>create<\/code> method of your <code>AdyenCheckout<\/code> instance, in this case <code>checkout<\/code>, to create the Component:<\/p>\n<pre><code class=\"language-js\">const cashappComponent = checkout.create('cashapp').mount('#cashapp-container');<\/code><\/pre>\n\n        <\/div>\n    <\/div>\n<\/div>\n\n<p>For Cash App Pay, you must pass the <code>amount<\/code> for the transaction value to be authorized.<\/p>\n<ul>\n<li>If you use the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/sessions\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/sessions<\/a> endpoint, pass the <code>amount<\/code> when creating the session.<\/li>\n<li>If you use the   <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments<\/a> endpoint, include the <code>amount<\/code> when creating an instance of <code>AdyenCheckout<\/code>.<\/li>\n<\/ul>\n<p>You do not have to pass the <code>amount<\/code> for <a href=\"\/pt\/get-started-with-adyen\/adyen-glossary\/#zero-value-auth\">zero-value auth<\/a> transactions.<\/p>\n<h3>Optional configuration<\/h3>\n<p>You can add the following optional configuration:<\/p>\n<table>\n<thead>\n<tr>\n<th>Parameter name<\/th>\n<th>Description<\/th>\n<th>Default<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>enableStoreDetails<\/code><\/td>\n<td>Set to <span translate=\"no\"><strong>true<\/strong><\/span> to show a toggle that lets the shopper choose whether to save their payment details.<\/td>\n<td><span translate=\"no\"><strong>false<\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td><code>storePaymentMethod<\/code><\/td>\n<td>Set to <span translate=\"no\"><strong>true<\/strong><\/span> to save the shopper's payment details without showing a toggle. For example, use this for a page where the shopper enters their details for a subscription service that charges the shopper on a recurring basis.<\/td>\n<td><span translate=\"no\"><strong>false<\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td><code>button<\/code><\/td>\n<td>Use the available <a href=\"https:\/\/developers.cash.app\/docs\/partner\/technical-documentation\/sdks\/pay-kit\/getting-started#customize-the-cash-app-pay-button\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">style options<\/a> to configure the layout of the Pay button for Cash App Pay.<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td><code>showPayButton<\/code><\/td>\n<td>Show or hide the Adyen-provided <strong>Pay<\/strong> button. This <strong>Pay<\/strong> button triggers the <code>onSubmit<\/code> event when payment details are valid. When using your own <strong>Pay<\/strong> button, you have to call the <code>.submit()<\/code> method from your own button implementation.<\/td>\n<td><span translate=\"no\"><strong>false<\/strong><\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>The following event handler is supported for Cash App Pay:<\/p>\n<table>\n<thead>\n<tr>\n<th>Event<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>onClick(actions)<\/code><\/td>\n<td>Called when the shopper clicks the Cash App Pay Pay button. Call <code>actions.resolve()<\/code> or <code>actions.reject()<\/code> to continue or stop the payment flow.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"recurring-payments\">Recurring and card-on-file payments<\/h2>\n<p>Cash App Pay supports <a href=\"\/pt\/online-payments\/tokenization\">tokenization<\/a> of the shopper's payment details for future recurring and card-on-file payments. Card-on-file payments are ad-hoc payments where you use the shopper's token. By getting the shopper's permission to save their payment details when you create the token, you can bypass the shopper approval step for those future payments.<\/p>\n<div class=\"notices red\">\n<p>We strongly recommend that you ask explicit permission from the shopper if you intend to make future recurring or card-on-file payments. In the case of recurring payments, being transparent about the payment schedule and the amount of recurring payments reduces the risk of chargebacks.<\/p>\n<\/div>\n<p>You can:<\/p>\n<ul>\n<li><a href=\"#store-details\">Store Cash App Pay details<\/a><\/li>\n<li><a href=\"#show-stored\">Show stored Cash App Pay details<\/a><\/li>\n<li><a href=\"#cashtag\">Get the shopper's $cashtag<\/a><\/li>\n<li><a href=\"#make-a-payment-with-stored-details\">Make a one-off or recurring payment with stored Cash App Pay details<\/a><\/li>\n<li><a href=\"#token-disabled\">Receive a notification when a shopper deletes stored Cash App Pay details<\/a><\/li>\n<\/ul>\n<h3 id=\"store-details\">Store Cash App Pay details<\/h3>\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=\"tabBL7hH\">\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;How you store card details with the Cash App Pay Component depends on the Checkout API version you use:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;&lt;a href=\\&quot;#v70-or-later\\&quot;&gt;Checkout API v70 or later&lt;\\\/a&gt;&lt;\\\/li&gt;\\n&lt;li&gt;&lt;a href=\\&quot;#v69\\&quot;&gt;Checkout API v69&lt;\\\/a&gt;&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;h4&gt;v70 or later&lt;\\\/h4&gt;\\n&lt;p&gt;Send additional parameters 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 to store payment details with our &lt;a href=\\&quot;\\\/pt\\\/online-payments\\\/tokenization\\&quot;&gt;Tokenization feature&lt;\\\/a&gt; or to configure the Cash App Pay Component to let the shopper choose if they want to store their payment details.&lt;\\\/p&gt;\\n&lt;p&gt;In the  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/sessions\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/sessions&lt;\\\/a&gt; request, include:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th&gt;Parameter&lt;\\\/th&gt;\\n&lt;th&gt;Description&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;code&gt;recurringProcessingModel&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td&gt;The type of transactions you can use the stored Cash App Pay details for.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;code&gt;shopperReference&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td&gt;Your unique reference for the shopper.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;code&gt;storePaymentMethodMode&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td&gt;The setting for storing the shopper&#039;s Cash App Pay details. Set &lt;code&gt;storePaymentMethod&lt;\\\/code&gt; to &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;true&lt;\\\/strong&gt;&lt;\\\/span&gt; in the component configuration to store the details.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;p&gt;Possible values for &lt;code&gt;storePaymentMethodMode&lt;\\\/code&gt;:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th&gt;Value&lt;\\\/th&gt;\\n&lt;th&gt;Description&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;disabled&lt;\\\/strong&gt;&lt;\\\/span&gt;&lt;\\\/td&gt;\\n&lt;td&gt;Your shopper&#039;s Cash App Pay details are &lt;em&gt;not&lt;\\\/em&gt; stored.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;askForConsent&lt;\\\/strong&gt;&lt;\\\/span&gt;&lt;\\\/td&gt;\\n&lt;td&gt;the Cash App Pay Component enables your shopper to select whether they want their payment details to be stored.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;enabled&lt;\\\/strong&gt;&lt;\\\/span&gt;&lt;\\\/td&gt;\\n&lt;td&gt;Your shopper&#039;s Cash App Pay details are stored.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;p&gt;For example:&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n    &lt;code-sample :title=\\&quot;&#039;\\\/sessions request for asking shopper consent to store Cash App Pay details&#039;\\&quot; :id=\\&quot;&#039;6587034975&#039;\\&quot; :code-data=\\&quot;[{&amp;quot;language&amp;quot;:&amp;quot;bash&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;curl&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;curl https:\\\\\\\/\\\\\\\/checkout-test.adyen.com\\\\\\\/v70\\\\\\\/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;currency\\\\&amp;quot;: \\\\&amp;quot;USD\\\\&amp;quot;,\\\\n      \\\\&amp;quot;value\\\\&amp;quot;: 1000\\\\n    },\\\\n    \\\\&amp;quot;merchantAccount\\\\&amp;quot;: \\\\&amp;quot;ADYEN_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n    \\\\&amp;quot;reference\\\\&amp;quot;: \\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n    \\\\&amp;quot;recurringProcessingModel\\\\&amp;quot;: \\\\&amp;quot;CardOnFile\\\\&amp;quot;,\\\\n    \\\\&amp;quot;returnUrl\\\\&amp;quot;: \\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..\\\\&amp;quot;,\\\\n    \\\\&amp;quot;storePaymentMethodMode\\\\&amp;quot;: \\\\&amp;quot;askForConsent\\\\&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 v27.0.0\\\\nimport com.adyen.Client;\\\\nimport com.adyen.enums.Environment;\\\\nimport com.adyen.model.checkout.*;\\\\nimport java.time.OffsetDateTime;\\\\nimport java.util.*;\\\\nimport com.adyen.model.RequestOptions;\\\\nimport com.adyen.service.checkout.*;\\\\n\\\\n\\\\\\\/\\\\\\\/ For the live environment, 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;USD\\\\&amp;quot;)\\\\n  .value(1000L);\\\\n\\\\nCreateCheckoutSessionRequest createCheckoutSessionRequest = new CreateCheckoutSessionRequest()\\\\n  .reference(\\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;)\\\\n  .storePaymentMethodMode(CreateCheckoutSessionRequest.StorePaymentMethodModeEnum.ASKFORCONSENT)\\\\n  .amount(amount)\\\\n  .merchantAccount(\\\\&amp;quot;ADYEN_MERCHANT_ACCOUNT\\\\&amp;quot;)\\\\n  .recurringProcessingModel(CreateCheckoutSessionRequest.RecurringProcessingModelEnum.CARDONFILE)\\\\n  .returnUrl(\\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..\\\\&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 v19.0.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, 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;USD\\\\&amp;quot;)\\\\n  -&amp;gt;setValue(1000);\\\\n\\\\n$createCheckoutSessionRequest = new CreateCheckoutSessionRequest();\\\\n$createCheckoutSessionRequest\\\\n  -&amp;gt;setReference(\\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;)\\\\n  -&amp;gt;setStorePaymentMethodMode(\\\\&amp;quot;askForConsent\\\\&amp;quot;)\\\\n  -&amp;gt;setAmount($amount)\\\\n  -&amp;gt;setMerchantAccount(\\\\&amp;quot;ADYEN_MERCHANT_ACCOUNT\\\\&amp;quot;)\\\\n  -&amp;gt;setRecurringProcessingModel(\\\\&amp;quot;CardOnFile\\\\&amp;quot;)\\\\n  -&amp;gt;setReturnUrl(\\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..\\\\&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;USD\\\\&amp;quot;,\\\\n  Value = 1000\\\\n};\\\\n\\\\nCreateCheckoutSessionRequest createCheckoutSessionRequest = new CreateCheckoutSessionRequest\\\\n{\\\\n  Reference = \\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n  StorePaymentMethodMode = CreateCheckoutSessionRequest.StorePaymentMethodModeEnum.AskForConsent,\\\\n  Amount = amount,\\\\n  MerchantAccount = \\\\&amp;quot;ADYEN_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  RecurringProcessingModel = CreateCheckoutSessionRequest.RecurringProcessingModelEnum.CardOnFile,\\\\n  ReturnUrl = \\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..\\\\&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 v18.0.0\\\\n\\\\\\\/\\\\\\\/ Require the parts of the module you want to use\\\\nconst { Client, CheckoutAPI } = require(&#039;@adyen\\\\\\\/api-library&#039;);\\\\n\\\\\\\/\\\\\\\/ Initialize the client object\\\\n\\\\\\\/\\\\\\\/ For the live environment, additionally include your liveEndpointUrlPrefix.\\\\nconst client = new Client({apiKey: \\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;, environment: \\\\&amp;quot;TEST\\\\&amp;quot;});\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nconst createCheckoutSessionRequest = {\\\\n  amount: {\\\\n    currency: \\\\&amp;quot;USD\\\\&amp;quot;,\\\\n    value: 1000\\\\n  },\\\\n  merchantAccount: \\\\&amp;quot;ADYEN_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  reference: \\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n  recurringProcessingModel: \\\\&amp;quot;CardOnFile\\\\&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;USD\\\\&amp;quot;,\\\\n  Value: 1000,\\\\n}\\\\n\\\\ncreateCheckoutSessionRequest := checkout.CreateCheckoutSessionRequest{\\\\n  Reference: \\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n  StorePaymentMethodMode: common.PtrString(\\\\&amp;quot;askForConsent\\\\&amp;quot;),\\\\n  Amount: amount,\\\\n  MerchantAccount: \\\\&amp;quot;ADYEN_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  RecurringProcessingModel: common.PtrString(\\\\&amp;quot;CardOnFile\\\\&amp;quot;),\\\\n  ReturnUrl: \\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..\\\\&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;amount\\\\&amp;quot;: {\\\\n    \\\\&amp;quot;currency\\\\&amp;quot;: \\\\&amp;quot;USD\\\\&amp;quot;,\\\\n    \\\\&amp;quot;value\\\\&amp;quot;: 1000\\\\n  },\\\\n  \\\\&amp;quot;merchantAccount\\\\&amp;quot;: \\\\&amp;quot;ADYEN_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  \\\\&amp;quot;reference\\\\&amp;quot;: \\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n  \\\\&amp;quot;recurringProcessingModel\\\\&amp;quot;: \\\\&amp;quot;CardOnFile\\\\&amp;quot;,\\\\n  \\\\&amp;quot;returnUrl\\\\&amp;quot;: \\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..\\\\&amp;quot;,\\\\n  \\\\&amp;quot;storePaymentMethodMode\\\\&amp;quot;: \\\\&amp;quot;askForConsent\\\\&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  :amount =&amp;gt; {\\\\n    :currency =&amp;gt; &#039;USD&#039;,\\\\n    :value =&amp;gt; 1000\\\\n  },\\\\n  :merchantAccount =&amp;gt; &#039;ADYEN_MERCHANT_ACCOUNT&#039;,\\\\n  :reference =&amp;gt; &#039;YOUR_ORDER_NUMBER&#039;,\\\\n  :recurringProcessingModel =&amp;gt; &#039;CardOnFile&#039;,\\\\n  :returnUrl =&amp;gt; &#039;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..&#039;,\\\\n  :storePaymentMethodMode =&amp;gt; &#039;askForConsent&#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 v18.0.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;USD\\\\&amp;quot;,\\\\n  value: 1000\\\\n};\\\\n\\\\nconst createCheckoutSessionRequest: Types.checkout.CreateCheckoutSessionRequest = {\\\\n  reference: \\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n  storePaymentMethodMode: Types.checkout.CreateCheckoutSessionRequest.StorePaymentMethodModeEnum.AskForConsent,\\\\n  amount: amount,\\\\n  merchantAccount: \\\\&amp;quot;ADYEN_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  recurringProcessingModel: Types.checkout.CreateCheckoutSessionRequest.RecurringProcessingModelEnum.CardOnFile,\\\\n  returnUrl: \\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..\\\\&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;h4&gt;v69&lt;\\\/h4&gt;\\n&lt;p&gt;To ask the shopper if they want to store their Cash App Pay details, set &lt;code&gt;enableStoreDetails&lt;\\\/code&gt; to &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;true&lt;\\\/strong&gt;&lt;\\\/span&gt; when &lt;a href=\\&quot;#component-configuration\\&quot;&gt;adding the Cash App Pay Component&lt;\\\/a&gt;. This shows a toggle that lets the shopper choose whether to save their payment details.&lt;\\\/p&gt;\\n&lt;p&gt;To store the shopper&#039;s payment details without showing a toggle, set &lt;code&gt;storePaymentMethodMode&lt;\\\/code&gt; to &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;enabled&lt;\\\/strong&gt;&lt;\\\/span&gt; in your &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 and set &lt;code&gt;storePaymentMethod&lt;\\\/code&gt; to &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;true&lt;\\\/strong&gt;&lt;\\\/span&gt; in the  Component configuration object. Use this, for example, for a page where the shopper enters their details for a subscription service that charges the shopper on a recurring basis.&lt;\\\/p&gt;\\n&quot;,&quot;altTitle&quot;:&quot;sessions&quot;,&quot;oldTabId&quot;:&quot;1_1&quot;,&quot;relation&quot;:&quot;sessions&quot;},{&quot;title&quot;:&quot;Advanced flow&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;To store a shopper&#039;s Cash App Pay details, set &lt;code&gt;enableStoreDetails&lt;\\\/code&gt; to &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;true&lt;\\\/strong&gt;&lt;\\\/span&gt; when &lt;a href=\\&quot;#component-configuration\\&quot;&gt;adding the Cash App Pay Component&lt;\\\/a&gt;. This shows a checkbox for your shopper to choose to store their details. You can also store the details automatically by setting &lt;code&gt;storePaymentMethod&lt;\\\/code&gt; to &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;true&lt;\\\/strong&gt;&lt;\\\/span&gt; in the Component configuration.&lt;\\\/p&gt;\\n&lt;p&gt;If the shopper chooses to save their card details when making a payment, the &lt;code&gt;onChange&lt;\\\/code&gt; or &lt;code&gt;onSubmit&lt;\\\/code&gt; method from the Component includes a &lt;code&gt;state.data.storePaymentMethod&lt;\\\/code&gt;. Pass this to your server.&lt;\\\/p&gt;\\n&lt;p&gt;To create a token, include in your  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/payments&lt;\\\/a&gt; request:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;&lt;code&gt;storePaymentMethod&lt;\\\/code&gt;: The &lt;code&gt;state.data.storePaymentMethod&lt;\\\/code&gt; from your front end.&lt;\\\/li&gt;\\n&lt;li&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments#request-shopperReference\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;shopperReference&lt;\\\/a&gt;&amp;#58; Your unique identifier for the shopper.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&quot;,&quot;altTitle&quot;:&quot;advanced&quot;,&quot;oldTabId&quot;:&quot;2_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=\"show-stored\">Show stored Cash App Pay details<\/h3>\n<p>To add available stored payment details in your payment form:<\/p>\n<ol>\n<li>\n<p>In your  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/paymentMethods\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/paymentMethods<\/a> request, include:<\/p>\n<ul>\n<li> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-shopperReference\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">shopperReference<\/a>&#58; The unique shopper identifier that you specified when creating the token.\n<p><\/p><\/li>\n<\/ul>\n<\/li>\n<li>\n<p>In the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/paymentMethods\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/paymentMethods<\/a> response, note the <code>storedPaymentMethods<\/code> array. This contains the stored payment methods for this shopper.<\/p>\n<\/li>\n<li>\n<p>Add stored payment details to your payment form:<br \/>\na. Create a DOM element for stored payment methods, placing it where you want the form to be rendered:<\/p>\n<pre><code class=\"language-xml\">&lt;div id=\"stored-cashapp\"&gt;&lt;\/div&gt;<\/code><\/pre>\n<p>b. Get the stored payment methods that you want to show from the <code>checkout.paymentMethodsResponse<\/code> object, and pass this when creating an instance of the Cash App Pay Component:<\/p>\n<pre><code class=\"language-js\">const storedPaymentMethod = checkout.paymentMethodsResponse.storedPaymentMethods[0];\nconst cashAppPayElement = checkout.create(\"cashapp\", storedPaymentMethod).mount(\"#stored-cashapp\");<\/code><\/pre>\n<\/li>\n<li>\n<p>If <code>state.isValid<\/code> is <span translate=\"no\"><strong>true<\/strong><\/span>, collect the <code>state.data<\/code> and pass this to your server. You need this data to make a payment.<\/p>\n<\/li>\n<\/ol>\n<h3 id=\"cashtag\">Get the shopper's $cashtag<\/h3>\n<p>We recommend making sure that your recurring payments include the shopper's <strong>$cashtag<\/strong>. The $cashtag makes it easier for the shopper to recognize the recurring payment as a legitimate one. This helps to avoid chargebacks. <\/p>\n<p>To obtain the shopper's $cashtag, you need to make a <code>\/payments\/details<\/code> request. If you are using the Sessions flow and want to include the $cashtag in recurring payments, you need to switch to the Advanced flow and implement both the <code>\/payments\/details<\/code> request and the <code>\/payments<\/code> request.<\/p>\n\n<div id=\"tabeiLxn\">\n    <div data-component-wrapper=\"tabs\">\n        <tabs\n                        :items=\"[{&quot;title&quot;:&quot;Advanced flow&quot;,&quot;content&quot;:&quot;\\n&lt;ol&gt;\\n&lt;li&gt;Make sure that you have enabled receiving the shopper&#039;s $cashtag:&lt;br \\\/&gt;\\nIn your Customer Area, go to &lt;strong&gt;Developers&lt;\\\/strong&gt; &amp;gt; &lt;strong&gt;Additional Data&lt;\\\/strong&gt; and select &lt;strong&gt;Token information for digital wallets&lt;\\\/strong&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;Make a POST  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments\\\/details\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/payments\\\/details&lt;\\\/a&gt; request. For instructions, see  &lt;a href=\\&quot;\\\/pt\\\/online-payments\\\/build-your-integration\\\/advanced-flow?platform=Web&amp;amp;integration=Components&amp;amp;version=latest#send-additional-payment-details\\&quot;&gt;Submit additional payment details&lt;\\\/a&gt;. &lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;From the &lt;code&gt;\\\/payments\\\/details&lt;\\\/code&gt; response, save the following &lt;code&gt;additionalData&lt;\\\/code&gt; details:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Parameter&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;code&gt;additionalData.cashapp.cashtag&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;The shopper&#039;s $cashtag.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;additionalData.tokenization.shopperReference&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;The shopper reference you specified in the payment request.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;additionalData.tokenization.storedPaymentMethodId&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;The token that was generated through the payment request.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;p&gt;Note that the  &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; also includes the shopper reference and the recurring detail reference, but not the $cashtag.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;\\\/payments\\\/details response with $cashtag and recurring details&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n   \\\\\\&quot;additionalData\\\\\\&quot;: {\\\\n      \\\\\\&quot;cashapp.cashtag\\\\\\&quot;: \\\\\\&quot;$CASHTAG_C_TOKEN\\\\\\&quot;,\\\\n      \\\\\\&quot;tokenization.shopperReference\\\\\\&quot;: \\\\\\&quot;YOUR_SHOPPER_REFERENCE\\\\\\&quot;,\\\\n      \\\\\\&quot;tokenization.storedPaymentMethodId\\\\\\&quot;: \\\\\\&quot;M5N7TQ4TG5PFWR50\\\\\\&quot;\\\\n   },\\\\n   \\\\\\&quot;amount\\\\\\&quot;:{\\\\n      \\\\\\&quot;currency\\\\\\&quot;:\\\\\\&quot;USD\\\\\\&quot;,\\\\n      \\\\\\&quot;value\\\\\\&quot;:1000\\\\n   },\\\\n   \\\\\\&quot;merchantRreference\\\\\\&quot;:\\\\\\&quot;YOUR_ORDER_NUMBER\\\\\\&quot;,\\\\n   \\\\\\&quot;paymentMethod\\\\\\&quot;:{\\\\n      \\\\\\&quot;type\\\\\\&quot;:\\\\\\&quot;cashapp\\\\\\&quot;,\\\\n      \\\\\\&quot;subtype\\\\\\&quot;:\\\\\\&quot;redirect\\\\\\&quot;\\\\n   },\\\\n   \\\\\\&quot;pspReference\\\\\\&quot;:\\\\\\&quot;V4HZ4RBFJGXXGN82\\\\\\&quot;,\\\\n   \\\\\\&quot;resultCode\\\\\\&quot;:\\\\\\&quot;Authorised\\\\\\&quot;\\\\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;:&quot;advanced&quot;,&quot;oldTabId&quot;:&quot;cashtag_1&quot;,&quot;relation&quot;:&quot;advanced&quot;}]\"\n            :should-update-when-url-changes='true'>\n        <\/tabs>\n    <\/div>\n<\/div>\n\n<h3 id=\"make-a-payment-with-stored-details\">Make a payment with stored Cash App Pay details<\/h3>\n\n<div id=\"tabS7HKw\">\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 the shopper selects &lt;strong&gt;Pay&lt;\\\/strong&gt;, the Component submits the  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/payments&lt;\\\/a&gt; request.&lt;\\\/p&gt;\\n&quot;,&quot;altTitle&quot;:&quot;sessions&quot;,&quot;oldTabId&quot;:&quot;3_1&quot;,&quot;relation&quot;:&quot;sessions&quot;},{&quot;title&quot;:&quot;Advanced flow&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;When the shopper selects to pay, the Component calls the &lt;code&gt;onSubmit&lt;\\\/code&gt; event, which contains a &lt;code&gt;state.data&lt;\\\/code&gt;.&lt;\\\/p&gt;\\n&lt;ol&gt;\\n&lt;li&gt;\\n&lt;p&gt;Pass the &lt;code&gt;state.data&lt;\\\/code&gt; to your server.&lt;\\\/p&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;From your server, make a  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/payments&lt;\\\/a&gt; request, specifying:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;The parameters required for one-off or recurring tokenized payments. For instructions, see &lt;a href=\\&quot;\\\/pt\\\/online-payments\\\/tokenization\\&quot;&gt;Tokenization&lt;\\\/a&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;paymentMethod&lt;\\\/code&gt;: The &lt;code&gt;state.data.paymentMethod&lt;\\\/code&gt; from the &lt;code&gt;onSubmit&lt;\\\/code&gt; event.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;p&gt;To make it easier for the shopper to recognize the recurring payment as a legitimate one, optionally include:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;&lt;code&gt;paymentMethod.cashtag&lt;\\\/code&gt;: the shoppers &lt;a href=\\&quot;#cashtag\\&quot;&gt;$cashtag&lt;\\\/a&gt;.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;p&gt;&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Payment request with a token&#039;\\&quot; :id=\\&quot;&#039;8932268425&#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\\\\\\\/v68\\\\\\\/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;: 1000,\\\\n       \\\\&amp;quot;currency\\\\&amp;quot;: \\\\&amp;quot;USD\\\\&amp;quot;\\\\n     },\\\\n     \\\\&amp;quot;paymentMethod\\\\&amp;quot;: {\\\\n       \\\\&amp;quot;cashtag\\\\&amp;quot;:\\\\&amp;quot;$CASHTAG_C_TOKEN\\\\&amp;quot;,\\\\n       \\\\&amp;quot;storedPaymentMethodId\\\\&amp;quot;: \\\\&amp;quot;M5N7TQ4TG5PFWR50\\\\&amp;quot;,\\\\n       \\\\&amp;quot;type\\\\&amp;quot;:\\\\&amp;quot;cashapp\\\\&amp;quot;\\\\n     },\\\\n     \\\\&amp;quot;reference\\\\&amp;quot;: \\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n     \\\\&amp;quot;merchantAccount\\\\&amp;quot;: \\\\&amp;quot;ADYEN_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n     \\\\&amp;quot;returnUrl\\\\&amp;quot;: \\\\&amp;quot;...\\\\&amp;quot;,\\\\n     \\\\&amp;quot;shopperReference\\\\&amp;quot;: \\\\&amp;quot;YOUR_SHOPPER_REFERENCE\\\\&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 v27.0.0\\\\nimport com.adyen.Client;\\\\nimport com.adyen.enums.Environment;\\\\nimport com.adyen.model.checkout.*;\\\\nimport java.time.OffsetDateTime;\\\\nimport java.util.*;\\\\nimport com.adyen.model.RequestOptions;\\\\nimport com.adyen.service.checkout.*;\\\\n\\\\n\\\\\\\/\\\\\\\/ For the live environment, 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;USD\\\\&amp;quot;)\\\\n  .value(1000L);\\\\n\\\\nCashAppDetails cashAppDetails = new CashAppDetails()\\\\n  .cashtag(\\\\&amp;quot;$CASHTAG_C_TOKEN\\\\&amp;quot;),\\\\n  .storedPaymentMethodId(\\\\&amp;quot;M5N7TQ4TG5PFWR50\\\\&amp;quot;)\\\\n  .type(CashAppDetails.TypeEnum.CASHAPP);\\\\n\\\\nPaymentRequest paymentRequest = new PaymentRequest()\\\\n  .reference(\\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;)\\\\n  .amount(amount)\\\\n  .merchantAccount(\\\\&amp;quot;ADYEN_MERCHANT_ACCOUNT\\\\&amp;quot;)\\\\n  .recurringProcessingModel(PaymentRequest.RecurringProcessingModelEnum.CARDONFILE)\\\\n  .paymentMethod(new CheckoutPaymentMethod(cashAppDetails))\\\\n  .shopperInteraction(PaymentRequest.ShopperInteractionEnum.CONTAUTH)\\\\n  .returnUrl(\\\\&amp;quot;...\\\\&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;\\\\\\\/\\\\\\\/ Adyen PHP API Library v19.0.0\\\\nuse Adyen\\\\\\\\Client;\\\\nuse Adyen\\\\\\\\Environment;\\\\nuse Adyen\\\\\\\\Model\\\\\\\\Checkout\\\\\\\\Amount;\\\\nuse Adyen\\\\\\\\Model\\\\\\\\Checkout\\\\\\\\CheckoutPaymentMethod;\\\\nuse Adyen\\\\\\\\Model\\\\\\\\Checkout\\\\\\\\PaymentRequest;\\\\nuse Adyen\\\\\\\\Service\\\\\\\\Checkout\\\\\\\\PaymentsApi;\\\\n\\\\n$client = new Client();\\\\n$client-&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;USD\\\\&amp;quot;)\\\\n  -&amp;gt;setValue(1000);\\\\n\\\\n$checkoutPaymentMethod = new CheckoutPaymentMethod();\\\\n$checkoutPaymentMethod\\\\n  -&amp;gt;setCashtag(\\\\&amp;quot;$CASHTAG_C_TOKEN\\\\&amp;quot;)\\\\n  -&amp;gt;setStoredPaymentMethodId(\\\\&amp;quot;M5N7TQ4TG5PFWR50\\\\&amp;quot;)\\\\n  -&amp;gt;setType(\\\\&amp;quot;cashapp\\\\&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;ADYEN_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;...\\\\&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 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;USD\\\\&amp;quot;,\\\\n  Value = 1000\\\\n};\\\\n\\\\nCashAppDetails cashAppDetails = new CashAppDetails\\\\n{\\\\n  Cashtag = \\\\&amp;quot;$CASHTAG_C_TOKEN\\\\&amp;quot;,\\\\n  StoredPaymentMethodId = \\\\&amp;quot;M5N7TQ4TG5PFWR50\\\\&amp;quot;,\\\\n  Type = CashAppDetails.TypeEnum.Cashapp\\\\n};\\\\n\\\\nPaymentRequest paymentRequest = new PaymentRequest\\\\n{\\\\n  Reference = \\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n  Amount = amount,\\\\n  MerchantAccount = \\\\&amp;quot;ADYEN_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  RecurringProcessingModel = PaymentRequest.RecurringProcessingModelEnum.CardOnFile,\\\\n  PaymentMethod = new CheckoutPaymentMethod(cashAppDetails),\\\\n  ShopperInteraction = PaymentRequest.ShopperInteractionEnum.ContAuth,\\\\n  ReturnUrl = \\\\&amp;quot;...\\\\&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 v18.0.0\\\\n\\\\\\\/\\\\\\\/ Require the parts of the module you want to use\\\\nconst { Client, CheckoutAPI } = require(&#039;@adyen\\\\\\\/api-library&#039;);\\\\n\\\\\\\/\\\\\\\/ Initialize the client object\\\\n\\\\\\\/\\\\\\\/ For the live environment, additionally include your liveEndpointUrlPrefix.\\\\nconst client = new Client({apiKey: \\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;, environment: \\\\&amp;quot;TEST\\\\&amp;quot;});\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nconst paymentRequest = {\\\\n  amount: {\\\\n    value: 1000,\\\\n    currency: \\\\&amp;quot;USD\\\\&amp;quot;\\\\n  },\\\\n  paymentMethod: {\\\\n    cashtag: \\\\&amp;quot;$CASHTAG_C_TOKEN\\\\&amp;quot;,\\\\n    storedPaymentMethodId: \\\\&amp;quot;M5N7TQ4TG5PFWR50\\\\&amp;quot;,\\\\n    type: \\\\&amp;quot;cashapp\\\\&amp;quot;\\\\n  },\\\\n  reference: \\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n  merchantAccount: \\\\&amp;quot;ADYEN_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  returnUrl: \\\\&amp;quot;...\\\\&amp;quot;,\\\\n  shopperReference: \\\\&amp;quot;YOUR_SHOPPER_REFERENCE\\\\&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 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;USD\\\\&amp;quot;,\\\\n  Value: 1000,\\\\n}\\\\n\\\\ncashAppDetails := checkout.CashAppDetails{\\\\n  Cashtag: common.PtrString(\\\\&amp;quot;$CASHTAG_C_TOKEN\\\\&amp;quot;),\\\\n  StoredPaymentMethodId: common.PtrString(\\\\&amp;quot;M5N7TQ4TG5PFWR50\\\\&amp;quot;),\\\\n  Type: common.PtrString(\\\\&amp;quot;cashapp\\\\&amp;quot;),\\\\n}\\\\n\\\\npaymentRequest := checkout.PaymentRequest{\\\\n  Reference: \\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n  Amount: amount,\\\\n  MerchantAccount: \\\\&amp;quot;ADYEN_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  RecurringProcessingModel: common.PtrString(\\\\&amp;quot;CardOnFile\\\\&amp;quot;),\\\\n  PaymentMethod: checkout.CashAppDetailsAsCheckoutPaymentMethod(&amp;amp;cashAppDetails),\\\\n  ShopperInteraction: common.PtrString(\\\\&amp;quot;ContAuth\\\\&amp;quot;),\\\\n  ReturnUrl: \\\\&amp;quot;...\\\\&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 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;amount\\\\&amp;quot;: {\\\\n    \\\\&amp;quot;value\\\\&amp;quot;: 1000,\\\\n    \\\\&amp;quot;currency\\\\&amp;quot;: \\\\&amp;quot;USD\\\\&amp;quot;\\\\n  },\\\\n  \\\\&amp;quot;paymentMethod\\\\&amp;quot;: {\\\\n    \\\\&amp;quot;cashtag\\\\&amp;quot;: \\\\&amp;quot;$CASHTAG_C_TOKEN\\\\&amp;quot;,\\\\n    \\\\&amp;quot;storedPaymentMethodId\\\\&amp;quot;: \\\\&amp;quot;M5N7TQ4TG5PFWR50\\\\&amp;quot;,\\\\n    \\\\&amp;quot;type\\\\&amp;quot;: \\\\&amp;quot;cashapp\\\\&amp;quot;\\\\n  },\\\\n  \\\\&amp;quot;reference\\\\&amp;quot;: \\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n  \\\\&amp;quot;merchantAccount\\\\&amp;quot;: \\\\&amp;quot;ADYEN_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  \\\\&amp;quot;returnUrl\\\\&amp;quot;: \\\\&amp;quot;...\\\\&amp;quot;,\\\\n  \\\\&amp;quot;shopperReference\\\\&amp;quot;: \\\\&amp;quot;YOUR_SHOPPER_REFERENCE\\\\&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 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  :amount =&amp;gt; {\\\\n    :value =&amp;gt; 1000,\\\\n    :currency =&amp;gt; &#039;USD&#039;\\\\n  },\\\\n  :paymentMethod =&amp;gt; {\\\\n    :cashtag =&amp;gt; &#039;$CASHTAG_C_TOKEN&#039;,\\\\n    :storedPaymentMethodId =&amp;gt; &#039;M5N7TQ4TG5PFWR50&#039;,\\\\n    :type =&amp;gt; &#039;cashapp&#039;\\\\n  },\\\\n  :reference =&amp;gt; &#039;YOUR_ORDER_NUMBER&#039;,\\\\n  :merchantAccount =&amp;gt; &#039;ADYEN_MERCHANT_ACCOUNT&#039;,\\\\n  :returnUrl =&amp;gt; &#039;...&#039;,\\\\n  :shopperReference =&amp;gt; &#039;YOUR_SHOPPER_REFERENCE&#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 v18.0.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;USD\\\\&amp;quot;,\\\\n  value: 1000\\\\n};\\\\n\\\\nconst cashAppDetails: Types.checkout.CashAppDetails = {\\\\n  cashtag: \\\\&amp;quot;$CASHTAG_C_TOKEN\\\\&amp;quot;,\\\\n  storedPaymentMethodId: \\\\&amp;quot;M5N7TQ4TG5PFWR50\\\\&amp;quot;,\\\\n  type: Types.checkout.CashAppDetails.TypeEnum.Cashapp\\\\n};\\\\n\\\\nconst paymentRequest: Types.checkout.PaymentRequest = {\\\\n  reference: \\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n  amount: amount,\\\\n  merchantAccount: \\\\&amp;quot;ADYEN_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  recurringProcessingModel: Types.checkout.PaymentRequest.RecurringProcessingModelEnum.CardOnFile,\\\\n  paymentMethod: cashAppDetails,\\\\n  shopperInteraction: Types.checkout.PaymentRequest.ShopperInteractionEnum.ContAuth,\\\\n  returnUrl: \\\\&amp;quot;...\\\\&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;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;In the  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/payments&lt;\\\/a&gt; response, note the following:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;&lt;code&gt;resultCode&lt;\\\/code&gt;: Use this to &lt;a href=\\&quot;\\\/pt\\\/online-payments\\\/build-your-integration\\\/advanced-flow\\\/?platform=Web&amp;amp;integration=Drop-in#get-the-payment-outcome\\&quot;&gt;present the payment result to your shopper&lt;\\\/a&gt;.&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;Response&#039;\\&quot; :id=\\&quot;&#039;token-response&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n   \\\\\\&quot;pspReference\\\\\\&quot;: \\\\\\&quot;8815329842815468\\\\\\&quot;,\\\\n   \\\\\\&quot;resultCode\\\\\\&quot;: \\\\\\&quot;Authorised\\\\\\&quot;\\\\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;:&quot;advanced&quot;,&quot;oldTabId&quot;:&quot;4_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=\"token-disabled\">Receive a notification when a shopper deletes stored Cash App Pay details<\/h3>\n<p>When a shopper deletes their stored payment details in Cash App Pay, Adyen sends a <code>recurring.token.disabled<\/code> webhook.<br \/>\nYou can prevent future failed payments by removing the stored token for Cash App pay and asking the shopper to use another payment method.<\/p>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Example recurring.token.disabled notification'\" :id=\"'example-recurring-token-disabled'\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n\\\"createdAt\\\" : \\\"2025-08-12T18:58:11+02:00\\\",\\n\\\"environment\\\" : \\\"test\\\",\\n\\\"type\\\" : \\\"recurring.token.disabled\\\",\\n\\\"data\\\" : {\\n   \\\"merchantAccount\\\" : \\\" YOUR_MERCHANT_ACCOUNT\\\",\\n   \\\"shopperReference\\\" : \\\"YOUR_SHOPPER_REFERENCE\\\",\\n   \\\"storedPaymentMethodId\\\" : \\\"G7NRRBC9H7VGGS75\\\",\\n   \\\"type\\\" : \\\"cashapp\\\"\\n},\\n\\\"eventId\\\" : \\\"N4P54KZTS2SVS3V5\\\"\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<h2>Test and go live<\/h2>\n<p>Test your Cash App Pay integration using the test environment. You can simulate various payment scenarios using Cash App Pay <a href=\"https:\/\/developers.cash.app\/cash-app-pay-partner-api\/guides\/technical-guides\/sandbox\/developer-sandbox#magic-values\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">magic values<\/a>. You can check the status of Cash App Pay test payments in your Customer Area, under <strong>Transactions<\/strong> &gt; <strong>Payments<\/strong>.<\/p>\n<p>When you are ready to go live, add Cash App Pay in your live Customer Area.<\/p>\n","url":"https:\/\/docs.adyen.com\/pt\/payment-methods\/cash-app-pay\/web-component","articleFields":{"description":"Add Cash App Pay to an existing Components integration.","parameters":{"integration":"Components","platform":"Web","integration_guide_url":"build-your-integration\/sessions-flow?platform=Web&integration=Components","component_name":"the Cash App Pay Component","component_name_capitalized":"The Component","payment_method":"Cash App Pay","component_class":"CashAppPay","payment_method_type":"cashapp","component_js_const":"cashapp","country_code":"US","currency":"USD","return_url":"https:\/\/your-company.example.com\/checkout?shopperOrder=12xy..","add_version":true,"version":"5.44.0"},"status":"current","last_edit_on":"17-08-2023 09:59","feedback_component":true,"filters_component":false},"algolia":{"url":"https:\/\/docs.adyen.com\/pt\/payment-methods\/cash-app-pay\/web-component","title":"Cash App Pay Component","content":"This page explains how to add Cash App Pay to your existing Web Components integration.\nRequirements\nSelect the server-side flow that your integration uses:\n\n\n    \n        \n        \n    \n\n\nImport resources for v6\nIf you are using Web Components v6, import the Component that you need for Cash App Pay:\nimport { AdyenCheckout, CashAppPay } from '@adyen\/adyen-web'\nAPI reference\nYou do not need to send additional fields for Cash App Pay. To see optional fields that you can send for all payment methods, choose the endpoint you integrated:\n\n \/sessions&#58; This is the default with Components v5.0.0 or later.\n \/payments&#58; If you implemented an additional use case.\n\nComponent configuration\nStep 1: Create a DOM element\nCreate a DOM element on your checkout page, placing it where you want the payment method form to be rendered:\n &lt;div id=\"cashapp-container\"&gt;&lt;\/div&gt;\nStep 2: Create an instance of the Component\nv6.0.0 or later\nCreate an instance of the Component, passing:\n\nYour instance of AdyenCheckout.\n\nconst cashapp = new CashAppPay(checkout).mount('#cashapp-container');\n\n    \n    \n        \n            \n            \n                                    v5.x.x or earlier\n                            \n        \n        \n            \nUse the create method of your AdyenCheckout instance, in this case checkout, to create the Component:\nconst cashappComponent = checkout.create('cashapp').mount('#cashapp-container');\n\n        \n    \n\n\nFor Cash App Pay, you must pass the amount for the transaction value to be authorized.\n\nIf you use the  \/sessions endpoint, pass the amount when creating the session.\nIf you use the   \/payments endpoint, include the amount when creating an instance of AdyenCheckout.\n\nYou do not have to pass the amount for zero-value auth transactions.\nOptional configuration\nYou can add the following optional configuration:\n\n\n\nParameter name\nDescription\nDefault\n\n\n\n\nenableStoreDetails\nSet to true to show a toggle that lets the shopper choose whether to save their payment details.\nfalse\n\n\nstorePaymentMethod\nSet to true to save the shopper's payment details without showing a toggle. For example, use this for a page where the shopper enters their details for a subscription service that charges the shopper on a recurring basis.\nfalse\n\n\nbutton\nUse the available style options to configure the layout of the Pay button for Cash App Pay.\n\n\n\nshowPayButton\nShow or hide the Adyen-provided Pay button. This Pay button triggers the onSubmit event when payment details are valid. When using your own Pay button, you have to call the .submit() method from your own button implementation.\nfalse\n\n\n\nThe following event handler is supported for Cash App Pay:\n\n\n\nEvent\nDescription\n\n\n\n\nonClick(actions)\nCalled when the shopper clicks the Cash App Pay Pay button. Call actions.resolve() or actions.reject() to continue or stop the payment flow.\n\n\n\nRecurring and card-on-file payments\nCash App Pay supports tokenization of the shopper's payment details for future recurring and card-on-file payments. Card-on-file payments are ad-hoc payments where you use the shopper's token. By getting the shopper's permission to save their payment details when you create the token, you can bypass the shopper approval step for those future payments.\n\nWe strongly recommend that you ask explicit permission from the shopper if you intend to make future recurring or card-on-file payments. In the case of recurring payments, being transparent about the payment schedule and the amount of recurring payments reduces the risk of chargebacks.\n\nYou can:\n\nStore Cash App Pay details\nShow stored Cash App Pay details\nGet the shopper's $cashtag\nMake a one-off or recurring payment with stored Cash App Pay details\nReceive a notification when a shopper deletes stored Cash App Pay details\n\nStore Cash App Pay details\nSelect the server-side flow that your integration uses:\n\n\n    \n        \n        \n    \n\n\nShow stored Cash App Pay details\nTo add available stored payment details in your payment form:\n\n\nIn your  \/paymentMethods request, include:\n\n shopperReference&#58; The unique shopper identifier that you specified when creating the token.\n\n\n\n\nIn the  \/paymentMethods response, note the storedPaymentMethods array. This contains the stored payment methods for this shopper.\n\n\nAdd stored payment details to your payment form:\na. Create a DOM element for stored payment methods, placing it where you want the form to be rendered:\n&lt;div id=\"stored-cashapp\"&gt;&lt;\/div&gt;\nb. Get the stored payment methods that you want to show from the checkout.paymentMethodsResponse object, and pass this when creating an instance of the Cash App Pay Component:\nconst storedPaymentMethod = checkout.paymentMethodsResponse.storedPaymentMethods[0];\nconst cashAppPayElement = checkout.create(\"cashapp\", storedPaymentMethod).mount(\"#stored-cashapp\");\n\n\nIf state.isValid is true, collect the state.data and pass this to your server. You need this data to make a payment.\n\n\nGet the shopper's $cashtag\nWe recommend making sure that your recurring payments include the shopper's $cashtag. The $cashtag makes it easier for the shopper to recognize the recurring payment as a legitimate one. This helps to avoid chargebacks. \nTo obtain the shopper's $cashtag, you need to make a \/payments\/details request. If you are using the Sessions flow and want to include the $cashtag in recurring payments, you need to switch to the Advanced flow and implement both the \/payments\/details request and the \/payments request.\n\n\n    \n        \n        \n    \n\n\nMake a payment with stored Cash App Pay details\n\n\n    \n        \n        \n    \n\n\nReceive a notification when a shopper deletes stored Cash App Pay details\nWhen a shopper deletes their stored payment details in Cash App Pay, Adyen sends a recurring.token.disabled webhook.\nYou can prevent future failed payments by removing the stored token for Cash App pay and asking the shopper to use another payment method.\n\n    \n\nTest and go live\nTest your Cash App Pay integration using the test environment. You can simulate various payment scenarios using Cash App Pay magic values. You can check the status of Cash App Pay test payments in your Customer Area, under Transactions &gt; Payments.\nWhen you are ready to go live, add Cash App Pay in your live Customer Area.\n","type":"page","locale":"pt","boost":17,"hierarchy":{"lvl0":"Home","lvl1":"Payment methods","lvl2":"Cash App Pay","lvl3":"Cash App Pay Component"},"hierarchy_url":{"lvl0":"https:\/\/docs.adyen.com\/pt","lvl1":"https:\/\/docs.adyen.com\/pt\/payment-methods","lvl2":"https:\/\/docs.adyen.com\/pt\/payment-methods\/cash-app-pay","lvl3":"\/pt\/payment-methods\/cash-app-pay\/web-component"},"levels":4,"category":"Payment method","category_color":"green","tags":["Component"]},"articleFiles":{"2458124801.js":"<p alt=\"\">2458124801.js<\/p>","3005248396.js":"<p alt=\"\">3005248396.js<\/p>","6587034975.js":"<p alt=\"\">6587034975.js<\/p>","8932268425.js":"<p alt=\"\">8932268425.js<\/p>"}}
