{"title":"PayPal Express Checkout","category":"default","creationDate":1680617580,"content":"<p><\/p>\n<p>You can render a PayPal Express Checkout button anywhere on your site, like a product page, to let shoppers pay without going to an additional checkout page.<\/p>\n<h2>Requirements<\/h2>\n<p>Implement the <a href=\"\/pt\/payment-methods\/paypal\/web-component\">PayPal Web Component<\/a>. PayPal Express Checkout is supported from <a href=\"\/pt\/online-payments\/release-notes?integration_type=web&amp;version=5.59.0#releaseNote=2024-02-26-web-componentsdrop-in-5.59.0\">v5.59.0<\/a> and later.<\/p>\n<h2>How it works<\/h2>\n\n<div id=\"tab41MLK\">\n    <div data-component-wrapper=\"tabs\">\n        <tabs\n                        :items=\"[{&quot;title&quot;:&quot;Sessions flow&quot;,&quot;content&quot;:&quot;\\n&lt;ol&gt;\\n&lt;li&gt;You create a payment session with 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.&lt;\\\/li&gt;\\n&lt;li&gt;When the shopper selects the PayPal Express Checkout button, the Component shows a PayPal lightbox either with the delivery methods (&lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;Shipping method&lt;\\\/strong&gt;&lt;\\\/span&gt; in the PayPal lightbox) for the shopper&#039;s default delivery address or without delivery methods.&lt;\\\/li&gt;\\n&lt;li&gt;Depending on how you present the lightbox, the final payment amount can change when there is a change in delivery details. For example:\\n&lt;ul&gt;\\n&lt;li&gt;If you show the lightbox with delivery methods, and the shopper selects a different delivery method, or changes the delivery address.&lt;\\\/li&gt;\\n&lt;li&gt;If you show the lightbox without delivery methods, and the shopper changes the delivery address.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;&lt;\\\/li&gt;\\n&lt;li&gt;If the final payment amount changes, you update the amount and send it to Adyen.&lt;\\\/li&gt;\\n&lt;li&gt;When the shopper completes the payment in the PayPal lightbox, the Component receives the shopper&#039;s payment information from PayPal.&lt;\\\/li&gt;\\n&lt;\\\/ol&gt;\\n&quot;,&quot;altTitle&quot;:&quot;sessions&quot;,&quot;oldTabId&quot;:&quot;how-sessions_1&quot;,&quot;relation&quot;:&quot;sessions&quot;},{&quot;title&quot;:&quot;Advanced flow&quot;,&quot;content&quot;:&quot;\\n&lt;ol&gt;\\n&lt;li&gt;When the shopper selects the PayPal Express Checkout button, the Component makes a  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/payments&lt;\\\/a&gt; request.&lt;\\\/li&gt;\\n&lt;li&gt;The Component shows a PayPal lightbox either with the delivery methods (&lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;Shipping method&lt;\\\/strong&gt;&lt;\\\/span&gt; in the PayPal lightbox) for the shopper&#039;s default delivery address or without delivery methods.&lt;\\\/li&gt;\\n&lt;li&gt;Depending on how you present the lightbox, the final payment amount can change when there is a change in delivery details. For example:\\n&lt;ul&gt;\\n&lt;li&gt;If you show the lightbox with delivery methods, and the shopper selects a different delivery method, or changes the delivery address.&lt;\\\/li&gt;\\n&lt;li&gt;If you show the lightbox without delivery methods, and the shopper changes the delivery address.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;&lt;\\\/li&gt;\\n&lt;li&gt;If the final payment amount changes, you update the amount and send it to Adyen.&lt;\\\/li&gt;\\n&lt;li&gt;The Component makes a  &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 to authorize the payment.&lt;\\\/li&gt;\\n&lt;li&gt;When the payment is completed in the PayPal lightbox, the Component receives the shopper&#039;s payment information from PayPal.&lt;\\\/li&gt;\\n&lt;\\\/ol&gt;\\n&lt;p&gt;If you use the Advanced flow, you can additionally implement a review page where your shopper can review and confirm their payment. To learn about this flow and the setup, refer to &lt;a href=\\&quot;#review-page\\&quot;&gt;Add a payment review page&lt;\\\/a&gt;.&lt;\\\/p&gt;\\n&quot;,&quot;altTitle&quot;:&quot;advanced&quot;,&quot;oldTabId&quot;:&quot;how-advanced_2&quot;,&quot;relation&quot;:&quot;advanced&quot;}]\"\n            :should-update-when-url-changes='true'>\n        <\/tabs>\n    <\/div>\n<\/div>\n\n<div class=\"row\" style=\"align-items: center;justify-content: center;\">\n<div class=\"col col-12 col-md-1\" style=\"background-color:transparent;;\"><\/div><div class=\"col col-12 col-md-5\" style=\"background-color:transparent;;\"><p><strong>PayPal Lightbox with delivery methods:<\/strong><\/p><p><\/p><p><img alt=\"\" src=\"\/user\/pages\/docs\/08.payment-methods\/70.paypal\/02.web-component\/express-checkout\/with.png\"><\/p><\/div><div class=\"col col-12 col-md-5\" style=\"background-color:transparent;;\"><p><strong>PayPal Lightbox without delivery methods:<\/strong><\/p><p><\/p><p><img alt=\"\" src=\"\/user\/pages\/docs\/08.payment-methods\/70.paypal\/02.web-component\/express-checkout\/without.png\"><\/p><\/div><div class=\"col col-12 col-md-1\" style=\"background-color:transparent;;\"><\/div><\/div>\n<h2 id=\"set-up-paypal-express\">Set up PayPal express<\/h2>\n\n<div id=\"tabig6w9\">\n    <div data-component-wrapper=\"tabs\">\n        <tabs\n                        :items=\"[{&quot;title&quot;:&quot;Sessions flow&quot;,&quot;content&quot;:&quot;\\n&lt;h3 id=\\&quot;create-session\\&quot;&gt;1. Create a session&lt;\\\/h3&gt;\\n&lt;ol&gt;\\n&lt;li&gt;Make a POST  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/sessions\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/sessions&lt;\\\/a&gt; request.&lt;br \\\/&gt;\\nYou get a response that contains a &lt;code&gt;sessionId&lt;\\\/code&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;Store the &lt;code&gt;sessionId&lt;\\\/code&gt; in your back end.&lt;\\\/li&gt;\\n&lt;\\\/ol&gt;\\n&lt;p&gt;When you set up your Web Component integration, you &lt;a href=\\&quot;\\\/pt\\\/online-payments\\\/build-your-integration\\\/sessions-flow\\\/?platform=Web&amp;amp;integration=Components#configure\\&quot;&gt;created a global configuration object&lt;\\\/a&gt; that passes your &lt;code&gt;session.id&lt;\\\/code&gt; and &lt;code&gt;session.sessionData&lt;\\\/code&gt; to &lt;code&gt;AdyenCheckout&lt;\\\/code&gt;. After passing your session, you create the PayPal Component. For the Express Checkout flow, you do this the same way as the standard &lt;a href=\\&quot;\\\/pt\\\/payment-methods\\\/paypal\\\/web-component\\\/#component-configuration\\&quot;&gt;PayPal Web Component&lt;\\\/a&gt;.&lt;\\\/p&gt;\\n&lt;h3 id=\\&quot;update-paypal-orders-sessions\\&quot;&gt;2. Implement the API endpoint to update PayPal orders&lt;\\\/h3&gt;\\n&lt;p&gt;You need to integrate an additional endpoint to update PayPal orders when the amount changes.&lt;\\\/p&gt;\\n&lt;p&gt;Depending on how you present the PayPal lightbox, the final payment amount can change:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;&lt;strong&gt;PayPal lightbox with delivery methods&lt;\\\/strong&gt;: if your shopper changes their delivery address (&lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;Ship to&lt;\\\/strong&gt;&lt;\\\/span&gt; address in the PayPal lightbox), or selects a different delivery method, the delivery fees can change the final payment amount.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;strong&gt;PayPal lightbox without delivery methods&lt;\\\/strong&gt;: if your shopper changes their delivery address (&lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;Ship to&lt;\\\/strong&gt;&lt;\\\/span&gt; address in the PayPal lightbox), the final payment amount can change.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;p&gt;If the payment amount does not change, no additional action is required.&lt;\\\/p&gt;\\n&lt;p&gt;If the payment amount changes, update it and send it to Adyen:&lt;\\\/p&gt;\\n&lt;ol&gt;\\n&lt;li&gt;\\n&lt;p&gt;Make a POST&amp;nbsp; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/paypal\\\/updateOrder\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/paypal\\\/updateOrder&lt;\\\/a&gt; request, including the following parameters:&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;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;sessionId&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 &lt;code&gt;sessionId&lt;\\\/code&gt; from 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; response.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;code&gt;paymentData&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 &lt;code&gt;paymentData&lt;\\\/code&gt; blob that you received on your front end. &lt;br&gt; For the first request to the &lt;code&gt;\\\/paypal\\\/updateOrder&lt;\\\/code&gt; endpoint, this is the &lt;code&gt;paymentData&lt;\\\/code&gt; you received when you &lt;a href=\\&quot;#create-sessions\\&quot;&gt;created the session&lt;\\\/a&gt;. If you need to update the amount again and make a second &lt;code&gt;\\\/paypal\\\/updateOrder&lt;\\\/code&gt; request, this is the &lt;code&gt;paymentData&lt;\\\/code&gt; you received for your first &lt;code&gt;\\\/paypal\\\/updateOrder&lt;\\\/code&gt; request, and so on. &lt;div class=\\&quot;sc-notice note\\&quot;&gt;&lt;div&gt;Always use the latest &lt;code&gt;paymentData&lt;\\\/code&gt; blob.&lt;\\\/div&gt;&lt;\\\/div&gt;&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;code&gt;amount&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 &lt;code&gt;currency&lt;\\\/code&gt; and &lt;code&gt;value&lt;\\\/code&gt; of the final payment amount including the delivery fees and any taxes, in &lt;a href=\\&quot;\\\/pt\\\/development-resources\\\/currency-codes\\\/\\&quot;&gt;minor units&lt;\\\/a&gt;. If taxes are applicable, in addition pass the total tax amount separately in the &lt;code&gt;taxTotal&lt;\\\/code&gt; object.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/paypal\\\/updateOrder#request-deliveryMethods\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;deliveryMethods&lt;\\\/a&gt;&lt;\\\/td&gt;\\n&lt;td&gt;Only for PayPal lightbox with delivery methods&lt;\\\/td&gt;\\n&lt;td&gt;The array that lists the delivery methods available for the delivery address and their fees. Use the &lt;code&gt;selected&lt;\\\/code&gt; field to specify the chosen delivery method by setting it to &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;true&lt;\\\/strong&gt;&lt;\\\/span&gt;. &lt;br&gt; PayPal calls this shipping method.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/paypal\\\/updateOrder#request-taxTotal\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;taxTotal&lt;\\\/a&gt;&lt;\\\/td&gt;\\n&lt;td&gt;&lt;\\\/td&gt;\\n&lt;td&gt;An object containing an &lt;code&gt;amount&lt;\\\/code&gt; object with the &lt;code&gt;currency&lt;\\\/code&gt; and &lt;code&gt;value&lt;\\\/code&gt; of the total tax amount. If you specify &lt;code&gt;taxTotal&lt;\\\/code&gt;, you must also add the tax amount to the payment amount.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;p&gt;The following example shows how to update the payment amount if you present the PayPal lightbox with delivery methods. In this example, the item costs USD&amp;nbsp;110 including USD&amp;nbsp;10 in taxes, and the shopper selected a delivery method that is excluded from taxes and adds USD&amp;nbsp;10 in costs.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Update payment amount with delivery methods&#039;\\&quot; :id=\\&quot;&#039;delivery-methods-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\\\\\\\/v72\\\\\\\/paypal\\\\\\\/updateOrder \\\\\\\\\\\\n-H &#039;x-api-key: ADYEN_API_KEY&#039; \\\\\\\\\\\\n-H &#039;content-type: application\\\\\\\/json&#039; \\\\\\\\\\\\n-d &#039;{\\\\n   \\\\&amp;quot;sessionId\\\\&amp;quot;: \\\\&amp;quot;CS12345679\\\\&amp;quot;,\\\\n   \\\\&amp;quot;paymentData\\\\&amp;quot;: \\\\&amp;quot;XYZ...\\\\&amp;quot;,\\\\n   \\\\&amp;quot;amount\\\\&amp;quot;: {\\\\n      \\\\&amp;quot;currency\\\\&amp;quot;: \\\\&amp;quot;USD\\\\&amp;quot;,\\\\n      \\\\&amp;quot;value\\\\&amp;quot;: 12000\\\\n   },\\\\n   \\\\&amp;quot;deliveryMethods\\\\&amp;quot;: [\\\\n      {\\\\n         \\\\&amp;quot;reference\\\\&amp;quot;: \\\\&amp;quot;1\\\\&amp;quot;,\\\\n         \\\\&amp;quot;description\\\\&amp;quot;: \\\\&amp;quot;Express Shipping\\\\&amp;quot;,\\\\n         \\\\&amp;quot;type\\\\&amp;quot;: \\\\&amp;quot;Shipping\\\\&amp;quot;,\\\\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;selected\\\\&amp;quot;: true\\\\n      },\\\\n      {\\\\n         \\\\&amp;quot;reference\\\\&amp;quot;: \\\\&amp;quot;2\\\\&amp;quot;,\\\\n         \\\\&amp;quot;description\\\\&amp;quot;: \\\\&amp;quot;Standard Ground\\\\&amp;quot;,\\\\n         \\\\&amp;quot;type\\\\&amp;quot;: \\\\&amp;quot;Shipping\\\\&amp;quot;,\\\\n         \\\\&amp;quot;amount\\\\&amp;quot;: {\\\\n            \\\\&amp;quot;currency\\\\&amp;quot;: \\\\&amp;quot;USD\\\\&amp;quot;,\\\\n            \\\\&amp;quot;value\\\\&amp;quot;: 500\\\\n         },\\\\n         \\\\&amp;quot;selected\\\\&amp;quot;: false\\\\n     }\\\\n   ]\\\\n}&#039;&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;java&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Java&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Java API Library 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 deliveryMethodAmount1 = new Amount()\\\\n  .currency(\\\\&amp;quot;EUR\\\\&amp;quot;)\\\\n  .value(1000L);\\\\n\\\\nAmount deliveryMethodAmount2 = new Amount()\\\\n  .currency(\\\\&amp;quot;EUR\\\\&amp;quot;)\\\\n  .value(500L);\\\\n\\\\nAmount amount = new Amount()\\\\n  .currency(\\\\&amp;quot;EUR\\\\&amp;quot;)\\\\n  .value(12000L);\\\\n\\\\nDeliveryMethod deliveryMethod1 = new DeliveryMethod()\\\\n  .reference(\\\\&amp;quot;1\\\\&amp;quot;)\\\\n  .amount(deliveryMethodAmount1)\\\\n  .description(\\\\&amp;quot;Express Shipping\\\\&amp;quot;)\\\\n  .type(DeliveryMethod.TypeEnum.SHIPPING)\\\\n  .selected(true);\\\\n\\\\nDeliveryMethod deliveryMethod2 = new DeliveryMethod()\\\\n  .reference(\\\\&amp;quot;2\\\\&amp;quot;)\\\\n  .amount(deliveryMethodAmount2)\\\\n  .description(\\\\&amp;quot;Standard Ground\\\\&amp;quot;)\\\\n  .type(DeliveryMethod.TypeEnum.SHIPPING)\\\\n  .selected(false);\\\\n\\\\nPaypalUpdateOrderRequest paypalUpdateOrderRequest = new PaypalUpdateOrderRequest()\\\\n  .amount(amount)\\\\n  .paymentData(\\\\&amp;quot;XYZ...\\\\&amp;quot;)\\\\n  .sessionId(\\\\&amp;quot;CS12345679\\\\&amp;quot;)\\\\n  .deliveryMethods(Arrays.asList(deliveryMethod1, deliveryMethod2));\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nUtilityApi service = new UtilityApi(client);\\\\nPaypalUpdateOrderResponse response = service.updatesOrderForPaypalExpressCheckout(paypalUpdateOrderRequest, 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\\\\\\\\DeliveryMethod;\\\\nuse Adyen\\\\\\\\Model\\\\\\\\Checkout\\\\\\\\PaypalUpdateOrderRequest;\\\\nuse Adyen\\\\\\\\Service\\\\\\\\Checkout\\\\\\\\UtilityApi;\\\\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$deliveryMethodAmount1 = new Amount();\\\\n$deliveryMethodAmount1\\\\n  -&amp;gt;setCurrency(\\\\&amp;quot;EUR\\\\&amp;quot;)\\\\n  -&amp;gt;setValue(1000);\\\\n\\\\n$deliveryMethodAmount2 = new Amount();\\\\n$deliveryMethodAmount2\\\\n  -&amp;gt;setCurrency(\\\\&amp;quot;EUR\\\\&amp;quot;)\\\\n  -&amp;gt;setValue(500);\\\\n\\\\n$amount = new Amount();\\\\n$amount\\\\n  -&amp;gt;setCurrency(\\\\&amp;quot;EUR\\\\&amp;quot;)\\\\n  -&amp;gt;setValue(12000);\\\\n\\\\n$deliveryMethod1 = new DeliveryMethod();\\\\n$deliveryMethod1\\\\n  -&amp;gt;setReference(\\\\&amp;quot;1\\\\&amp;quot;)\\\\n  -&amp;gt;setAmount($deliveryMethodAmount1)\\\\n  -&amp;gt;setDescription(\\\\&amp;quot;Express Shipping\\\\&amp;quot;)\\\\n  -&amp;gt;setType(\\\\&amp;quot;Shipping\\\\&amp;quot;)\\\\n  -&amp;gt;setSelected(true);\\\\n\\\\n$deliveryMethod2 = new DeliveryMethod();\\\\n$deliveryMethod2\\\\n  -&amp;gt;setReference(\\\\&amp;quot;2\\\\&amp;quot;)\\\\n  -&amp;gt;setAmount($deliveryMethodAmount2)\\\\n  -&amp;gt;setDescription(\\\\&amp;quot;Standard Ground\\\\&amp;quot;)\\\\n  -&amp;gt;setType(\\\\&amp;quot;Shipping\\\\&amp;quot;)\\\\n  -&amp;gt;setSelected(false);\\\\n\\\\n$paypalUpdateOrderRequest = new PaypalUpdateOrderRequest();\\\\n$paypalUpdateOrderRequest\\\\n  -&amp;gt;setAmount($amount)\\\\n  -&amp;gt;setPaymentData(\\\\&amp;quot;XYZ...\\\\&amp;quot;)\\\\n  -&amp;gt;setSessionId(\\\\&amp;quot;CS12345679\\\\&amp;quot;)\\\\n  -&amp;gt;setDeliveryMethods(array($deliveryMethod1, $deliveryMethod2));\\\\n\\\\n$requestOptions[&#039;idempotencyKey&#039;] = &#039;UUID&#039;;\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\n$service = new UtilityApi($client);\\\\n$response = $service-&amp;gt;updatesOrderForPaypalExpressCheckout($paypalUpdateOrderRequest, $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 deliveryMethodAmount1 = new Amount\\\\n{\\\\n  Currency = \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n  Value = 1000\\\\n};\\\\n\\\\nAmount deliveryMethodAmount2 = new Amount\\\\n{\\\\n  Currency = \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n  Value = 500\\\\n};\\\\n\\\\nAmount amount = new Amount\\\\n{\\\\n  Currency = \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n  Value = 12000\\\\n};\\\\n\\\\nDeliveryMethod deliveryMethod1 = new DeliveryMethod\\\\n{\\\\n  Reference = \\\\&amp;quot;1\\\\&amp;quot;,\\\\n  Amount = deliveryMethodAmount1,\\\\n  Description = \\\\&amp;quot;Express Shipping\\\\&amp;quot;,\\\\n  Type = DeliveryMethod.TypeEnum.Shipping,\\\\n  Selected = true\\\\n};\\\\n\\\\nDeliveryMethod deliveryMethod2 = new DeliveryMethod\\\\n{\\\\n  Reference = \\\\&amp;quot;2\\\\&amp;quot;,\\\\n  Amount = deliveryMethodAmount2,\\\\n  Description = \\\\&amp;quot;Standard Ground\\\\&amp;quot;,\\\\n  Type = DeliveryMethod.TypeEnum.Shipping,\\\\n  Selected = false\\\\n};\\\\n\\\\nPaypalUpdateOrderRequest paypalUpdateOrderRequest = new PaypalUpdateOrderRequest\\\\n{\\\\n  Amount = amount,\\\\n  PaymentData = \\\\&amp;quot;XYZ...\\\\&amp;quot;,\\\\n  SessionId = \\\\&amp;quot;CS12345679\\\\&amp;quot;,\\\\n  DeliveryMethods = new List&amp;lt;DeliveryMethod&amp;gt;{ deliveryMethod1, deliveryMethod2 }\\\\n};\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nvar service = new UtilityService(client);\\\\nvar response = service.UpdatesOrderForPaypalExpressCheckout(paypalUpdateOrderRequest, 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 paypalUpdateOrderRequest = {\\\\n  sessionId: \\\\&amp;quot;CS12345679\\\\&amp;quot;,\\\\n  paymentData: \\\\&amp;quot;XYZ...\\\\&amp;quot;,\\\\n  amount: {\\\\n    currency: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n    value: 12000\\\\n  },\\\\n  deliveryMethods: [ {\\\\n    reference: \\\\&amp;quot;1\\\\&amp;quot;,\\\\n    description: \\\\&amp;quot;Express Shipping\\\\&amp;quot;,\\\\n    type: \\\\&amp;quot;Shipping\\\\&amp;quot;,\\\\n    amount: {\\\\n      currency: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n      value: 1000\\\\n    },\\\\n    selected: true\\\\n  }, {\\\\n    reference: \\\\&amp;quot;2\\\\&amp;quot;,\\\\n    description: \\\\&amp;quot;Standard Ground\\\\&amp;quot;,\\\\n    type: \\\\&amp;quot;Shipping\\\\&amp;quot;,\\\\n    amount: {\\\\n      currency: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n      value: 500\\\\n    },\\\\n    selected: false\\\\n  } ]\\\\n}\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nconst checkoutAPI = new CheckoutAPI(client);\\\\nconst response = checkoutAPI.UtilityApi.updatesOrderForPaypalExpressCheckout(paypalUpdateOrderRequest, { 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)\\\\ndeliveryMethodAmount1 := checkout.Amount{\\\\n  Currency: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n  Value: 1000,\\\\n}\\\\n\\\\ndeliveryMethodAmount2 := checkout.Amount{\\\\n  Currency: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n  Value: 500,\\\\n}\\\\n\\\\namount := checkout.Amount{\\\\n  Currency: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n  Value: 12000,\\\\n}\\\\n\\\\ndeliveryMethod1 := checkout.DeliveryMethod{\\\\n  Reference: common.PtrString(\\\\&amp;quot;1\\\\&amp;quot;),\\\\n  Amount: &amp;amp;deliveryMethodAmount1,\\\\n  Description: common.PtrString(\\\\&amp;quot;Express Shipping\\\\&amp;quot;),\\\\n  Type: common.PtrString(\\\\&amp;quot;Shipping\\\\&amp;quot;),\\\\n  Selected: common.PtrBool(true),\\\\n}\\\\n\\\\ndeliveryMethod2 := checkout.DeliveryMethod{\\\\n  Reference: common.PtrString(\\\\&amp;quot;2\\\\&amp;quot;),\\\\n  Amount: &amp;amp;deliveryMethodAmount2,\\\\n  Description: common.PtrString(\\\\&amp;quot;Standard Ground\\\\&amp;quot;),\\\\n  Type: common.PtrString(\\\\&amp;quot;Shipping\\\\&amp;quot;),\\\\n  Selected: common.PtrBool(false),\\\\n}\\\\n\\\\npaypalUpdateOrderRequest := checkout.PaypalUpdateOrderRequest{\\\\n  Amount: &amp;amp;amount,\\\\n  PaymentData: common.PtrString(\\\\&amp;quot;XYZ...\\\\&amp;quot;),\\\\n  SessionId: common.PtrString(\\\\&amp;quot;CS12345679\\\\&amp;quot;),\\\\n  DeliveryMethods: []checkout.DeliveryMethod{\\\\n      deliveryMethod1, deliveryMethod2,\\\\n  },\\\\n}\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nservice := client.Checkout()\\\\nreq := service.UtilityApi.UpdatesOrderForPaypalExpressCheckoutInput().IdempotencyKey(\\\\&amp;quot;UUID\\\\&amp;quot;).PaypalUpdateOrderRequest(paypalUpdateOrderRequest)\\\\nres, httpRes, err := service.UtilityApi.UpdatesOrderForPaypalExpressCheckout(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;sessionId\\\\&amp;quot;: \\\\&amp;quot;CS12345679\\\\&amp;quot;,\\\\n  \\\\&amp;quot;paymentData\\\\&amp;quot;: \\\\&amp;quot;XYZ...\\\\&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;: 12000\\\\n  },\\\\n  \\\\&amp;quot;deliveryMethods\\\\&amp;quot;: [ {\\\\n    \\\\&amp;quot;reference\\\\&amp;quot;: \\\\&amp;quot;1\\\\&amp;quot;,\\\\n    \\\\&amp;quot;description\\\\&amp;quot;: \\\\&amp;quot;Express Shipping\\\\&amp;quot;,\\\\n    \\\\&amp;quot;type\\\\&amp;quot;: \\\\&amp;quot;Shipping\\\\&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;: 1000\\\\n    },\\\\n    \\\\&amp;quot;selected\\\\&amp;quot;: True\\\\n  }, {\\\\n    \\\\&amp;quot;reference\\\\&amp;quot;: \\\\&amp;quot;2\\\\&amp;quot;,\\\\n    \\\\&amp;quot;description\\\\&amp;quot;: \\\\&amp;quot;Standard Ground\\\\&amp;quot;,\\\\n    \\\\&amp;quot;type\\\\&amp;quot;: \\\\&amp;quot;Shipping\\\\&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;: 500\\\\n    },\\\\n    \\\\&amp;quot;selected\\\\&amp;quot;: False\\\\n  } ]\\\\n}\\\\n\\\\n# Send the request\\\\nresult = adyen.checkout.utility_api.updates_order_for_paypal_express_checkout(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  :sessionId =&amp;gt; &#039;CS12345679&#039;,\\\\n  :paymentData =&amp;gt; &#039;XYZ...&#039;,\\\\n  :amount =&amp;gt; {\\\\n    :currency =&amp;gt; &#039;EUR&#039;,\\\\n    :value =&amp;gt; 12000\\\\n  },\\\\n  :deliveryMethods =&amp;gt; [ {\\\\n    :reference =&amp;gt; &#039;1&#039;,\\\\n    :description =&amp;gt; &#039;Express Shipping&#039;,\\\\n    :type =&amp;gt; &#039;Shipping&#039;,\\\\n    :amount =&amp;gt; {\\\\n      :currency =&amp;gt; &#039;EUR&#039;,\\\\n      :value =&amp;gt; 1000\\\\n    },\\\\n    :selected =&amp;gt; true\\\\n  }, {\\\\n    :reference =&amp;gt; &#039;2&#039;,\\\\n    :description =&amp;gt; &#039;Standard Ground&#039;,\\\\n    :type =&amp;gt; &#039;Shipping&#039;,\\\\n    :amount =&amp;gt; {\\\\n      :currency =&amp;gt; &#039;EUR&#039;,\\\\n      :value =&amp;gt; 500\\\\n    },\\\\n    :selected =&amp;gt; false\\\\n  } ]\\\\n}\\\\n\\\\n# Send the request\\\\nresult = adyen.checkout.utility_api.updates_order_for_paypal_express_checkout(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 deliveryMethodAmount1: Types.checkout.Amount = {\\\\n  currency: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n  value: 1000\\\\n};\\\\n\\\\nconst deliveryMethodAmount2: Types.checkout.Amount = {\\\\n  currency: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n  value: 500\\\\n};\\\\n\\\\nconst amount: Types.checkout.Amount = {\\\\n  currency: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n  value: 12000\\\\n};\\\\n\\\\nconst deliveryMethod1: Types.checkout.DeliveryMethod = {\\\\n  reference: \\\\&amp;quot;1\\\\&amp;quot;,\\\\n  amount: deliveryMethodAmount1,\\\\n  description: \\\\&amp;quot;Express Shipping\\\\&amp;quot;,\\\\n  type: Types.checkout.DeliveryMethod.TypeEnum.Shipping,\\\\n  selected: true\\\\n};\\\\n\\\\nconst deliveryMethod2: Types.checkout.DeliveryMethod = {\\\\n  reference: \\\\&amp;quot;2\\\\&amp;quot;,\\\\n  amount: deliveryMethodAmount2,\\\\n  description: \\\\&amp;quot;Standard Ground\\\\&amp;quot;,\\\\n  type: Types.checkout.DeliveryMethod.TypeEnum.Shipping,\\\\n  selected: false\\\\n};\\\\n\\\\nconst paypalUpdateOrderRequest: Types.checkout.PaypalUpdateOrderRequest = {\\\\n  amount: amount,\\\\n  paymentData: \\\\&amp;quot;XYZ...\\\\&amp;quot;,\\\\n  sessionId: \\\\&amp;quot;CS12345679\\\\&amp;quot;,\\\\n  deliveryMethods: [deliveryMethod1, deliveryMethod2]\\\\n};\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nconst checkoutAPI = new CheckoutAPI(client);\\\\nconst response = checkoutAPI.UtilityApi.updatesOrderForPaypalExpressCheckout(paypalUpdateOrderRequest, { 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;The next example shows the same amount update if you present the PayPal lightbox without delivery methods.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Update payment amount without delivery methods&#039;\\&quot; :id=\\&quot;&#039;update-amount-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\\\\\\\/v72\\\\\\\/paypal\\\\\\\/updateOrder \\\\\\\\\\\\n-H &#039;x-api-key: ADYEN_API_KEY&#039; \\\\\\\\\\\\n-H &#039;content-type: application\\\\\\\/json&#039; \\\\\\\\\\\\n-d &#039;{\\\\n   \\\\&amp;quot;sessionId\\\\&amp;quot;:\\\\&amp;quot;CS12345678\\\\&amp;quot;,\\\\n   \\\\&amp;quot;paymentData\\\\&amp;quot;: \\\\&amp;quot;XYZ...\\\\&amp;quot;,\\\\n   \\\\&amp;quot;amount\\\\&amp;quot;: {\\\\n      \\\\&amp;quot;currency\\\\&amp;quot;: \\\\&amp;quot;USD\\\\&amp;quot;,\\\\n      \\\\&amp;quot;value\\\\&amp;quot;: 12000\\\\n   }\\\\n}&#039;&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;java&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Java&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Java API Library 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;EUR\\\\&amp;quot;)\\\\n  .value(12000L);\\\\n\\\\nPaypalUpdateOrderRequest paypalUpdateOrderRequest = new PaypalUpdateOrderRequest()\\\\n  .amount(amount)\\\\n  .paymentData(\\\\&amp;quot;XYZ...\\\\&amp;quot;)\\\\n  .sessionId(\\\\&amp;quot;CS12345678\\\\&amp;quot;);\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nUtilityApi service = new UtilityApi(client);\\\\nPaypalUpdateOrderResponse response = service.updatesOrderForPaypalExpressCheckout(paypalUpdateOrderRequest, 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\\\\\\\\PaypalUpdateOrderRequest;\\\\nuse Adyen\\\\\\\\Service\\\\\\\\Checkout\\\\\\\\UtilityApi;\\\\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(12000);\\\\n\\\\n$paypalUpdateOrderRequest = new PaypalUpdateOrderRequest();\\\\n$paypalUpdateOrderRequest\\\\n  -&amp;gt;setAmount($amount)\\\\n  -&amp;gt;setPaymentData(\\\\&amp;quot;XYZ...\\\\&amp;quot;)\\\\n  -&amp;gt;setSessionId(\\\\&amp;quot;CS12345678\\\\&amp;quot;);\\\\n\\\\n$requestOptions[&#039;idempotencyKey&#039;] = &#039;UUID&#039;;\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\n$service = new UtilityApi($client);\\\\n$response = $service-&amp;gt;updatesOrderForPaypalExpressCheckout($paypalUpdateOrderRequest, $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 = 12000\\\\n};\\\\n\\\\nPaypalUpdateOrderRequest paypalUpdateOrderRequest = new PaypalUpdateOrderRequest\\\\n{\\\\n  Amount = amount,\\\\n  PaymentData = \\\\&amp;quot;XYZ...\\\\&amp;quot;,\\\\n  SessionId = \\\\&amp;quot;CS12345678\\\\&amp;quot;\\\\n};\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nvar service = new UtilityService(client);\\\\nvar response = service.UpdatesOrderForPaypalExpressCheckout(paypalUpdateOrderRequest, 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 paypalUpdateOrderRequest = {\\\\n  sessionId: \\\\&amp;quot;CS12345678\\\\&amp;quot;,\\\\n  paymentData: \\\\&amp;quot;XYZ...\\\\&amp;quot;,\\\\n  amount: {\\\\n    currency: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n    value: 12000\\\\n  }\\\\n}\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nconst checkoutAPI = new CheckoutAPI(client);\\\\nconst response = checkoutAPI.UtilityApi.updatesOrderForPaypalExpressCheckout(paypalUpdateOrderRequest, { 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: 12000,\\\\n}\\\\n\\\\npaypalUpdateOrderRequest := checkout.PaypalUpdateOrderRequest{\\\\n  Amount: &amp;amp;amount,\\\\n  PaymentData: common.PtrString(\\\\&amp;quot;XYZ...\\\\&amp;quot;),\\\\n  SessionId: common.PtrString(\\\\&amp;quot;CS12345678\\\\&amp;quot;),\\\\n}\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nservice := client.Checkout()\\\\nreq := service.UtilityApi.UpdatesOrderForPaypalExpressCheckoutInput().IdempotencyKey(\\\\&amp;quot;UUID\\\\&amp;quot;).PaypalUpdateOrderRequest(paypalUpdateOrderRequest)\\\\nres, httpRes, err := service.UtilityApi.UpdatesOrderForPaypalExpressCheckout(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;sessionId\\\\&amp;quot;: \\\\&amp;quot;CS12345678\\\\&amp;quot;,\\\\n  \\\\&amp;quot;paymentData\\\\&amp;quot;: \\\\&amp;quot;XYZ...\\\\&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;: 12000\\\\n  }\\\\n}\\\\n\\\\n# Send the request\\\\nresult = adyen.checkout.utility_api.updates_order_for_paypal_express_checkout(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  :sessionId =&amp;gt; &#039;CS12345678&#039;,\\\\n  :paymentData =&amp;gt; &#039;XYZ...&#039;,\\\\n  :amount =&amp;gt; {\\\\n    :currency =&amp;gt; &#039;EUR&#039;,\\\\n    :value =&amp;gt; 12000\\\\n  }\\\\n}\\\\n\\\\n# Send the request\\\\nresult = adyen.checkout.utility_api.updates_order_for_paypal_express_checkout(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;EUR\\\\&amp;quot;,\\\\n  value: 12000\\\\n};\\\\n\\\\nconst paypalUpdateOrderRequest: Types.checkout.PaypalUpdateOrderRequest = {\\\\n  amount: amount,\\\\n  paymentData: \\\\&amp;quot;XYZ...\\\\&amp;quot;,\\\\n  sessionId: \\\\&amp;quot;CS12345678\\\\&amp;quot;\\\\n};\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nconst checkoutAPI = new CheckoutAPI(client);\\\\nconst response = checkoutAPI.UtilityApi.updatesOrderForPaypalExpressCheckout(paypalUpdateOrderRequest, { 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;From the response, get the updated &lt;code&gt;paymentData&lt;\\\/code&gt; and pass this new value to your front end.&lt;br \\\/&gt;\\nWith each update, the &lt;code&gt;paymentData&lt;\\\/code&gt; value changes. To complete the payment, the Component needs the latest value.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Example successful update response&#039;\\&quot; :id=\\&quot;&#039;response-update-sessions&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;bash\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n   \\\\\\&quot;paymentData\\\\\\&quot;: \\\\\\&quot;ABC...\\\\\\&quot;,\\\\n   \\\\\\&quot;status\\\\\\&quot;: \\\\\\&quot;success\\\\\\&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;p&gt;If your request fails, you receive a response that contains an &lt;code&gt;errorCode&lt;\\\/code&gt;. Use the &lt;code&gt;errorType&lt;\\\/code&gt; and &lt;code&gt;message&lt;\\\/code&gt; fields to troubleshoot the error.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Example failed update response&#039;\\&quot; :id=\\&quot;&#039;response-update-sessions&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;bash\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n   \\\\\\&quot;status\\\\\\&quot;: 422,\\\\n   \\\\\\&quot;errorCode\\\\\\&quot;: \\\\\\&quot;000\\\\\\&quot;,\\\\n   \\\\\\&quot;message\\\\\\&quot;: \\\\\\&quot;Only 1 deliveryMethod should be selected\\\\\\&quot;,\\\\n   \\\\\\&quot;errorType\\\\\\&quot;: \\\\\\&quot;validation\\\\\\&quot;,\\\\n   \\\\\\&quot;pspReference\\\\\\&quot;: \\\\\\&quot;993617895204576J\\\\\\&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&lt;h3&gt;3. Add additional PayPal configuration&lt;\\\/h3&gt;\\n&lt;p&gt;In the PayPal configuration object, set the property &lt;code&gt;isExpress&lt;\\\/code&gt; to &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;true&lt;\\\/strong&gt;&lt;\\\/span&gt;.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n    &lt;code-sample :title=\\&quot;&#039;Configure isExpress&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;js\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;const payPalConfiguration = {\\\\n    isExpress: true,\\\\n    \\\\\\\/\\\\\\\/ ... Your other configurations.\\\\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;h3&gt;4. Handle delivery address changes&lt;\\\/h3&gt;\\n&lt;p&gt;Implement the &lt;a href=\\&quot;https:\\\/\\\/developer.paypal.com\\\/sdk\\\/js\\\/reference\\\/#link-onshippingaddresschange\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot; class=\\&quot;external-link no-image\\&quot;&gt;\\n  &lt;code&gt;onShippingAddressChange&lt;\\\/code&gt;\\n&lt;\\\/a&gt; event in your PayPal configuration object. The event is triggered when the PayPal lightbox opens. You make an initial &lt;a href=\\&quot;#update-paypal-orders-sessions\\&quot;&gt;POST\\u00a0&lt;code&gt;\\\/paypal\\\/updateOrder&lt;\\\/code&gt; request&lt;\\\/a&gt;.&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;&lt;strong&gt;PayPal lightbox with delivery methods&lt;\\\/strong&gt;: with your initial request, you pass the available delivery methods to Adyen, based on the shopper&#039;s default shipping address.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;strong&gt;PayPal lightbox without delivery methods&lt;\\\/strong&gt;: with your initial request, you pass the current payment amount to Adyen.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;p&gt;If your shopper changes their delivery address, the &lt;code&gt;onShippingAddressChange&lt;\\\/code&gt; event is triggered again. For the PayPal lightbox with delivery methods, you then need to &lt;a href=\\&quot;#handle-delivery-method-changes-sessions\\&quot;&gt;handle the delivery method changes&lt;\\\/a&gt;. For the PayPal lightbox without delivery methods, you make a POST&amp;nbsp; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/paypal\\\/updateOrder\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/paypal\\\/updateOrder&lt;\\\/a&gt; request to update the final amount.&lt;\\\/p&gt;\\n&lt;p&gt;Implement your own function to make a POST  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/paypal\\\/updateOrder\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/paypal\\\/updateOrder&lt;\\\/a&gt; request and update the amount. Below is an example that uses the &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;updatePayPalOrder&lt;\\\/strong&gt;&lt;\\\/span&gt; function. You need to pass the updated &lt;code&gt;paymentData&lt;\\\/code&gt; you get in the response to the Component.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n    &lt;code-sample :title=\\&quot;&#039;Implement onShippingAddressChange&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=\\&quot;[{&amp;quot;language&amp;quot;:&amp;quot;js&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;const payPalConfiguration = {\\\\n    isExpress: true,\\\\n    onShippingAddressChange: async function(data, actions, component) {\\\\n        \\\\\\\/\\\\\\\/ Example: not shipping to NL.\\\\n        if (data.shippingAddress.countryCode == &#039;NL&#039;) {\\\\n            return actions.reject();\\\\n        }\\\\n\\\\n        \\\\\\\/\\\\\\\/ Get the current paymentData value stored within the Component.\\\\n        const currentPaymentData = component.paymentData;\\\\n\\\\n        \\\\\\\/\\\\\\\/ Implement the code to call your backend endpoint to update the final amount based on the selected delivery method, passing the paymentData.\\\\n        const { paymentData } = await updatePayPalOrder(data.shippingAddress, currentPaymentData);\\\\n\\\\n        \\\\\\\/\\\\\\\/ Update the Component paymentData value with the new one.\\\\n        component.updatePaymentData(paymentData);\\\\n    },\\\\n    \\\\\\\/\\\\\\\/ ... Your other configurations.\\\\n}&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;Handle errors&lt;\\\/h4&gt;\\n&lt;p&gt;If an error occurs, PayPal returns an error in the &lt;code&gt;data&lt;\\\/code&gt; object that you must pass to &lt;code&gt;action.reject()&lt;\\\/code&gt;. You can optionally use the included error message for some validation scenarios.&lt;\\\/p&gt;\\n&lt;h3 id=\\&quot;handle-delivery-method-changes-sessions\\&quot;&gt;5. Handle delivery method changes&lt;\\\/h3&gt;\\n&lt;div class=\\&quot;notices green\\&quot;&gt;\\n&lt;p&gt;This step is only required if you present default delivery methods when the PayPal lightbox opens.&lt;\\\/p&gt;\\n&lt;\\\/div&gt;\\n&lt;p&gt;PayPal labels the delivery method the &lt;code&gt;ShippingOption&lt;\\\/code&gt;.&lt;\\\/p&gt;\\n&lt;p&gt;Implement the &lt;a href=\\&quot;https:\\\/\\\/developer.paypal.com\\\/sdk\\\/js\\\/reference\\\/#link-onshippingoptionschange\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot; class=\\&quot;external-link no-image\\&quot;&gt;\\n  &lt;code&gt;onShippingOptionsChange&lt;\\\/code&gt;\\n&lt;\\\/a&gt; event in your PayPal configuration object to handle situations where the shopper selects a different delivery method.&lt;\\\/p&gt;\\n&lt;p&gt;Make a POST  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/paypal\\\/updateOrder\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/paypal\\\/updateOrder&lt;\\\/a&gt; request. In your request, specify the chosen delivery method by setting &lt;code&gt;selected&lt;\\\/code&gt;:&lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;true&lt;\\\/strong&gt;&lt;\\\/span&gt;, and update the &lt;code&gt;amount.value&lt;\\\/code&gt; based on the selected delivery method.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n    &lt;code-sample :title=\\&quot;&#039;Implement onShippingOptionsChange&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=\\&quot;[{&amp;quot;language&amp;quot;:&amp;quot;js&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;const payPalConfiguration = {\\\\n        isExpress: true,\\\\n        onShippingAddressChange: function(data, actions, component) {...},\\\\n        onShippingOptionsChange: async function(data, actions, component) {\\\\n            \\\\\\\/\\\\\\\/ Example: PostNL is unavailable.\\\\n            if (data.selectedShippingOption.label.includes(&#039;PostNL&#039;)) {\\\\n                return actions.reject(data.errors.METHOD_UNAVAILABLE);\\\\n            }\\\\n\\\\n            \\\\\\\/\\\\\\\/ Get the current paymentData value stored within the Component.\\\\n            const currentPaymentData = component.paymentData;\\\\n\\\\n            \\\\\\\/\\\\\\\/ Implement the code to call your backend endpoint to update the final amount based on the selected delivery method, passing the paymentData.\\\\n            const { paymentData } =await updatePayPalOrder(data.selectedShippingOption, currentPaymentData)\\\\n\\\\n            \\\\\\\/\\\\\\\/ Update the Component paymentData value with the new one.\\\\n            component.updatePaymentData(paymentData);\\\\n        }\\\\n    },\\\\n    \\\\\\\/\\\\\\\/ ... Your other configurations.&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;6. Get the shopper&#039;s payment information&lt;\\\/h3&gt;\\n&lt;p&gt;After the shopper completes the payment in the PayPal lightbox and the lightbox closes, you can get the shopper&#039;s payment information.&lt;\\\/p&gt;\\n&lt;p&gt;How you do this depends on the Web Component version that you use:&lt;\\\/p&gt;\\n\\n&lt;div id=\\&quot;tabDTKCA\\&quot;&gt;\\n    &lt;div data-component-wrapper=\\&quot;tabs\\&quot;&gt;\\n        &lt;tabs\\n                        :items=\\&quot;[{&amp;quot;title&amp;quot;:&amp;quot;v6.0.0 or later&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\n&amp;lt;p&amp;gt;When the lightbox closes, the Component triggers the &amp;lt;code&amp;gt;onAuthorized&amp;lt;\\\\\\\/code&amp;gt; callback.&amp;lt;\\\\\\\/p&amp;gt;\\\\n&amp;lt;p&amp;gt;Implement the &amp;lt;code&amp;gt;onAuthorized&amp;lt;\\\\\\\/code&amp;gt; callback in your PayPal configuration object to get the information, using the following properties:&amp;lt;\\\\\\\/p&amp;gt;\\\\n&amp;lt;table&amp;gt;\\\\n&amp;lt;thead&amp;gt;\\\\n&amp;lt;tr&amp;gt;\\\\n&amp;lt;th&amp;gt;Property&amp;lt;\\\\\\\/th&amp;gt;\\\\n&amp;lt;th&amp;gt;Description&amp;lt;\\\\\\\/th&amp;gt;\\\\n&amp;lt;\\\\\\\/tr&amp;gt;\\\\n&amp;lt;\\\\\\\/thead&amp;gt;\\\\n&amp;lt;tbody&amp;gt;\\\\n&amp;lt;tr&amp;gt;\\\\n&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;data&amp;lt;\\\\\\\/code&amp;gt;&amp;lt;\\\\\\\/td&amp;gt;\\\\n&amp;lt;td&amp;gt;The raw event received from PayPal that contains the shopper details in the &amp;lt;code&amp;gt;authorizedEvent&amp;lt;\\\\\\\/code&amp;gt; object, the &amp;lt;code&amp;gt;billingAddress&amp;lt;\\\\\\\/code&amp;gt;, and the &amp;lt;code&amp;gt;deliveryAddress&amp;lt;\\\\\\\/code&amp;gt;. The Component formats the details for compatibility with the  &amp;lt;a href=\\\\&amp;quot;https:\\\\\\\/\\\\\\\/docs.adyen.com\\\\\\\/api-explorer\\\\\\\/Checkout\\\\\\\/latest\\\\\\\/overview\\\\&amp;quot; class=\\\\&amp;quot;codeLabel  external-link no-image\\\\&amp;quot; target=\\\\&amp;quot;_blank\\\\&amp;quot; rel=\\\\&amp;quot;nofollow noopener noreferrer\\\\&amp;quot;&amp;gt;Checkout API&amp;lt;\\\\\\\/a&amp;gt;.&amp;lt;\\\\\\\/td&amp;gt;\\\\n&amp;lt;\\\\\\\/tr&amp;gt;\\\\n&amp;lt;tr&amp;gt;\\\\n&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;actions&amp;lt;\\\\\\\/code&amp;gt;&amp;lt;\\\\\\\/td&amp;gt;\\\\n&amp;lt;td&amp;gt;&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt; &amp;lt;code&amp;gt;actions.resolve()&amp;lt;\\\\\\\/code&amp;gt;: continues the flow. &amp;lt;\\\\\\\/li&amp;gt;&amp;lt;li&amp;gt; &amp;lt;code&amp;gt;actions.reject()&amp;lt;\\\\\\\/code&amp;gt;: cancels the flow. &amp;lt;\\\\\\\/li&amp;gt;&amp;lt;\\\\\\\/ul&amp;gt;&amp;lt;\\\\\\\/td&amp;gt;\\\\n&amp;lt;\\\\\\\/tr&amp;gt;\\\\n&amp;lt;\\\\\\\/tbody&amp;gt;\\\\n&amp;lt;\\\\\\\/table&amp;gt;\\\\n&amp;lt;p&amp;gt;You can use the shopper&amp;#039;s details to manage the order. For example, use the shopper&amp;#039;s name and delivery address for the shipping label.&amp;lt;\\\\\\\/p&amp;gt;\\\\n&amp;lt;div data-component-wrapper=\\\\&amp;quot;code-sample\\\\&amp;quot;&amp;gt;\\\\n    &amp;lt;code-sample :title=\\\\&amp;quot;&amp;#039;Implement onAuthorized&amp;#039;\\\\&amp;quot; :id=\\\\&amp;quot;&amp;#039;&amp;#039;\\\\&amp;quot; :code-data=\\\\&amp;quot;[{&amp;amp;quot;language&amp;amp;quot;:&amp;amp;quot;js&amp;amp;quot;,&amp;amp;quot;tabTitle&amp;amp;quot;:&amp;amp;quot;&amp;amp;quot;,&amp;amp;quot;content&amp;amp;quot;:&amp;amp;quot;const payPalConfiguration = {\\\\\\\\n  isExpress: true,\\\\\\\\n  onShippingAddressChange: function(data, actions, component) {...},\\\\\\\\n  onShippingOptionsChange: function(data, actions, component) {...}, \\\\\\\\\\\\\\\/\\\\\\\\\\\\\\\/ Only if you need to handle delivery method changes.\\\\\\\\n  onAuthorized: (data, actions) =&amp;amp;gt; {\\\\\\\\n      \\\\\\\\\\\\\\\/\\\\\\\\\\\\\\\/ You can use the shopper&amp;#039;s details to manage the order.\\\\\\\\n      actions.resolve();\\\\\\\\n  },\\\\\\\\n\\\\\\\\\\\\\\\/\\\\\\\\\\\\\\\/ ... Your other configurations.\\\\\\\\n}&amp;amp;quot;}]\\\\&amp;quot; :enable-copy-link-to-code-block=\\\\&amp;quot;true\\\\&amp;quot; :code-sample-card-size=\\\\&amp;quot;&amp;#039;fullsize&amp;#039;\\\\&amp;quot;&amp;gt;&amp;lt;\\\\\\\/code-sample&amp;gt;\\\\n&amp;lt;\\\\\\\/div&amp;gt;\\\\n&amp;quot;,&amp;quot;altTitle&amp;quot;:&amp;quot;get-shopper-info-v6-sessions&amp;quot;,&amp;quot;oldTabId&amp;quot;:&amp;quot;get-shopper-info-v6-sessions_1&amp;quot;,&amp;quot;relation&amp;quot;:&amp;quot;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;v5.x.x&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\n&amp;lt;p&amp;gt;When the lightbox closes, the Component triggers the &amp;lt;code&amp;gt;onShopperDetails&amp;lt;\\\\\\\/code&amp;gt; callback.&amp;lt;\\\\\\\/p&amp;gt;\\\\n&amp;lt;p&amp;gt;Implement the &amp;lt;code&amp;gt;onShopperDetails&amp;lt;\\\\\\\/code&amp;gt; callback in your PayPal configuration object to get the information, using the following properties:&amp;lt;\\\\\\\/p&amp;gt;\\\\n&amp;lt;table&amp;gt;\\\\n&amp;lt;thead&amp;gt;\\\\n&amp;lt;tr&amp;gt;\\\\n&amp;lt;th&amp;gt;Property&amp;lt;\\\\\\\/th&amp;gt;\\\\n&amp;lt;th&amp;gt;Description&amp;lt;\\\\\\\/th&amp;gt;\\\\n&amp;lt;\\\\\\\/tr&amp;gt;\\\\n&amp;lt;\\\\\\\/thead&amp;gt;\\\\n&amp;lt;tbody&amp;gt;\\\\n&amp;lt;tr&amp;gt;\\\\n&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;shopperDetails&amp;lt;\\\\\\\/code&amp;gt;&amp;lt;\\\\\\\/td&amp;gt;\\\\n&amp;lt;td&amp;gt;Shopper details received from PayPal. The Component formats the details for compatibility with the  &amp;lt;a href=\\\\&amp;quot;https:\\\\\\\/\\\\\\\/docs.adyen.com\\\\\\\/api-explorer\\\\\\\/Checkout\\\\\\\/latest\\\\\\\/overview\\\\&amp;quot; class=\\\\&amp;quot;codeLabel  external-link no-image\\\\&amp;quot; target=\\\\&amp;quot;_blank\\\\&amp;quot; rel=\\\\&amp;quot;nofollow noopener noreferrer\\\\&amp;quot;&amp;gt;Checkout API&amp;lt;\\\\\\\/a&amp;gt;.&amp;lt;\\\\\\\/td&amp;gt;\\\\n&amp;lt;\\\\\\\/tr&amp;gt;\\\\n&amp;lt;tr&amp;gt;\\\\n&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;rawData&amp;lt;\\\\\\\/code&amp;gt;&amp;lt;\\\\\\\/td&amp;gt;\\\\n&amp;lt;td&amp;gt;The shopper details received from PayPal, in raw format.&amp;lt;\\\\\\\/td&amp;gt;\\\\n&amp;lt;\\\\\\\/tr&amp;gt;\\\\n&amp;lt;tr&amp;gt;\\\\n&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;actions&amp;lt;\\\\\\\/code&amp;gt;&amp;lt;\\\\\\\/td&amp;gt;\\\\n&amp;lt;td&amp;gt;&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt; &amp;lt;code&amp;gt;actions.resolve()&amp;lt;\\\\\\\/code&amp;gt;: continues the flow. &amp;lt;\\\\\\\/li&amp;gt;&amp;lt;li&amp;gt; &amp;lt;code&amp;gt;actions.reject()&amp;lt;\\\\\\\/code&amp;gt;: cancels the flow. &amp;lt;\\\\\\\/li&amp;gt;&amp;lt;\\\\\\\/ul&amp;gt;&amp;lt;\\\\\\\/td&amp;gt;\\\\n&amp;lt;\\\\\\\/tr&amp;gt;\\\\n&amp;lt;\\\\\\\/tbody&amp;gt;\\\\n&amp;lt;\\\\\\\/table&amp;gt;\\\\n&amp;lt;p&amp;gt;You can use the shopper&amp;#039;s details to manage the order. For example, use the shopper&amp;#039;s name and delivery address for the shipping label.&amp;lt;\\\\\\\/p&amp;gt;\\\\n&amp;lt;div data-component-wrapper=\\\\&amp;quot;code-sample\\\\&amp;quot;&amp;gt;\\\\n    &amp;lt;code-sample :title=\\\\&amp;quot;&amp;#039;Implement onShopperDetails&amp;#039;\\\\&amp;quot; :id=\\\\&amp;quot;&amp;#039;&amp;#039;\\\\&amp;quot; :code-data=&amp;#039;[{\\\\&amp;quot;language\\\\&amp;quot;:\\\\&amp;quot;js\\\\&amp;quot;,\\\\&amp;quot;tabTitle\\\\&amp;quot;:\\\\&amp;quot;\\\\&amp;quot;,\\\\&amp;quot;content\\\\&amp;quot;:\\\\&amp;quot;const payPalConfiguration = {\\\\\\\\n  isExpress: true,\\\\\\\\n  onShippingAddressChange: function(data, actions, component) {...},\\\\\\\\n  onShippingOptionsChange: function(data, actions, component) {...}, \\\\\\\\\\\\\\\/\\\\\\\\\\\\\\\/ Only if you need to handle delivery method changes.\\\\\\\\n  onShopperDetails: (shopperDetails, rawData, actions) =&amp;amp;gt; {\\\\\\\\n    actions.resolve();\\\\\\\\n  },\\\\\\\\n\\\\\\\\\\\\\\\/\\\\\\\\\\\\\\\/ ... Your other configurations.\\\\\\\\n}\\\\&amp;quot;}]&amp;#039; :enable-copy-link-to-code-block=\\\\&amp;quot;true\\\\&amp;quot; :code-sample-card-size=\\\\&amp;quot;&amp;#039;fullsize&amp;#039;\\\\&amp;quot;&amp;gt;&amp;lt;\\\\\\\/code-sample&amp;gt;\\\\n&amp;lt;\\\\\\\/div&amp;gt;\\\\n&amp;quot;,&amp;quot;altTitle&amp;quot;:&amp;quot;get-shopper-info-v5-sessionsg&amp;quot;,&amp;quot;oldTabId&amp;quot;:&amp;quot;get-shopper-info-v5-sessionsg_2&amp;quot;,&amp;quot;relation&amp;quot;:&amp;quot;&amp;quot;}]\\&quot;\\n            :should-update-when-url-changes=&#039;true&#039;&gt;\\n        &lt;\\\/tabs&gt;\\n    &lt;\\\/div&gt;\\n&lt;\\\/div&gt;\\n\\n&lt;h3&gt;7. Complete the payment&lt;\\\/h3&gt;\\n&lt;p&gt;The Component makes an authorization request to complete the payment. Use the &lt;code&gt;onPaymentCompleted&lt;\\\/code&gt; callback to redirect the shopper to the payment confirmation page.&lt;\\\/p&gt;\\n&quot;,&quot;altTitle&quot;:&quot;sessions&quot;,&quot;oldTabId&quot;:&quot;express-flow-sessions_1&quot;,&quot;relation&quot;:&quot;sessions&quot;},{&quot;title&quot;:&quot;Advanced flow&quot;,&quot;content&quot;:&quot;\\n&lt;h3 id=\\&quot;store-pspreference\\&quot;&gt;1. Store the PSP reference&lt;\\\/h3&gt;\\n&lt;p&gt;When the shopper selects the PayPal Express Checkout button, the &lt;a href=\\&quot;\\\/pt\\\/payment-methods\\\/paypal\\\/web-component?tab=pp-risk-payments_2#step-2-create-an-instance-of-the-component\\&quot;&gt;\\n  &lt;code&gt;onSubmit&lt;\\\/code&gt;\\n&lt;\\\/a&gt; callback is triggered and your server makes a  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/payments&lt;\\\/a&gt; request.&lt;\\\/p&gt;\\n&lt;p&gt;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 contains the &lt;code&gt;pspReference&lt;\\\/code&gt; field. Store the PSP reference in your back end.&lt;\\\/p&gt;\\n&lt;h3 id=\\&quot;update-paypal-orders-advanced\\&quot;&gt;2. Implement the API endpoint to update PayPal orders&lt;\\\/h3&gt;\\n&lt;p&gt;You need to integrate an additional endpoint to update PayPal orders for changes in the amount.&lt;\\\/p&gt;\\n&lt;p&gt;Depending on how you present the PayPal lightbox, the final payment amount can change:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;&lt;strong&gt;PayPal lightbox with delivery methods&lt;\\\/strong&gt;: if your shopper changes their delivery address, or selects a different delivery method, the delivery fees may change the final payment amount.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;strong&gt;PayPal lightbox without delivery methods&lt;\\\/strong&gt;: if your shopper changes their delivery address, the final payment amount may change.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;p&gt;If the payment amount does not change, no additional action is required.&lt;\\\/p&gt;\\n&lt;p&gt;If the payment amount changes, update it and send it to Adyen:&lt;\\\/p&gt;\\n&lt;ol&gt;\\n&lt;li&gt;\\n&lt;p&gt;Make a POST&amp;nbsp; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/paypal\\\/updateOrder\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/paypal\\\/updateOrder&lt;\\\/a&gt; request, including the following parameters:&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;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;pspReference&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 &lt;code&gt;pspReference&lt;\\\/code&gt; from 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.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;code&gt;paymentData&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 &lt;code&gt;paymentData&lt;\\\/code&gt; blob that you received on your front end. &lt;br&gt; For the first request to the &lt;code&gt;\\\/paypal\\\/updateOrder&lt;\\\/code&gt; endpoint, this is the &lt;code&gt;paymentData&lt;\\\/code&gt; you received when you &lt;a href=\\&quot;#store-pspreference\\&quot;&gt;made the \\\/payments request&lt;\\\/a&gt;. If you need to update the amount again and make a second &lt;code&gt;\\\/paypal\\\/updateOrder&lt;\\\/code&gt; request, this is the &lt;code&gt;paymentData&lt;\\\/code&gt; you received for your first &lt;code&gt;\\\/paypal\\\/updateOrder&lt;\\\/code&gt; request, and so on. &lt;div class=\\&quot;sc-notice note\\&quot;&gt;&lt;div&gt;Always use the latest &lt;code&gt;paymentData&lt;\\\/code&gt; blob.&lt;\\\/div&gt;&lt;\\\/div&gt;&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;code&gt;amount&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 &lt;code&gt;currency&lt;\\\/code&gt; and &lt;code&gt;value&lt;\\\/code&gt; of the final payment amount including the delivery fees and any taxes, in &lt;a href=\\&quot;\\\/pt\\\/development-resources\\\/currency-codes\\\/\\&quot;&gt;minor units&lt;\\\/a&gt;. If taxes are applicable, in addition pass the total tax amount separately in the &lt;code&gt;taxTotal&lt;\\\/code&gt; object.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/paypal\\\/updateOrder#request-deliveryMethods\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;deliveryMethods&lt;\\\/a&gt;&lt;\\\/td&gt;\\n&lt;td&gt;Only for PayPal lightbox with delivery methods&lt;\\\/td&gt;\\n&lt;td&gt;The array that lists the delivery methods available for the delivery address and their fees. Use the &lt;code&gt;selected&lt;\\\/code&gt; field to specify the chosen delivery method by setting it to &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;true&lt;\\\/strong&gt;&lt;\\\/span&gt;.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/paypal\\\/updateOrder#request-taxTotal\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;taxTotal&lt;\\\/a&gt;&lt;\\\/td&gt;\\n&lt;td&gt;&lt;\\\/td&gt;\\n&lt;td&gt;An object containing an &lt;code&gt;amount&lt;\\\/code&gt; object with the &lt;code&gt;currency&lt;\\\/code&gt; and &lt;code&gt;value&lt;\\\/code&gt; of the total tax amount. If you specify &lt;code&gt;taxTotal&lt;\\\/code&gt;, you must also add the tax amount to the payment amount.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;p&gt;The following example shows how to update the payment amount if you present the PayPal lightbox with delivery methods. In this example, the item costs USD&amp;nbsp;110 including USD&amp;nbsp;10 in taxes, and the shopper selected a delivery method that is excluded from taxes and adds USD&amp;nbsp;10 in costs.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Update payment amount with delivery methods&#039;\\&quot; :id=\\&quot;&#039;delivery-methods-advanced&#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\\\\\\\/paypal\\\\\\\/updateOrder \\\\\\\\\\\\n-H &#039;x-api-key: ADYEN_API_KEY&#039; \\\\\\\\\\\\n-H &#039;content-type: application\\\\\\\/json&#039; \\\\\\\\\\\\n-d &#039;{\\\\n   \\\\&amp;quot;pspReference\\\\&amp;quot;:\\\\&amp;quot;DZ4DPSHB4WD2WN82\\\\&amp;quot;,\\\\n   \\\\&amp;quot;paymentData\\\\&amp;quot;:\\\\&amp;quot;XYZ...\\\\&amp;quot;,\\\\n   \\\\&amp;quot;amount\\\\&amp;quot;:{\\\\n      \\\\&amp;quot;currency\\\\&amp;quot;:\\\\&amp;quot;USD\\\\&amp;quot;,\\\\n      \\\\&amp;quot;value\\\\&amp;quot;:12000\\\\n   },\\\\n   \\\\&amp;quot;deliveryMethods\\\\&amp;quot;:[\\\\n      {\\\\n         \\\\&amp;quot;reference\\\\&amp;quot;:\\\\&amp;quot;1\\\\&amp;quot;,\\\\n         \\\\&amp;quot;description\\\\&amp;quot;:\\\\&amp;quot;Express Shipping\\\\&amp;quot;,\\\\n         \\\\&amp;quot;type\\\\&amp;quot;:\\\\&amp;quot;Shipping\\\\&amp;quot;,\\\\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;selected\\\\&amp;quot;:true\\\\n      },\\\\n      {\\\\n         \\\\&amp;quot;reference\\\\&amp;quot;:\\\\&amp;quot;2\\\\&amp;quot;,\\\\n         \\\\&amp;quot;description\\\\&amp;quot;:\\\\&amp;quot;Standard Ground\\\\&amp;quot;,\\\\n         \\\\&amp;quot;type\\\\&amp;quot;:\\\\&amp;quot;Shipping\\\\&amp;quot;,\\\\n         \\\\&amp;quot;amount\\\\&amp;quot;:{\\\\n            \\\\&amp;quot;currency\\\\&amp;quot;:\\\\&amp;quot;USD\\\\&amp;quot;,\\\\n            \\\\&amp;quot;value\\\\&amp;quot;:500\\\\n         },\\\\n         \\\\&amp;quot;selected\\\\&amp;quot;:false\\\\n      }\\\\n   ]\\\\n}&#039;&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;java&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Java&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Java API Library 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 deliveryMethodAmount1 = new Amount()\\\\n  .currency(\\\\&amp;quot;EUR\\\\&amp;quot;)\\\\n  .value(1000L);\\\\n\\\\nAmount deliveryMethodAmount2 = new Amount()\\\\n  .currency(\\\\&amp;quot;EUR\\\\&amp;quot;)\\\\n  .value(500L);\\\\n\\\\nAmount amount = new Amount()\\\\n  .currency(\\\\&amp;quot;EUR\\\\&amp;quot;)\\\\n  .value(12000L);\\\\n\\\\nDeliveryMethod deliveryMethod1 = new DeliveryMethod()\\\\n  .reference(\\\\&amp;quot;1\\\\&amp;quot;)\\\\n  .amount(deliveryMethodAmount1)\\\\n  .description(\\\\&amp;quot;Express Shipping\\\\&amp;quot;)\\\\n  .type(DeliveryMethod.TypeEnum.SHIPPING)\\\\n  .selected(true);\\\\n\\\\nDeliveryMethod deliveryMethod2 = new DeliveryMethod()\\\\n  .reference(\\\\&amp;quot;2\\\\&amp;quot;)\\\\n  .amount(deliveryMethodAmount2)\\\\n  .description(\\\\&amp;quot;Standard Ground\\\\&amp;quot;)\\\\n  .type(DeliveryMethod.TypeEnum.SHIPPING)\\\\n  .selected(false);\\\\n\\\\nPaypalUpdateOrderRequest paypalUpdateOrderRequest = new PaypalUpdateOrderRequest()\\\\n  .amount(amount)\\\\n  .paymentData(\\\\&amp;quot;XYZ...\\\\&amp;quot;)\\\\n  .deliveryMethods(Arrays.asList(deliveryMethod1, deliveryMethod2))\\\\n  .pspReference(\\\\&amp;quot;DZ4DPSHB4WD2WN82\\\\&amp;quot;);\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nUtilityApi service = new UtilityApi(client);\\\\nPaypalUpdateOrderResponse response = service.updatesOrderForPaypalExpressCheckout(paypalUpdateOrderRequest, 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\\\\\\\\DeliveryMethod;\\\\nuse Adyen\\\\\\\\Model\\\\\\\\Checkout\\\\\\\\PaypalUpdateOrderRequest;\\\\nuse Adyen\\\\\\\\Service\\\\\\\\Checkout\\\\\\\\UtilityApi;\\\\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$deliveryMethodAmount1 = new Amount();\\\\n$deliveryMethodAmount1\\\\n  -&amp;gt;setCurrency(\\\\&amp;quot;EUR\\\\&amp;quot;)\\\\n  -&amp;gt;setValue(1000);\\\\n\\\\n$deliveryMethodAmount2 = new Amount();\\\\n$deliveryMethodAmount2\\\\n  -&amp;gt;setCurrency(\\\\&amp;quot;EUR\\\\&amp;quot;)\\\\n  -&amp;gt;setValue(500);\\\\n\\\\n$amount = new Amount();\\\\n$amount\\\\n  -&amp;gt;setCurrency(\\\\&amp;quot;EUR\\\\&amp;quot;)\\\\n  -&amp;gt;setValue(12000);\\\\n\\\\n$deliveryMethod1 = new DeliveryMethod();\\\\n$deliveryMethod1\\\\n  -&amp;gt;setReference(\\\\&amp;quot;1\\\\&amp;quot;)\\\\n  -&amp;gt;setAmount($deliveryMethodAmount1)\\\\n  -&amp;gt;setDescription(\\\\&amp;quot;Express Shipping\\\\&amp;quot;)\\\\n  -&amp;gt;setType(\\\\&amp;quot;Shipping\\\\&amp;quot;)\\\\n  -&amp;gt;setSelected(true);\\\\n\\\\n$deliveryMethod2 = new DeliveryMethod();\\\\n$deliveryMethod2\\\\n  -&amp;gt;setReference(\\\\&amp;quot;2\\\\&amp;quot;)\\\\n  -&amp;gt;setAmount($deliveryMethodAmount2)\\\\n  -&amp;gt;setDescription(\\\\&amp;quot;Standard Ground\\\\&amp;quot;)\\\\n  -&amp;gt;setType(\\\\&amp;quot;Shipping\\\\&amp;quot;)\\\\n  -&amp;gt;setSelected(false);\\\\n\\\\n$paypalUpdateOrderRequest = new PaypalUpdateOrderRequest();\\\\n$paypalUpdateOrderRequest\\\\n  -&amp;gt;setAmount($amount)\\\\n  -&amp;gt;setPaymentData(\\\\&amp;quot;XYZ...\\\\&amp;quot;)\\\\n  -&amp;gt;setDeliveryMethods(array($deliveryMethod1, $deliveryMethod2))\\\\n  -&amp;gt;setPspReference(\\\\&amp;quot;DZ4DPSHB4WD2WN82\\\\&amp;quot;);\\\\n\\\\n$requestOptions[&#039;idempotencyKey&#039;] = &#039;UUID&#039;;\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\n$service = new UtilityApi($client);\\\\n$response = $service-&amp;gt;updatesOrderForPaypalExpressCheckout($paypalUpdateOrderRequest, $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 deliveryMethodAmount1 = new Amount\\\\n{\\\\n  Currency = \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n  Value = 1000\\\\n};\\\\n\\\\nAmount deliveryMethodAmount2 = new Amount\\\\n{\\\\n  Currency = \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n  Value = 500\\\\n};\\\\n\\\\nAmount amount = new Amount\\\\n{\\\\n  Currency = \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n  Value = 12000\\\\n};\\\\n\\\\nDeliveryMethod deliveryMethod1 = new DeliveryMethod\\\\n{\\\\n  Reference = \\\\&amp;quot;1\\\\&amp;quot;,\\\\n  Amount = deliveryMethodAmount1,\\\\n  Description = \\\\&amp;quot;Express Shipping\\\\&amp;quot;,\\\\n  Type = DeliveryMethod.TypeEnum.Shipping,\\\\n  Selected = true\\\\n};\\\\n\\\\nDeliveryMethod deliveryMethod2 = new DeliveryMethod\\\\n{\\\\n  Reference = \\\\&amp;quot;2\\\\&amp;quot;,\\\\n  Amount = deliveryMethodAmount2,\\\\n  Description = \\\\&amp;quot;Standard Ground\\\\&amp;quot;,\\\\n  Type = DeliveryMethod.TypeEnum.Shipping,\\\\n  Selected = false\\\\n};\\\\n\\\\nPaypalUpdateOrderRequest paypalUpdateOrderRequest = new PaypalUpdateOrderRequest\\\\n{\\\\n  Amount = amount,\\\\n  PaymentData = \\\\&amp;quot;XYZ...\\\\&amp;quot;,\\\\n  DeliveryMethods = new List&amp;lt;DeliveryMethod&amp;gt;{ deliveryMethod1, deliveryMethod2 },\\\\n  PspReference = \\\\&amp;quot;DZ4DPSHB4WD2WN82\\\\&amp;quot;\\\\n};\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nvar service = new UtilityService(client);\\\\nvar response = service.UpdatesOrderForPaypalExpressCheckout(paypalUpdateOrderRequest, 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 paypalUpdateOrderRequest = {\\\\n  pspReference: \\\\&amp;quot;DZ4DPSHB4WD2WN82\\\\&amp;quot;,\\\\n  paymentData: \\\\&amp;quot;XYZ...\\\\&amp;quot;,\\\\n  amount: {\\\\n    currency: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n    value: 12000\\\\n  },\\\\n  deliveryMethods: [ {\\\\n    reference: \\\\&amp;quot;1\\\\&amp;quot;,\\\\n    description: \\\\&amp;quot;Express Shipping\\\\&amp;quot;,\\\\n    type: \\\\&amp;quot;Shipping\\\\&amp;quot;,\\\\n    amount: {\\\\n      currency: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n      value: 1000\\\\n    },\\\\n    selected: true\\\\n  }, {\\\\n    reference: \\\\&amp;quot;2\\\\&amp;quot;,\\\\n    description: \\\\&amp;quot;Standard Ground\\\\&amp;quot;,\\\\n    type: \\\\&amp;quot;Shipping\\\\&amp;quot;,\\\\n    amount: {\\\\n      currency: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n      value: 500\\\\n    },\\\\n    selected: false\\\\n  } ]\\\\n}\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nconst checkoutAPI = new CheckoutAPI(client);\\\\nconst response = checkoutAPI.UtilityApi.updatesOrderForPaypalExpressCheckout(paypalUpdateOrderRequest, { 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)\\\\ndeliveryMethodAmount1 := checkout.Amount{\\\\n  Currency: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n  Value: 1000,\\\\n}\\\\n\\\\ndeliveryMethodAmount2 := checkout.Amount{\\\\n  Currency: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n  Value: 500,\\\\n}\\\\n\\\\namount := checkout.Amount{\\\\n  Currency: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n  Value: 12000,\\\\n}\\\\n\\\\ndeliveryMethod1 := checkout.DeliveryMethod{\\\\n  Reference: common.PtrString(\\\\&amp;quot;1\\\\&amp;quot;),\\\\n  Amount: &amp;amp;deliveryMethodAmount1,\\\\n  Description: common.PtrString(\\\\&amp;quot;Express Shipping\\\\&amp;quot;),\\\\n  Type: common.PtrString(\\\\&amp;quot;Shipping\\\\&amp;quot;),\\\\n  Selected: common.PtrBool(true),\\\\n}\\\\n\\\\ndeliveryMethod2 := checkout.DeliveryMethod{\\\\n  Reference: common.PtrString(\\\\&amp;quot;2\\\\&amp;quot;),\\\\n  Amount: &amp;amp;deliveryMethodAmount2,\\\\n  Description: common.PtrString(\\\\&amp;quot;Standard Ground\\\\&amp;quot;),\\\\n  Type: common.PtrString(\\\\&amp;quot;Shipping\\\\&amp;quot;),\\\\n  Selected: common.PtrBool(false),\\\\n}\\\\n\\\\npaypalUpdateOrderRequest := checkout.PaypalUpdateOrderRequest{\\\\n  Amount: &amp;amp;amount,\\\\n  PaymentData: common.PtrString(\\\\&amp;quot;XYZ...\\\\&amp;quot;),\\\\n  DeliveryMethods: []checkout.DeliveryMethod{\\\\n      deliveryMethod1, deliveryMethod2,\\\\n  },\\\\n  PspReference: common.PtrString(\\\\&amp;quot;DZ4DPSHB4WD2WN82\\\\&amp;quot;),\\\\n}\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nservice := client.Checkout()\\\\nreq := service.UtilityApi.UpdatesOrderForPaypalExpressCheckoutInput().IdempotencyKey(\\\\&amp;quot;UUID\\\\&amp;quot;).PaypalUpdateOrderRequest(paypalUpdateOrderRequest)\\\\nres, httpRes, err := service.UtilityApi.UpdatesOrderForPaypalExpressCheckout(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;pspReference\\\\&amp;quot;: \\\\&amp;quot;DZ4DPSHB4WD2WN82\\\\&amp;quot;,\\\\n  \\\\&amp;quot;paymentData\\\\&amp;quot;: \\\\&amp;quot;XYZ...\\\\&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;: 12000\\\\n  },\\\\n  \\\\&amp;quot;deliveryMethods\\\\&amp;quot;: [ {\\\\n    \\\\&amp;quot;reference\\\\&amp;quot;: \\\\&amp;quot;1\\\\&amp;quot;,\\\\n    \\\\&amp;quot;description\\\\&amp;quot;: \\\\&amp;quot;Express Shipping\\\\&amp;quot;,\\\\n    \\\\&amp;quot;type\\\\&amp;quot;: \\\\&amp;quot;Shipping\\\\&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;: 1000\\\\n    },\\\\n    \\\\&amp;quot;selected\\\\&amp;quot;: True\\\\n  }, {\\\\n    \\\\&amp;quot;reference\\\\&amp;quot;: \\\\&amp;quot;2\\\\&amp;quot;,\\\\n    \\\\&amp;quot;description\\\\&amp;quot;: \\\\&amp;quot;Standard Ground\\\\&amp;quot;,\\\\n    \\\\&amp;quot;type\\\\&amp;quot;: \\\\&amp;quot;Shipping\\\\&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;: 500\\\\n    },\\\\n    \\\\&amp;quot;selected\\\\&amp;quot;: False\\\\n  } ]\\\\n}\\\\n\\\\n# Send the request\\\\nresult = adyen.checkout.utility_api.updates_order_for_paypal_express_checkout(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  :pspReference =&amp;gt; &#039;DZ4DPSHB4WD2WN82&#039;,\\\\n  :paymentData =&amp;gt; &#039;XYZ...&#039;,\\\\n  :amount =&amp;gt; {\\\\n    :currency =&amp;gt; &#039;EUR&#039;,\\\\n    :value =&amp;gt; 12000\\\\n  },\\\\n  :deliveryMethods =&amp;gt; [ {\\\\n    :reference =&amp;gt; &#039;1&#039;,\\\\n    :description =&amp;gt; &#039;Express Shipping&#039;,\\\\n    :type =&amp;gt; &#039;Shipping&#039;,\\\\n    :amount =&amp;gt; {\\\\n      :currency =&amp;gt; &#039;EUR&#039;,\\\\n      :value =&amp;gt; 1000\\\\n    },\\\\n    :selected =&amp;gt; true\\\\n  }, {\\\\n    :reference =&amp;gt; &#039;2&#039;,\\\\n    :description =&amp;gt; &#039;Standard Ground&#039;,\\\\n    :type =&amp;gt; &#039;Shipping&#039;,\\\\n    :amount =&amp;gt; {\\\\n      :currency =&amp;gt; &#039;EUR&#039;,\\\\n      :value =&amp;gt; 500\\\\n    },\\\\n    :selected =&amp;gt; false\\\\n  } ]\\\\n}\\\\n\\\\n# Send the request\\\\nresult = adyen.checkout.utility_api.updates_order_for_paypal_express_checkout(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 deliveryMethodAmount1: Types.checkout.Amount = {\\\\n  currency: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n  value: 1000\\\\n};\\\\n\\\\nconst deliveryMethodAmount2: Types.checkout.Amount = {\\\\n  currency: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n  value: 500\\\\n};\\\\n\\\\nconst amount: Types.checkout.Amount = {\\\\n  currency: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n  value: 12000\\\\n};\\\\n\\\\nconst deliveryMethod1: Types.checkout.DeliveryMethod = {\\\\n  reference: \\\\&amp;quot;1\\\\&amp;quot;,\\\\n  amount: deliveryMethodAmount1,\\\\n  description: \\\\&amp;quot;Express Shipping\\\\&amp;quot;,\\\\n  type: Types.checkout.DeliveryMethod.TypeEnum.Shipping,\\\\n  selected: true\\\\n};\\\\n\\\\nconst deliveryMethod2: Types.checkout.DeliveryMethod = {\\\\n  reference: \\\\&amp;quot;2\\\\&amp;quot;,\\\\n  amount: deliveryMethodAmount2,\\\\n  description: \\\\&amp;quot;Standard Ground\\\\&amp;quot;,\\\\n  type: Types.checkout.DeliveryMethod.TypeEnum.Shipping,\\\\n  selected: false\\\\n};\\\\n\\\\nconst paypalUpdateOrderRequest: Types.checkout.PaypalUpdateOrderRequest = {\\\\n  amount: amount,\\\\n  paymentData: \\\\&amp;quot;XYZ...\\\\&amp;quot;,\\\\n  deliveryMethods: [deliveryMethod1, deliveryMethod2],\\\\n  pspReference: \\\\&amp;quot;DZ4DPSHB4WD2WN82\\\\&amp;quot;\\\\n};\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nconst checkoutAPI = new CheckoutAPI(client);\\\\nconst response = checkoutAPI.UtilityApi.updatesOrderForPaypalExpressCheckout(paypalUpdateOrderRequest, { 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;The next example shows the same amount update if you present the lightbox without delivery methods.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Update payment amount without delivery methods&#039;\\&quot; :id=\\&quot;&#039;update-amount-advanced&#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\\\\\\\/paypal\\\\\\\/updateOrder \\\\\\\\\\\\n-H &#039;x-api-key: ADYEN_API_KEY&#039; \\\\\\\\\\\\n-H &#039;content-type: application\\\\\\\/json&#039; \\\\\\\\\\\\n-d &#039;{\\\\n   \\\\&amp;quot;pspReference\\\\&amp;quot;: \\\\&amp;quot;HWL5D5BDLSGLNK82\\\\&amp;quot;,\\\\n   \\\\&amp;quot;paymentData\\\\&amp;quot;: \\\\&amp;quot;XYZ...\\\\&amp;quot;,\\\\n   \\\\&amp;quot;amount\\\\&amp;quot;: {\\\\n      \\\\&amp;quot;currency\\\\&amp;quot;: \\\\&amp;quot;USD\\\\&amp;quot;,\\\\n      \\\\&amp;quot;value\\\\&amp;quot;: 12000\\\\n   }\\\\n}&#039;&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;java&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Java&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Java API Library 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;EUR\\\\&amp;quot;)\\\\n  .value(12000L);\\\\n\\\\nPaypalUpdateOrderRequest paypalUpdateOrderRequest = new PaypalUpdateOrderRequest()\\\\n  .amount(amount)\\\\n  .paymentData(\\\\&amp;quot;XYZ...\\\\&amp;quot;)\\\\n  .pspReference(\\\\&amp;quot;HWL5D5BDLSGLNK82\\\\&amp;quot;);\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nUtilityApi service = new UtilityApi(client);\\\\nPaypalUpdateOrderResponse response = service.updatesOrderForPaypalExpressCheckout(paypalUpdateOrderRequest, 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\\\\\\\\PaypalUpdateOrderRequest;\\\\nuse Adyen\\\\\\\\Service\\\\\\\\Checkout\\\\\\\\UtilityApi;\\\\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(12000);\\\\n\\\\n$paypalUpdateOrderRequest = new PaypalUpdateOrderRequest();\\\\n$paypalUpdateOrderRequest\\\\n  -&amp;gt;setAmount($amount)\\\\n  -&amp;gt;setPaymentData(\\\\&amp;quot;XYZ...\\\\&amp;quot;)\\\\n  -&amp;gt;setPspReference(\\\\&amp;quot;HWL5D5BDLSGLNK82\\\\&amp;quot;);\\\\n\\\\n$requestOptions[&#039;idempotencyKey&#039;] = &#039;UUID&#039;;\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\n$service = new UtilityApi($client);\\\\n$response = $service-&amp;gt;updatesOrderForPaypalExpressCheckout($paypalUpdateOrderRequest, $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 = 12000\\\\n};\\\\n\\\\nPaypalUpdateOrderRequest paypalUpdateOrderRequest = new PaypalUpdateOrderRequest\\\\n{\\\\n  Amount = amount,\\\\n  PaymentData = \\\\&amp;quot;XYZ...\\\\&amp;quot;,\\\\n  PspReference = \\\\&amp;quot;HWL5D5BDLSGLNK82\\\\&amp;quot;\\\\n};\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nvar service = new UtilityService(client);\\\\nvar response = service.UpdatesOrderForPaypalExpressCheckout(paypalUpdateOrderRequest, 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 paypalUpdateOrderRequest = {\\\\n  pspReference: \\\\&amp;quot;HWL5D5BDLSGLNK82\\\\&amp;quot;,\\\\n  paymentData: \\\\&amp;quot;XYZ...\\\\&amp;quot;,\\\\n  amount: {\\\\n    currency: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n    value: 12000\\\\n  }\\\\n}\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nconst checkoutAPI = new CheckoutAPI(client);\\\\nconst response = checkoutAPI.UtilityApi.updatesOrderForPaypalExpressCheckout(paypalUpdateOrderRequest, { 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: 12000,\\\\n}\\\\n\\\\npaypalUpdateOrderRequest := checkout.PaypalUpdateOrderRequest{\\\\n  Amount: &amp;amp;amount,\\\\n  PaymentData: common.PtrString(\\\\&amp;quot;XYZ...\\\\&amp;quot;),\\\\n  PspReference: common.PtrString(\\\\&amp;quot;HWL5D5BDLSGLNK82\\\\&amp;quot;),\\\\n}\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nservice := client.Checkout()\\\\nreq := service.UtilityApi.UpdatesOrderForPaypalExpressCheckoutInput().IdempotencyKey(\\\\&amp;quot;UUID\\\\&amp;quot;).PaypalUpdateOrderRequest(paypalUpdateOrderRequest)\\\\nres, httpRes, err := service.UtilityApi.UpdatesOrderForPaypalExpressCheckout(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;pspReference\\\\&amp;quot;: \\\\&amp;quot;HWL5D5BDLSGLNK82\\\\&amp;quot;,\\\\n  \\\\&amp;quot;paymentData\\\\&amp;quot;: \\\\&amp;quot;XYZ...\\\\&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;: 12000\\\\n  }\\\\n}\\\\n\\\\n# Send the request\\\\nresult = adyen.checkout.utility_api.updates_order_for_paypal_express_checkout(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  :pspReference =&amp;gt; &#039;HWL5D5BDLSGLNK82&#039;,\\\\n  :paymentData =&amp;gt; &#039;XYZ...&#039;,\\\\n  :amount =&amp;gt; {\\\\n    :currency =&amp;gt; &#039;EUR&#039;,\\\\n    :value =&amp;gt; 12000\\\\n  }\\\\n}\\\\n\\\\n# Send the request\\\\nresult = adyen.checkout.utility_api.updates_order_for_paypal_express_checkout(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;EUR\\\\&amp;quot;,\\\\n  value: 12000\\\\n};\\\\n\\\\nconst paypalUpdateOrderRequest: Types.checkout.PaypalUpdateOrderRequest = {\\\\n  amount: amount,\\\\n  paymentData: \\\\&amp;quot;XYZ...\\\\&amp;quot;,\\\\n  pspReference: \\\\&amp;quot;HWL5D5BDLSGLNK82\\\\&amp;quot;\\\\n};\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nconst checkoutAPI = new CheckoutAPI(client);\\\\nconst response = checkoutAPI.UtilityApi.updatesOrderForPaypalExpressCheckout(paypalUpdateOrderRequest, { 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;From the response, get the updated &lt;code&gt;paymentData&lt;\\\/code&gt; and pass the new value to your front end.&lt;br \\\/&gt;\\nWith each update, the &lt;code&gt;paymentData&lt;\\\/code&gt; value changes. To complete the payment, the Component needs the latest value.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Example successful update response&#039;\\&quot; :id=\\&quot;&#039;response-update-session&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;bash\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n   \\\\\\&quot;paymentData\\\\\\&quot;: \\\\\\&quot;ABC...\\\\\\&quot;,\\\\n   \\\\\\&quot;status\\\\\\&quot;: \\\\\\&quot;success\\\\\\&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;p&gt;If your request fails, you receive a response that contains an &lt;code&gt;errorCode&lt;\\\/code&gt;. Use the &lt;code&gt;errorType&lt;\\\/code&gt; and &lt;code&gt;message&lt;\\\/code&gt; fields to troubleshoot the error.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Example failed update response&#039;\\&quot; :id=\\&quot;&#039;response-update-session&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;bash\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n   \\\\\\&quot;status\\\\\\&quot;: 422,\\\\n   \\\\\\&quot;errorCode\\\\\\&quot;: \\\\\\&quot;000\\\\\\&quot;,\\\\n   \\\\\\&quot;message\\\\\\&quot;: \\\\\\&quot;Only 1 deliveryMethod should be selected\\\\\\&quot;,\\\\n   \\\\\\&quot;errorType\\\\\\&quot;: \\\\\\&quot;validation\\\\\\&quot;,\\\\n   \\\\\\&quot;pspReference\\\\\\&quot;: \\\\\\&quot;DZ4DPSHB4WD2WN82\\\\\\&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&lt;h3 id=\\&quot;add-additional-paypal-configuration\\&quot;&gt;3. Add additional PayPal configuration&lt;\\\/h3&gt;\\n&lt;p&gt;In the PayPal configuration object, set the property &lt;code&gt;isExpress&lt;\\\/code&gt; to &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;true&lt;\\\/strong&gt;&lt;\\\/span&gt;.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n    &lt;code-sample :title=\\&quot;&#039;Configure isExpress&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;js\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;const payPalConfiguration = {\\\\n    isExpress: true\\\\n    \\\\\\\/\\\\\\\/ ... Your other configurations.\\\\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;h3&gt;4. Handle delivery address changes&lt;\\\/h3&gt;\\n&lt;p&gt;Implement the &lt;a href=\\&quot;https:\\\/\\\/developer.paypal.com\\\/sdk\\\/js\\\/reference\\\/#link-onshippingaddresschange\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot; class=\\&quot;external-link no-image\\&quot;&gt;\\n  &lt;code&gt;onShippingAddressChange&lt;\\\/code&gt;\\n&lt;\\\/a&gt; event in your PayPal configuration object. The event is triggered when the PayPal lightbox opens. You make an initial &lt;a href=\\&quot;#update-paypal-orders-advanced\\&quot;&gt;POST\\u00a0&lt;strong&gt;\\\/paypal\\\/updateOrder&lt;\\\/strong&gt; request&lt;\\\/a&gt;.&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;&lt;strong&gt;PayPal lightbox with delivery methods&lt;\\\/strong&gt;: with your initial request, you pass the available delivery methods to Adyen, based on the shopper&#039;s default shipping address.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;strong&gt;PayPal lightbox without delivery methods&lt;\\\/strong&gt;: with your initial request, you pass the current payment amount to Adyen.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;p&gt;If your shopper changes their delivery address, the &lt;code&gt;onShippingAddressChange&lt;\\\/code&gt; event is triggered again. For the PayPal lightbox with delivery methods, you then need to &lt;a href=\\&quot;#handle-delivery-method-changes-advanced\\&quot;&gt;handle the delivery method changes&lt;\\\/a&gt;. For the PayPal lightbox without delivery methods, you make a POST&amp;nbsp; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/paypal\\\/updateOrder\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/paypal\\\/updateOrder&lt;\\\/a&gt; request to update the final amount.&lt;\\\/p&gt;\\n&lt;p&gt;Implement your own function to make a  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/paypal\\\/updateOrder\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/paypal\\\/updateOrder&lt;\\\/a&gt; request and update the amount. Below is an example that uses the &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;updatePayPalOrder&lt;\\\/strong&gt;&lt;\\\/span&gt; function. You need to pass the updated &lt;code&gt;paymentData&lt;\\\/code&gt; you get in the response to the Component.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n    &lt;code-sample :title=\\&quot;&#039;Implement onShippingAddressChange&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=\\&quot;[{&amp;quot;language&amp;quot;:&amp;quot;js&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;const payPalConfiguration = {\\\\n    isExpress: true,\\\\n    onShippingAddressChange: async function(data, actions, component) {\\\\n        \\\\\\\/\\\\\\\/ Example: not shipping to NL.\\\\n        if (data.shippingAddress.countryCode == &#039;NL&#039;) {\\\\n            return actions.reject();\\\\n        }\\\\n\\\\n        \\\\\\\/\\\\\\\/ Get the current paymentData value stored within the Component.\\\\n        const currentPaymentData = component.paymentData;\\\\n\\\\n        \\\\\\\/\\\\\\\/ Implement the code to call your backend endpoint to update the final amount based on the selected delivery method, passing the paymentData.\\\\n        const { paymentData } = await updatePayPalOrder(data.shippingAddress, currentPaymentData);\\\\n\\\\n        \\\\\\\/\\\\\\\/ Update the Component paymentData value with the new one.\\\\n        component.updatePaymentData(paymentData);\\\\n    },\\\\n    \\\\\\\/\\\\\\\/ ... Your other configurations.\\\\n}&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 id=\\&quot;handle-delivery-method-changes-advanced\\&quot;&gt;5. Handle delivery method changes&lt;\\\/h3&gt;\\n&lt;div class=\\&quot;notices green\\&quot;&gt;\\n&lt;p&gt;This step is only required if you present default delivery methods when the PayPal lightbox opens.&lt;\\\/p&gt;\\n&lt;\\\/div&gt;\\n&lt;p&gt;PayPal labels the delivery method the &lt;code&gt;ShippingOption&lt;\\\/code&gt;.&lt;\\\/p&gt;\\n&lt;p&gt;Implement the &lt;a href=\\&quot;https:\\\/\\\/developer.paypal.com\\\/sdk\\\/js\\\/reference\\\/#link-onshippingoptionschange\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot; class=\\&quot;external-link no-image\\&quot;&gt;\\n  &lt;code&gt;onShippingOptionsChange&lt;\\\/code&gt;\\n&lt;\\\/a&gt; event in your PayPal configuration object to handle situations where the shopper selects a different delivery method.&lt;\\\/p&gt;\\n&lt;p&gt;Make a POST  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/paypal\\\/updateOrder\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/paypal\\\/updateOrder&lt;\\\/a&gt; request. In your request, specify the chosen delivery method by setting &lt;code&gt;selected&lt;\\\/code&gt;:&lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;true&lt;\\\/strong&gt;&lt;\\\/span&gt;, and update the &lt;code&gt;amount.value&lt;\\\/code&gt; based on the selected delivery method.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n    &lt;code-sample :title=\\&quot;&#039;Implement onShippingOptionsChange&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=\\&quot;[{&amp;quot;language&amp;quot;:&amp;quot;js&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;const payPalConfiguration = {\\\\n        isExpress: true,\\\\n        onShippingAddressChange: function(data, actions, component) {...},\\\\n        onShippingOptionsChange: async function(data, actions, component) {\\\\n            \\\\\\\/\\\\\\\/ Example: PostNL is unavailable.\\\\n            if (data.selectedShippingOption.label.includes(&#039;PostNL&#039;)) {\\\\n                return actions.reject(data.errors.METHOD_UNAVAILABLE);\\\\n            }\\\\n\\\\n            \\\\\\\/\\\\\\\/ Get the current paymentData value stored within the Component.\\\\n            const currentPaymentData = component.paymentData;\\\\n\\\\n            \\\\\\\/\\\\\\\/ Implement the code to call your backend endpoint to update the final amount based on the selected delivery method, passing the paymentData.\\\\n            const { paymentData } =await updatePayPalOrder(data.selectedShippingOption, currentPaymentData)\\\\n\\\\n            \\\\\\\/\\\\\\\/ Update the Component paymentData value with the new one.\\\\n            component.updatePaymentData(paymentData);\\\\n        }\\\\n    },\\\\n    \\\\\\\/\\\\\\\/ ... Your other configurations.\\\\n    }&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 id=\\&quot;get-shopper-payment-information-advanced\\&quot;&gt;6. Get the shopper&#039;s payment information&lt;\\\/h3&gt;\\n&lt;p&gt;After the shopper completes the payment in the PayPal lightbox and the lightbox closes, you can get the shopper&#039;s payment information.&lt;\\\/p&gt;\\n&lt;p&gt;How you do this depends on the Web Component version you are using:&lt;\\\/p&gt;\\n\\n&lt;div id=\\&quot;tabMAQEU\\&quot;&gt;\\n    &lt;div data-component-wrapper=\\&quot;tabs\\&quot;&gt;\\n        &lt;tabs\\n                        :items=\\&quot;[{&amp;quot;title&amp;quot;:&amp;quot;v6 or later&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\n&amp;lt;p&amp;gt;When the lightbox closes, the Component triggers the &amp;lt;code&amp;gt;onAuthorized&amp;lt;\\\\\\\/code&amp;gt; callback.&amp;lt;\\\\\\\/p&amp;gt;\\\\n&amp;lt;p&amp;gt;Implement the &amp;lt;code&amp;gt;onAuthorized&amp;lt;\\\\\\\/code&amp;gt; callback in your PayPal configuration object to get the information, using the following properties:&amp;lt;\\\\\\\/p&amp;gt;\\\\n&amp;lt;table&amp;gt;\\\\n&amp;lt;thead&amp;gt;\\\\n&amp;lt;tr&amp;gt;\\\\n&amp;lt;th&amp;gt;Property&amp;lt;\\\\\\\/th&amp;gt;\\\\n&amp;lt;th&amp;gt;Description&amp;lt;\\\\\\\/th&amp;gt;\\\\n&amp;lt;\\\\\\\/tr&amp;gt;\\\\n&amp;lt;\\\\\\\/thead&amp;gt;\\\\n&amp;lt;tbody&amp;gt;\\\\n&amp;lt;tr&amp;gt;\\\\n&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;data&amp;lt;\\\\\\\/code&amp;gt;&amp;lt;\\\\\\\/td&amp;gt;\\\\n&amp;lt;td&amp;gt;The raw event received from PayPal that contains the shopper details in the &amp;lt;code&amp;gt;authorizedEvent&amp;lt;\\\\\\\/code&amp;gt; object, the &amp;lt;code&amp;gt;billingAddress&amp;lt;\\\\\\\/code&amp;gt;, and the &amp;lt;code&amp;gt;deliveryAddress&amp;lt;\\\\\\\/code&amp;gt;. The Component formats the details for compatibility with the  &amp;lt;a href=\\\\&amp;quot;https:\\\\\\\/\\\\\\\/docs.adyen.com\\\\\\\/api-explorer\\\\\\\/Checkout\\\\\\\/latest\\\\\\\/overview\\\\&amp;quot; class=\\\\&amp;quot;codeLabel  external-link no-image\\\\&amp;quot; target=\\\\&amp;quot;_blank\\\\&amp;quot; rel=\\\\&amp;quot;nofollow noopener noreferrer\\\\&amp;quot;&amp;gt;Checkout API&amp;lt;\\\\\\\/a&amp;gt;.&amp;lt;\\\\\\\/td&amp;gt;\\\\n&amp;lt;\\\\\\\/tr&amp;gt;\\\\n&amp;lt;tr&amp;gt;\\\\n&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;actions&amp;lt;\\\\\\\/code&amp;gt;&amp;lt;\\\\\\\/td&amp;gt;\\\\n&amp;lt;td&amp;gt;&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt; &amp;lt;code&amp;gt;actions.resolve()&amp;lt;\\\\\\\/code&amp;gt;: continues the flow. &amp;lt;\\\\\\\/li&amp;gt;&amp;lt;li&amp;gt; &amp;lt;code&amp;gt;actions.reject()&amp;lt;\\\\\\\/code&amp;gt;: cancels the flow. &amp;lt;\\\\\\\/li&amp;gt;&amp;lt;\\\\\\\/ul&amp;gt;&amp;lt;\\\\\\\/td&amp;gt;\\\\n&amp;lt;\\\\\\\/tr&amp;gt;\\\\n&amp;lt;\\\\\\\/tbody&amp;gt;\\\\n&amp;lt;\\\\\\\/table&amp;gt;\\\\n&amp;lt;p&amp;gt;You can use the shopper&amp;#039;s details to manage the order. For example, use the shopper&amp;#039;s name and delivery address for the shipping label.&amp;lt;\\\\\\\/p&amp;gt;\\\\n&amp;lt;div data-component-wrapper=\\\\&amp;quot;code-sample\\\\&amp;quot;&amp;gt;\\\\n    &amp;lt;code-sample :title=\\\\&amp;quot;&amp;#039;Implement onAuthorized&amp;#039;\\\\&amp;quot; :id=\\\\&amp;quot;&amp;#039;&amp;#039;\\\\&amp;quot; :code-data=\\\\&amp;quot;[{&amp;amp;quot;language&amp;amp;quot;:&amp;amp;quot;js&amp;amp;quot;,&amp;amp;quot;tabTitle&amp;amp;quot;:&amp;amp;quot;&amp;amp;quot;,&amp;amp;quot;content&amp;amp;quot;:&amp;amp;quot;const payPalConfiguration = {\\\\\\\\n  isExpress: true,\\\\\\\\n  onShippingAddressChange: function(data, actions, component) {...},\\\\\\\\n  onShippingOptionsChange: function(data, actions, component) {...}, \\\\\\\\\\\\\\\/\\\\\\\\\\\\\\\/ Only if you need to handle delivery method changes.\\\\\\\\n  onAuthorized: (data, actions) =&amp;amp;gt; {\\\\\\\\n      \\\\\\\\\\\\\\\/\\\\\\\\\\\\\\\/ You can use the shopper&amp;#039;s details to manage the order.\\\\\\\\n      actions.resolve();\\\\\\\\n  },\\\\\\\\n\\\\\\\\\\\\\\\/\\\\\\\\\\\\\\\/ ... Your other configurations.\\\\\\\\n}&amp;amp;quot;}]\\\\&amp;quot; :enable-copy-link-to-code-block=\\\\&amp;quot;true\\\\&amp;quot; :code-sample-card-size=\\\\&amp;quot;&amp;#039;fullsize&amp;#039;\\\\&amp;quot;&amp;gt;&amp;lt;\\\\\\\/code-sample&amp;gt;\\\\n&amp;lt;\\\\\\\/div&amp;gt;\\\\n&amp;quot;,&amp;quot;altTitle&amp;quot;:&amp;quot;get-shopper-info-v6-advanced&amp;quot;,&amp;quot;oldTabId&amp;quot;:&amp;quot;get-shopper-info-v6-advanced_1&amp;quot;,&amp;quot;relation&amp;quot;:&amp;quot;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;v5&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\n&amp;lt;p&amp;gt;When the lightbox closes, the Component triggers the &amp;lt;code&amp;gt;onShopperDetails&amp;lt;\\\\\\\/code&amp;gt; callback.&amp;lt;\\\\\\\/p&amp;gt;\\\\n&amp;lt;p&amp;gt;Implement the &amp;lt;code&amp;gt;onShopperDetails&amp;lt;\\\\\\\/code&amp;gt; callback in your PayPal configuration object to get the information, using the following properties:&amp;lt;\\\\\\\/p&amp;gt;\\\\n&amp;lt;table&amp;gt;\\\\n&amp;lt;thead&amp;gt;\\\\n&amp;lt;tr&amp;gt;\\\\n&amp;lt;th&amp;gt;Property&amp;lt;\\\\\\\/th&amp;gt;\\\\n&amp;lt;th&amp;gt;Description&amp;lt;\\\\\\\/th&amp;gt;\\\\n&amp;lt;\\\\\\\/tr&amp;gt;\\\\n&amp;lt;\\\\\\\/thead&amp;gt;\\\\n&amp;lt;tbody&amp;gt;\\\\n&amp;lt;tr&amp;gt;\\\\n&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;shopperDetails&amp;lt;\\\\\\\/code&amp;gt;&amp;lt;\\\\\\\/td&amp;gt;\\\\n&amp;lt;td&amp;gt;Shopper details received from PayPal. The Component formats the details for compatibility with the  &amp;lt;a href=\\\\&amp;quot;https:\\\\\\\/\\\\\\\/docs.adyen.com\\\\\\\/api-explorer\\\\\\\/Checkout\\\\\\\/latest\\\\\\\/overview\\\\&amp;quot; class=\\\\&amp;quot;codeLabel  external-link no-image\\\\&amp;quot; target=\\\\&amp;quot;_blank\\\\&amp;quot; rel=\\\\&amp;quot;nofollow noopener noreferrer\\\\&amp;quot;&amp;gt;Checkout API&amp;lt;\\\\\\\/a&amp;gt;.&amp;lt;\\\\\\\/td&amp;gt;\\\\n&amp;lt;\\\\\\\/tr&amp;gt;\\\\n&amp;lt;tr&amp;gt;\\\\n&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;rawData&amp;lt;\\\\\\\/code&amp;gt;&amp;lt;\\\\\\\/td&amp;gt;\\\\n&amp;lt;td&amp;gt;The shopper details received from PayPal, in raw format.&amp;lt;\\\\\\\/td&amp;gt;\\\\n&amp;lt;\\\\\\\/tr&amp;gt;\\\\n&amp;lt;tr&amp;gt;\\\\n&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;actions&amp;lt;\\\\\\\/code&amp;gt;&amp;lt;\\\\\\\/td&amp;gt;\\\\n&amp;lt;td&amp;gt;&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt; &amp;lt;code&amp;gt;actions.resolve()&amp;lt;\\\\\\\/code&amp;gt;: continues the flow. &amp;lt;\\\\\\\/li&amp;gt;&amp;lt;li&amp;gt; &amp;lt;code&amp;gt;actions.reject()&amp;lt;\\\\\\\/code&amp;gt;: cancels the flow. &amp;lt;\\\\\\\/li&amp;gt;&amp;lt;\\\\\\\/ul&amp;gt;&amp;lt;\\\\\\\/td&amp;gt;\\\\n&amp;lt;\\\\\\\/tr&amp;gt;\\\\n&amp;lt;\\\\\\\/tbody&amp;gt;\\\\n&amp;lt;\\\\\\\/table&amp;gt;\\\\n&amp;lt;p&amp;gt;You can use the shopper&amp;#039;s details to manage the order. For example, use the shopper&amp;#039;s name and delivery address for the shipping label.&amp;lt;\\\\\\\/p&amp;gt;\\\\n&amp;lt;div data-component-wrapper=\\\\&amp;quot;code-sample\\\\&amp;quot;&amp;gt;\\\\n    &amp;lt;code-sample :title=\\\\&amp;quot;&amp;#039;Implement onShopperDetails&amp;#039;\\\\&amp;quot; :id=\\\\&amp;quot;&amp;#039;&amp;#039;\\\\&amp;quot; :code-data=&amp;#039;[{\\\\&amp;quot;language\\\\&amp;quot;:\\\\&amp;quot;js\\\\&amp;quot;,\\\\&amp;quot;tabTitle\\\\&amp;quot;:\\\\&amp;quot;\\\\&amp;quot;,\\\\&amp;quot;content\\\\&amp;quot;:\\\\&amp;quot;const payPalConfiguration = {\\\\\\\\n  isExpress: true,\\\\\\\\n  onShippingAddressChange: function(data, actions, component) {...},\\\\\\\\n  onShippingOptionsChange: function(data, actions, component) {...}, \\\\\\\\\\\\\\\/\\\\\\\\\\\\\\\/ Only if you need to handle delivery method changes.\\\\\\\\n  onShopperDetails: (shopperDetails, rawData, actions) =&amp;amp;gt; {\\\\\\\\n    actions.resolve();\\\\\\\\n  },\\\\\\\\n\\\\\\\\\\\\\\\/\\\\\\\\\\\\\\\/ ... Your other configurations.\\\\\\\\n}\\\\&amp;quot;}]&amp;#039; :enable-copy-link-to-code-block=\\\\&amp;quot;true\\\\&amp;quot; :code-sample-card-size=\\\\&amp;quot;&amp;#039;fullsize&amp;#039;\\\\&amp;quot;&amp;gt;&amp;lt;\\\\\\\/code-sample&amp;gt;\\\\n&amp;lt;\\\\\\\/div&amp;gt;\\\\n&amp;quot;,&amp;quot;altTitle&amp;quot;:&amp;quot;get-shopper-info-v5-advanced&amp;quot;,&amp;quot;oldTabId&amp;quot;:&amp;quot;get-shopper-info-v5-advanced_2&amp;quot;,&amp;quot;relation&amp;quot;:&amp;quot;&amp;quot;}]\\&quot;\\n            :should-update-when-url-changes=&#039;true&#039;&gt;\\n        &lt;\\\/tabs&gt;\\n    &lt;\\\/div&gt;\\n&lt;\\\/div&gt;\\n\\n&lt;h3 id=\\&quot;send-additional-payment-details-advanced\\&quot;&gt;7. Submit additional payment details&lt;\\\/h3&gt;\\n&lt;div class=\\&quot;notices green\\&quot;&gt;\\n&lt;p&gt;If you want to present an additional payment review page where your shopper can review their payment details, skip this step and follow the steps to &lt;a href=\\&quot;#review-page\\&quot;&gt;add a payment review page&lt;\\\/a&gt; instead.&lt;\\\/p&gt;\\n&lt;\\\/div&gt;\\n&lt;p&gt;In your &lt;code&gt;AdyenCheckout&lt;\\\/code&gt; configuration, or in the &lt;code&gt;paypalConfiguration&lt;\\\/code&gt; object, implement the &lt;a href=\\&quot;\\\/pt\\\/online-payments\\\/build-your-integration\\\/sessions-flow\\\/?platform=Web&amp;amp;integration=Components#adyencheckout-configuration\\&quot;&gt;\\n  &lt;code&gt;onAdditionalDetails&lt;\\\/code&gt;\\n&lt;\\\/a&gt; callback, which makes 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 to authorize the payment. In your request, include the following fields:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;&lt;code&gt;details&lt;\\\/code&gt;: the &lt;code&gt;state.data.details&lt;\\\/code&gt; from the &lt;code&gt;onAdditionalDetails&lt;\\\/code&gt; event.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;paymentData&lt;\\\/code&gt;: the &lt;code&gt;state.data.paymentData&lt;\\\/code&gt; from the &lt;code&gt;onAdditionalDetails&lt;\\\/code&gt; event.&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;Implement onAdditionalDetails&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;js\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;onAdditionalDetails: async (state, component) =&amp;gt; {\\\\n  const response = await makePaymentDetailsCall(state);\\\\n  \\\\\\\/\\\\\\\/ The rest of your implementation.\\\\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;p&gt;Below is an example  &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 to authorize the payment:&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n    &lt;code-sample :title=\\&quot;&#039;Make a \\\/payments\\\/details request&#039;\\&quot; :id=\\&quot;&#039;make-a-payments-details-request-9766712174&#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\\\\\\\/payments\\\\\\\/details \\\\\\\\\\\\n-H &#039;x-api-key: ADYEN_API_KEY&#039; \\\\\\\\\\\\n-H &#039;content-type: application\\\\\\\/json&#039; \\\\\\\\\\\\n-d &#039;{\\\\n \\\\&amp;quot;details: {\\\\n    billingToken: null,\\\\n    facilitatorAccessToken: \\\\&amp;quot;1WP6839J5ZKOIZ57aMZ\\\\&amp;quot;,\\\\n    payerID: \\\\&amp;quot;9DNS6DJFHS4NC\\\\&amp;quot;,\\\\n    orderID: \\\\&amp;quot;8515681150749290\\\\&amp;quot;,\\\\n    paymentID: \\\\&amp;quot;1WPF9J5ZKOIZH8MZ\\\\&amp;quot;,\\\\n    paymentSource: \\\\&amp;quot;paypal\\\\&amp;quot;\\\\n },\\\\n \\\\&amp;quot;paymentData\\\\&amp;quot;:\\\\&amp;quot;ABC...\\\\&amp;quot;\\\\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;advanced&quot;,&quot;oldTabId&quot;:&quot;express-flow-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=\"review-page\">Add a payment review page<\/h2>\n\n<div id=\"tablrA5C\">\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;Adding a payment review page is not possible if your integration uses the Sessions flow.&lt;\\\/p&gt;\\n&quot;,&quot;altTitle&quot;:&quot;sessions&quot;,&quot;oldTabId&quot;:&quot;review-page-sessions_1&quot;,&quot;relation&quot;:&quot;sessions&quot;},{&quot;title&quot;:&quot;Advanced flow&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;After the PayPal lightbox is closed, you can optionally display an order review page that contains the details of the payment, including the delivery method the shopper selected in the PayPal lightbox.&lt;\\\/p&gt;\\n&lt;p&gt;If you implement a review page, the &lt;code&gt;onShopperDetails&lt;\\\/code&gt; callback is triggered when the shopper proceeds to review the order instead of &lt;a href=\\&quot;#get-shopper-payment-information-advanced\\&quot;&gt;when the payment is completed in the PayPal lightbox&lt;\\\/a&gt;.&lt;\\\/p&gt;\\n&lt;p&gt;Follow the steps below after you have followed the guide to &lt;a href=\\&quot;#set-up-paypal-express\\&quot;&gt;set up PayPal express&lt;\\\/a&gt; until the &lt;a href=\\&quot;#send-additional-payment-details-advanced\\&quot;&gt;Submit additional payment details&lt;\\\/a&gt; step.&lt;\\\/p&gt;\\n&lt;h3&gt;1. Enable the review page flow&lt;\\\/h3&gt;\\n&lt;p&gt;In the PayPal configuration object, add the &lt;code&gt;userAction&lt;\\\/code&gt;: &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;continue&lt;\\\/strong&gt;&lt;\\\/span&gt; configuration to enable the review page flow.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n    &lt;code-sample :title=\\&quot;&#039;Configure userAction&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=\\&quot;[{&amp;quot;language&amp;quot;:&amp;quot;js&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;const payPalConfiguration = {\\\\n    isExpress: true,\\\\n    userAction: &#039;continue&#039;\\\\n    \\\\\\\/\\\\\\\/ ... Your other configurations.\\\\n}&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;2. Create a review page&lt;\\\/h3&gt;\\n&lt;p&gt;Use the &lt;a href=\\&quot;#get-shopper-payment-information-advanced\\&quot;&gt;shopper details you collected&lt;\\\/a&gt; to present a review page that contains:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;An order summary&lt;\\\/li&gt;\\n&lt;li&gt;Delivery address and method&lt;\\\/li&gt;\\n&lt;li&gt;Details of the total amount, showing the breakdown of the order total and delivery fees&lt;\\\/li&gt;\\n&lt;li&gt;A &lt;strong&gt;Pay&lt;\\\/strong&gt; button to confirm the payment&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;h3&gt;3. Redirect shopper to the review page&lt;\\\/h3&gt;\\n&lt;p&gt;In your &lt;code&gt;AdyenCheckout&lt;\\\/code&gt; configuration, or in the &lt;code&gt;paypalConfiguration&lt;\\\/code&gt; object, implement the &lt;a href=\\&quot;\\\/pt\\\/online-payments\\\/build-your-integration\\\/sessions-flow\\\/?platform=Web&amp;amp;integration=Components#adyencheckout-configuration\\&quot;&gt;\\n  &lt;code&gt;onAdditionalDetails&lt;\\\/code&gt;\\n&lt;\\\/a&gt; event to collect the final payment data and to redirect your shopper to the review page. You then use the final payment data to finalize the payment in the review page.&lt;\\\/p&gt;\\n&lt;p&gt;Below is an example that uses the &lt;code&gt;storePaymentData&lt;\\\/code&gt; and &lt;code&gt;redirectShopperToReviewPage&lt;\\\/code&gt; functions.&lt;\\\/p&gt;\\n&lt;p&gt;When the &lt;code&gt;onAdditionalDetails&lt;\\\/code&gt; event is triggered, you get a &lt;code&gt;state.data&lt;\\\/code&gt; object. Store this value as you need it to &lt;a href=\\&quot;#send-additional-payment-details\\&quot;&gt;submit additional payment details&lt;\\\/a&gt; later.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n    &lt;code-sample :title=\\&quot;&#039;Configure userAction&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;js\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;onAdditionalDetails: async (state, component) =&amp;gt; {\\\\n   storePaymentData(state.data);\\\\n   redirectShopperToReviewPage();\\\\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;h3 id=\\&quot;send-additional-payment-details\\&quot;&gt;4. Submit additional payment details&lt;\\\/h3&gt;\\n&lt;p&gt;When the shopper selects the &lt;strong&gt;Pay&lt;\\\/strong&gt; button on the review page, 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 with:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;&lt;code&gt;details&lt;\\\/code&gt;: the &lt;code&gt;state.data.details&lt;\\\/code&gt; from the &lt;code&gt;onAdditionalDetails&lt;\\\/code&gt; event.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;paymentData&lt;\\\/code&gt;: the &lt;code&gt;state.data.paymentData&lt;\\\/code&gt; from the &lt;code&gt;onAdditionalDetails&lt;\\\/code&gt; event.&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;Make a \\\/payments\\\/details request&#039;\\&quot; :id=\\&quot;&#039;make-a-payments-details-request-0591178072&#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\\\\\\\/payments\\\\\\\/details \\\\\\\\\\\\n-H &#039;x-api-key: ADYEN_API_KEY&#039; \\\\\\\\\\\\n-H &#039;content-type: application\\\\\\\/json&#039; \\\\\\\\\\\\n-d &#039;{\\\\n \\\\&amp;quot;details: {\\\\n    billingToken: null,\\\\n    facilitatorAccessToken: \\\\&amp;quot;1WP6839J5ZKOIZ57aMZ\\\\&amp;quot;,\\\\n    payerID: \\\\&amp;quot;9DNS6DJFHS4NC\\\\&amp;quot;,\\\\n    orderID: \\\\&amp;quot;9914810184130050\\\\&amp;quot;,\\\\n    paymentID: \\\\&amp;quot;1WPF9J5ZKOIZH8MZ\\\\&amp;quot;,\\\\n    paymentSource: \\\\&amp;quot;paypal\\\\&amp;quot;\\\\n },\\\\n \\\\&amp;quot;paymentData\\\\&amp;quot;:\\\\&amp;quot;ABC...\\\\&amp;quot;\\\\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;advanced&quot;,&quot;oldTabId&quot;:&quot;review-page-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>Recurring payments<\/h2>\n<p>PayPal Express Checkout supports <a href=\"\/pt\/online-payments\/tokenization\">tokenization<\/a> for recurring payments.<\/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>When creating a token through a PayPal Express Checkout payment, keep in mind the following:<\/p>\n<ul>\n<li>PayPal Express Checkout does not allow zero-value authorization requests to create a token.<\/li>\n<li>Tokenization through a PayPal Express Checkout request fails if the <a href=\"\/pt\/payment-methods\/paypal\/web-component\/express-checkout\/?tab=1#add-additional-paypal-configuration\">PayPal configuration object<\/a> includes <code>intent: \"tokenize\"<\/code>.<\/li>\n<\/ul>\n<p>Other than the above points, creating and using tokens for PayPal Express Checkout payments is the same as described for tokenization in general.<\/p>\n<p>For instructions, see <a href=\"\/pt\/online-payments\/tokenization\/create-tokens\">Create tokens<\/a> and <a href=\"\/pt\/online-payments\/tokenization\/make-token-payments\">Make token payments<\/a>.<\/p>","url":"https:\/\/docs.adyen.com\/pt\/payment-methods\/paypal\/web-component\/express-checkout","articleFields":{"description":"Render a PayPal Express Checkout button for one-click checkout.","parameters":{"integration":"Components","integration_guide_url":"build-your-integration\/sessions-flow?platform=Web&integration=Components","component_name":"the Component","component_name_capitalized":"The Component","payment_method":"PayPal","payment_method_type":"paypal","component_js_const":"paypal"},"feedback_component":true,"filters_component":false,"page_id":"aa384d04-78a1-4297-b7c3-5650720fb135","decision_tree":"[]"},"algolia":{"url":"https:\/\/docs.adyen.com\/pt\/payment-methods\/paypal\/web-component\/express-checkout","title":"PayPal Express Checkout","content":"\nYou can render a PayPal Express Checkout button anywhere on your site, like a product page, to let shoppers pay without going to an additional checkout page.\nRequirements\nImplement the PayPal Web Component. PayPal Express Checkout is supported from v5.59.0 and later.\nHow it works\n\n\n    \n        \n        \n    \n\n\n\nPayPal Lightbox with delivery methods:PayPal Lightbox without delivery methods:\nSet up PayPal express\n\n\n    \n        \n        \n    \n\n\nAdd a payment review page\n\n\n    \n        \n        \n    \n\n\nRecurring payments\nPayPal Express Checkout supports tokenization for recurring payments.\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\nWhen creating a token through a PayPal Express Checkout payment, keep in mind the following:\n\nPayPal Express Checkout does not allow zero-value authorization requests to create a token.\nTokenization through a PayPal Express Checkout request fails if the PayPal configuration object includes intent: \"tokenize\".\n\nOther than the above points, creating and using tokens for PayPal Express Checkout payments is the same as described for tokenization in general.\nFor instructions, see Create tokens and Make token payments.","type":"page","locale":"pt","boost":16,"hierarchy":{"lvl0":"Home","lvl1":"Payment methods","lvl2":"PayPal","lvl3":"PayPal Component","lvl4":"PayPal Express Checkout"},"hierarchy_url":{"lvl0":"https:\/\/docs.adyen.com\/pt","lvl1":"https:\/\/docs.adyen.com\/pt\/payment-methods","lvl2":"https:\/\/docs.adyen.com\/pt\/payment-methods\/paypal","lvl3":"https:\/\/docs.adyen.com\/pt\/payment-methods\/paypal\/web-component","lvl4":"\/pt\/payment-methods\/paypal\/web-component\/express-checkout"},"levels":5,"category":"Payment method","category_color":"green","tags":["PayPal","Express","Checkout"]},"articleFiles":{"with.png":"<img alt=\"\" src=\"https:\/\/docs.adyen.com\/user\/pages\/docs\/08.payment-methods\/70.paypal\/02.web-component\/express-checkout\/with.png\" \/>","without.png":"<img alt=\"\" src=\"https:\/\/docs.adyen.com\/user\/pages\/docs\/08.payment-methods\/70.paypal\/02.web-component\/express-checkout\/without.png\" \/>","delivery-methods-advanced.js":"<p alt=\"\">delivery-methods-advanced.js<\/p>","delivery-methods-sessions.js":"<p alt=\"\">delivery-methods-sessions.js<\/p>","update-amount-advanced.js":"<p alt=\"\">update-amount-advanced.js<\/p>","update-amount-sessions.js":"<p alt=\"\">update-amount-sessions.js<\/p>"}}
