{"title":"Adjust an authorization","category":"default","creationDate":1776961627,"content":"<div class=\"additional-info-block output-inline\">\n<div class=\"additional-info-block__body\"><p><img style=\"width: 25px;\" alt=\"\" src=\"\/user\/pages\/reuse\/development-resources\/additional-info-resources\/postman-logo-vertical-orange-2021.svg?decoding=auto&amp;fetchpriority=auto\" \/>&nbsp;&nbsp;<a href=\"https:\/\/www.postman.com\/adyendev\/workspace\/adyen-apis\/collection\/25716737-46ad970e-dc9e-4246-bac2-769c6083e7b5\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">Postman collection<\/a><\/p><p><strong>Implementation examples<\/strong><br \/><img style=\"width: 25px;\" alt=\"\" src=\"\/user\/pages\/reuse\/development-resources\/additional-info-resources\/java-original.svg?decoding=auto&amp;fetchpriority=auto\" \/>&nbsp;&nbsp;<a href=\"https:\/\/github.com\/adyen-examples\/adyen-java-spring-online-payments\/tree\/main\/authorisation-adjustment-example\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">Java Spring<\/a><br \/><img style=\"width: 25px;\" alt=\"\" src=\"\/user\/pages\/reuse\/development-resources\/additional-info-resources\/dot-net-original.svg?decoding=auto&amp;fetchpriority=auto\" \/>&nbsp;&nbsp;<a href=\"https:\/\/github.com\/adyen-examples\/adyen-dotnet-online-payments\/tree\/main\/authorisation-adjustment-example\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">.NET<\/a><br \/><img style=\"width: 25px;\" alt=\"\" src=\"\/user\/pages\/reuse\/development-resources\/additional-info-resources\/nodejs-original.svg?decoding=auto&amp;fetchpriority=auto\" \/>&nbsp;&nbsp;<a href=\"https:\/\/github.com\/adyen-examples\/adyen-node-online-payments\/tree\/main\/authorisation-adjustment-example\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">Node.js<\/a><\/p><\/div><\/div>\n\n<p>This page explains how to adjust <a href=\"\/pt\/get-started-with-adyen\/adyen-glossary\/#authorization?target=_blank\">authorizations<\/a> for card payments, and for <a href=\"\/pt\/payment-methods\/klarna\" target=\"_blank\">Klarna<\/a> payments.<\/p>\n<p>Be aware that:<\/p>\n<ul>\n<li>\n<p>You will rely on webhook events to know whether the capture succeeds. If you use asynchronous authorization adjustment, you will also rely on webhook events for the authorization adjustment result.<\/p>\n<\/li>\n<li>\n<p>You need to implement logic on your end to decide when to use the pre-authorization flow, and to calculate the amount when you make an authorization adjustment.<\/p>\n<\/li>\n<\/ul>\n<p>For information about use cases, asynchronous or synchronous adjustment, and restrictions, see <a href=\"\/pt\/online-payments\/adjust-authorisation\" target=\"_blank\">Authorization adjustment<\/a>.<\/p>\n<h2>Requirements<\/h2>\n<p>Before you begin, consider the following requirements, limitations, and preparations:<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Requirements<\/th>\n<th style=\"text-align: left;\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"><strong>Integration type<\/strong><\/td>\n<td style=\"text-align: left;\">An <a href=\"\/pt\/online-payments\/build-your-integration\">online payments integration<\/a>.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong><a href=\"\/pt\/development-resources\/webhooks\">Webhooks<\/a><\/strong><\/td>\n<td style=\"text-align: left;\">Listen for <a href=\"\/pt\/development-resources\/webhooks\/webhook-types#default-event-codes\">Standard webhook messages<\/a> with the following <code>eventCode<\/code> values: <ul><li markdown=\"1\"><strong>AUTHORISATION_ADJUSTMENT<\/strong><\/li> <li markdown=\"1\"><strong>CAPTURE<\/strong><\/li> <li markdown=\"1\"><strong>CAPTURE_FAILED<\/strong><\/li><\/ul><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong>Limitations<\/strong><\/td>\n<td style=\"text-align: left;\">Note the following limitations: <ul><li markdown=\"1\"><a href=\"\/pt\/online-payments\/adjust-authorisation\/#availability\">Support for authorization adjustment<\/a> is limited to specific payment methods and Merchant Category Codes (MCC). It is ultimately up to the issuing bank whether they allow it.<\/li> <li markdown=\"1\">Pre-authorizations and authorizations <a href=\"\/pt\/online-payments\/adjust-authorisation\/#validity\">eventually expire<\/a>. The length of an authorization's validity depends on the card scheme.<\/li> <li markdown=\"1\">You can only adjust authorizations for payments acquired by Adyen.<\/li><\/ul><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"configure-account-cards\">(Optional) Configure your account<\/h2>\n<p>If you plan to implement synchronous authorization adjustments, contact our <a href=\"https:\/\/ca-test.adyen.com\/ca\/ca\/contactUs\/support.shtml?form=other\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">Support Team<\/a> to enable the <strong>Synchronous authorization adjustment<\/strong> setting. This setting allows you to receive the initial <code>adjustAuthorisationData<\/code> blob with your pre-authorization response, and to subsequently receive the authorization adjustment results synchronously when you make  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\/(paymentPspReference)\/amountUpdates\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/amountUpdates<\/a> requests.<\/p>\n<p>To capture payments in the authorization adjustment flow, <a href=\"\/pt\/online-payments\/capture\/#enable-manual-capture\">manual capture must be enabled<\/a>. You can set this for your account, but then all payments require manual capture. The alternative is to enable manual capture in the individual pre-authorization request.<\/p>\n<p>To make <a href=\"\/pt\/online-payments\/capture#partial-capture\">multiple partial captures<\/a>, ask our <a href=\"https:\/\/ca-test.adyen.com\/ca\/ca\/contactUs\/support.shtml?form=other\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">Support Team<\/a> to enable that feature.<\/p>\n<h2 id=\"pre-authorize\">1. Pre-authorize a payment<\/h2>\n<ol>\n<li>\n<p>Make a payment request that specifies:<\/p>\n<ul>\n<li> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/sessions#request-additionalData-AdditionalDataCommon-authorisationType\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">additionalData.authorisationType<\/a>&colon; <strong>PreAuth<\/strong><\/li>\n<li> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/sessions#request-additionalData-AdditionalDataCommon-manualCapture\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">additionalData.manualCapture<\/a>&colon; <strong>true<\/strong><br \/>\nManual capture is optional. You can also enable manual capture for your entire account.<\/li>\n<\/ul>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Pre-authorization request'\" :id=\"'preauthorisation-request'\" :code-data=\"[{&quot;language&quot;:&quot;bash&quot;,&quot;tabTitle&quot;:&quot;curl&quot;,&quot;content&quot;:&quot;curl https:\\\/\\\/checkout-test.adyen.com\\\/v72\\\/payments \\\\\\n-H 'x-api-key: ADYEN_API_KEY' \\\\\\n-H 'Content-Type: application\\\/json' \\\\\\n-d '{\\n   \\&quot;reference\\&quot;:\\&quot;YOUR_ORDER_NUMBER\\&quot;,\\n   \\&quot;merchantAccount\\&quot;:\\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n   \\&quot;paymentMethod\\&quot;: {\\n      \\&quot;type\\&quot;: \\&quot;scheme\\&quot;,\\n      \\&quot;number\\&quot;:\\&quot;4111111111111111\\&quot;,\\n      \\&quot;cvc\\&quot;:\\&quot;737\\&quot;,\\n      \\&quot;expiryMonth\\&quot;:\\&quot;03\\&quot;,\\n      \\&quot;expiryYear\\&quot;:\\&quot;2030\\&quot;,\\n      \\&quot;holderName\\&quot;:\\&quot;John Smith\\&quot;\\n   },\\n   \\&quot;amount\\&quot;:{\\n      \\&quot;currency\\&quot;:\\&quot;EUR\\&quot;,\\n      \\&quot;value\\&quot;:1500\\n   },\\n   \\&quot;returnUrl\\&quot;: \\&quot;https:\\\/\\\/your-company.example.com\\\/checkout?shopperOrder=12xy..\\&quot;,\\n   \\&quot;additionalData\\&quot;:{\\n      \\&quot;authorisationType\\&quot;:\\&quot;PreAuth\\&quot;\\n   }\\n}'&quot;},{&quot;language&quot;:&quot;java&quot;,&quot;tabTitle&quot;:&quot;Java&quot;,&quot;content&quot;:&quot;Client client = new Client(System.getenv(\\&quot;API_KEY\\&quot;), Environment.TEST);\\nPaymentsApi checkout = new PaymentsApi(client);\\nPaymentRequest paymentRequest = new PaymentRequest();\\npaymentRequest.setMerchantAccount(System.getenv(\\&quot;MERCHANT_ACCOUNT\\&quot;));\\nCardDetails cardDetails = new CardDetails();\\ncardDetails.encryptedCardNumber(\\&quot;test_4111111111111111\\&quot;)\\n    .encryptedSecurityCode(\\&quot;test_737\\&quot;)\\n    .encryptedExpiryMonth(\\&quot;test_03\\&quot;)\\n    .encryptedExpiryYear(\\&quot;test_2030\\&quot;)\\n    .holderName(\\&quot;John Smith\\&quot;);\\npaymentRequest.setPaymentMethod(new CheckoutPaymentMethod(cardDetails));\\nAmount amount = new Amount();\\namount.setCurrency(\\&quot;EUR\\&quot;);\\namount.setValue(1500L);\\npaymentRequest.setAmount(amount);\\npaymentRequest.setReference(\\&quot;YOUR_ORDER_NUMBER\\&quot;);\\npaymentRequest.setReturnUrl(\\&quot;https:\\\/\\\/your-company.example.com\\\/checkout?shopperOrder=12xy..\\&quot;);\\nMap&lt;String, String&gt; additionalData = new HashMap&lt;&gt;();\\nadditionalData.put(\\&quot;authorisationType\\&quot;, \\&quot;PreAuth\\&quot;);\\npaymentRequest.setAdditionalData(additionalData);\\nPaymentResponse response = checkout.payments(paymentRequest);&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<li>\n<p>From the response, save the following for later use when adjusting the authorization or capturing the payment:<\/p>\n<ul>\n<li><code>pspReference<\/code>: You will need this for authorization adjustment and capture requests.<\/li>\n<li><code>adjustAuthorisationData<\/code>: If your account is configured for synchronous authorization adjustment, you will receive this blob. Save it for use in your first  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\/(paymentPspReference)\/amountUpdates\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/amountUpdates<\/a> request.<\/li>\n<\/ul>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Pre-authorization response'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n  \\\"pspReference\\\": \\\"KHQC5N7G84BLNK43\\\",\\n  \\\"resultCode\\\": \\\"Authorised\\\",\\n  \\\"adjustAuthorisationData\\\": \\\"BQABAQA+fbc==...\\\"\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<\/ol>\n<h2 id=\"adjust-auth\">2. Adjust the pre-authorized amount<\/h2>\n<p>To increase or decrease the pre-authorized amount or to <a href=\"#extend-authorization\">extend the authorization<\/a>, make an authorization adjustment request:<\/p>\n\n<div id=\"tabbuWYA\">\n    <div data-component-wrapper=\"tabs\">\n        <tabs\n                        :items=\"[{&quot;title&quot;:&quot;Asynchronous authorization adjustment&quot;,&quot;content&quot;:&quot;\\n&lt;ol&gt;\\n&lt;li&gt;\\n&lt;p&gt;Make a POST  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments\\\/(paymentPspReference)\\\/amountUpdates\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/payments\\\/{paymentPspReference}\\\/amountUpdates&lt;\\\/a&gt; request, including the following:&lt;\\\/p&gt;\\n&lt;p&gt;Path parameters:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Parameter&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: center;\\&quot;&gt;Required&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Description&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;paymentPspReference&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;span class=\\&quot;hint--bottom\\&quot; data-hint=\\&quot;Required\\&quot; markdown=\\&quot;1\\&quot;&gt;&lt;img style=\\&quot;width: 25px;\\&quot; alt=\\&quot;Required\\&quot; src=\\&quot;\\\/user\\\/pages\\\/reuse\\\/image-library\\\/01.icons\\\/required\\\/required.svg?decoding=auto&amp;amp;fetchpriority=auto\\&quot; \\\/&gt;&lt;\\\/span&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;The PSP reference from the pre-authorization response.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;p&gt;Body parameters:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Parameter&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: center;\\&quot;&gt;Required&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Description&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments\\\/(paymentPspReference)\\\/amountUpdates#request-merchantAccount\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;merchantAccount&lt;\\\/a&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;span class=\\&quot;hint--bottom\\&quot; data-hint=\\&quot;Required\\&quot; markdown=\\&quot;1\\&quot;&gt;&lt;img style=\\&quot;width: 25px;\\&quot; alt=\\&quot;Required\\&quot; src=\\&quot;\\\/user\\\/pages\\\/reuse\\\/image-library\\\/01.icons\\\/required\\\/required.svg?decoding=auto&amp;amp;fetchpriority=auto\\&quot; \\\/&gt;&lt;\\\/span&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;The name of your merchant account that is used to process the payment.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments\\\/(paymentPspReference)\\\/amountUpdates#request-amount\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;amount&lt;\\\/a&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;span class=\\&quot;hint--bottom\\&quot; data-hint=\\&quot;Required\\&quot; markdown=\\&quot;1\\&quot;&gt;&lt;img style=\\&quot;width: 25px;\\&quot; alt=\\&quot;Required\\&quot; src=\\&quot;\\\/user\\\/pages\\\/reuse\\\/image-library\\\/01.icons\\\/required\\\/required.svg?decoding=auto&amp;amp;fetchpriority=auto\\&quot; \\\/&gt;&lt;\\\/span&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;The &lt;code&gt;currency&lt;\\\/code&gt; and &lt;code&gt;value&lt;\\\/code&gt; of the new amount &lt;strong&gt;in minor units&lt;\\\/strong&gt;. This is the sum of the pre-authorized amount and the additional amount. &lt;br&gt;&lt;br&gt;If this is not the first authorization adjustment, it is the sum of the pre-authorized amount plus all additional amounts.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments\\\/(paymentPspReference)\\\/amountUpdates#request-industryUsage\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;industryUsage&lt;\\\/a&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;Use the &lt;strong&gt;delayedCharge&lt;\\\/strong&gt; value for pre-authorizations.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments\\\/(paymentPspReference)\\\/amountUpdates#request-reference\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;reference&lt;\\\/a&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;Your reference to this payment modification, for use in your reconciliation process.&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 add a charge of EUR&amp;nbsp;64.15 to a pre-authorized amount of EUR&amp;nbsp;150.00.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Asynchronous authorization adjustment request&#039;\\&quot; :id=\\&quot;&#039;async-auth-adjustment-request&#039;\\&quot; :code-data=\\&quot;[{&amp;quot;language&amp;quot;:&amp;quot;bash&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;curl&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;curl https:\\\\\\\/\\\\\\\/checkout-test.adyen.com\\\\\\\/v72\\\\\\\/payments\\\\\\\/{paymentPspReference}\\\\\\\/amountUpdates \\\\\\\\\\\\n-H &#039;x-api-key: ADYEN_API_KEY&#039; \\\\\\\\\\\\n-H &#039;content-type: application\\\\\\\/json&#039; \\\\\\\\\\\\n-d &#039;{\\\\n  \\\\&amp;quot;merchantAccount\\\\&amp;quot;: \\\\&amp;quot;ADYEN_MERCHANT_ACCOUNT\\\\&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;:21415\\\\n  },\\\\n  \\\\&amp;quot;industryUsage\\\\&amp;quot;: \\\\&amp;quot;delayedCharge\\\\&amp;quot;,\\\\n  \\\\&amp;quot;reference\\\\&amp;quot;: \\\\&amp;quot;YOUR_UNIQUE_REFERENCE\\\\&amp;quot;\\\\n}&#039;&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;java&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Java&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Java API Library v26.3.0\\\\nimport com.adyen.Client;\\\\nimport com.adyen.enums.Environment;\\\\nimport com.adyen.model.checkout.*;\\\\nimport java.time.OffsetDateTime;\\\\nimport java.util.*;\\\\nimport com.adyen.model.RequestOptions;\\\\nimport com.adyen.service.checkout.*;\\\\n\\\\n\\\\\\\/\\\\\\\/ For the live environment, additionally include your liveEndpointUrlPrefix.\\\\nClient client = new Client(\\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;, Environment.TEST);\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nAmount amount = new Amount()\\\\n  .currency(\\\\&amp;quot;EUR\\\\&amp;quot;)\\\\n  .value(21415L);\\\\n\\\\nPaymentAmountUpdateRequest paymentAmountUpdateRequest = new PaymentAmountUpdateRequest()\\\\n  .industryUsage(PaymentAmountUpdateRequest.IndustryUsageEnum.DELAYEDCHARGE)\\\\n  .reference(\\\\&amp;quot;YOUR_UNIQUE_REFERENCE\\\\&amp;quot;)\\\\n  .amount(amount)\\\\n  .merchantAccount(\\\\&amp;quot;ADYEN_MERCHANT_ACCOUNT\\\\&amp;quot;);\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nModificationsApi service = new ModificationsApi(client);\\\\nPaymentAmountUpdateResponse response = service.updateAuthorisedAmount(\\\\&amp;quot;paymentPspReference\\\\&amp;quot;, paymentAmountUpdateRequest, new RequestOptions().idempotencyKey(\\\\&amp;quot;UUID\\\\&amp;quot;));&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;php&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;PHP&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen PHP API Library v18.2.1\\\\nuse Adyen\\\\\\\\Client;\\\\nuse Adyen\\\\\\\\Environment;\\\\nuse Adyen\\\\\\\\Model\\\\\\\\Checkout\\\\\\\\LineItem;\\\\nuse Adyen\\\\\\\\Model\\\\\\\\Checkout\\\\\\\\Amount;\\\\nuse Adyen\\\\\\\\Model\\\\\\\\Checkout\\\\\\\\PaymentAmountUpdateRequest;\\\\nuse Adyen\\\\\\\\Service\\\\\\\\Checkout\\\\\\\\ModificationsApi;\\\\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(21415);\\\\n\\\\n$paymentAmountUpdateRequest = new PaymentAmountUpdateRequest();\\\\n$paymentAmountUpdateRequest\\\\n  -&amp;gt;setIndustryUsage(\\\\&amp;quot;delayedCharge\\\\&amp;quot;)\\\\n  -&amp;gt;setReference(\\\\&amp;quot;YOUR_UNIQUE_REFERENCE\\\\&amp;quot;)\\\\n  -&amp;gt;setAmount($amount)\\\\n  -&amp;gt;setMerchantAccount(\\\\&amp;quot;ADYEN_MERCHANT_ACCOUNT\\\\&amp;quot;);\\\\n\\\\n$requestOptions[&#039;idempotencyKey&#039;] = &#039;UUID&#039;;\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\n$service = new ModificationsApi($client);\\\\n$response = $service-&amp;gt;updateAuthorisedAmount(&#039;paymentPspReference&#039;, $paymentAmountUpdateRequest, $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 = 21415\\\\n};\\\\n\\\\nPaymentAmountUpdateRequest paymentAmountUpdateRequest = new PaymentAmountUpdateRequest\\\\n{\\\\n  IndustryUsage = PaymentAmountUpdateRequest.IndustryUsageEnum.DelayedCharge,\\\\n  Reference = \\\\&amp;quot;YOUR_UNIQUE_REFERENCE\\\\&amp;quot;,\\\\n  Amount = amount,\\\\n  MerchantAccount = \\\\&amp;quot;ADYEN_MERCHANT_ACCOUNT\\\\&amp;quot;\\\\n};\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nvar service = new ModificationsService(client);\\\\nvar response = service.UpdateAuthorisedAmount(\\\\&amp;quot;paymentPspReference\\\\&amp;quot;, paymentAmountUpdateRequest, requestOptions: new RequestOptions { IdempotencyKey = \\\\&amp;quot;UUID\\\\&amp;quot;});&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;js&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;NodeJS (JavaScript)&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Node API Library v17.3.0\\\\n\\\\\\\/\\\\\\\/ Require the parts of the module you want to use\\\\nconst { Client, CheckoutAPI } = require(&#039;@adyen\\\\\\\/api-library&#039;);\\\\n\\\\\\\/\\\\\\\/ Initialize the client object\\\\n\\\\\\\/\\\\\\\/ For the live environment, additionally include your liveEndpointUrlPrefix.\\\\nconst client = new Client({apiKey: \\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;, environment: \\\\&amp;quot;TEST\\\\&amp;quot;});\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nconst paymentAmountUpdateRequest = {\\\\n  merchantAccount: \\\\&amp;quot;ADYEN_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  amount: {\\\\n    currency: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n    value: 21415\\\\n  },\\\\n  industryUsage: \\\\&amp;quot;delayedCharge\\\\&amp;quot;,\\\\n  reference: \\\\&amp;quot;YOUR_UNIQUE_REFERENCE\\\\&amp;quot;\\\\n}\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nconst checkoutAPI = new CheckoutAPI(client);\\\\nconst response = checkoutAPI.ModificationsApi.updateAuthorisedAmount(\\\\&amp;quot;paymentPspReference\\\\&amp;quot;, paymentAmountUpdateRequest, { 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: 21415,\\\\n}\\\\n\\\\npaymentAmountUpdateRequest := checkout.PaymentAmountUpdateRequest{\\\\n  IndustryUsage: common.PtrString(\\\\&amp;quot;delayedCharge\\\\&amp;quot;),\\\\n  Reference: common.PtrString(\\\\&amp;quot;YOUR_UNIQUE_REFERENCE\\\\&amp;quot;),\\\\n  Amount: amount,\\\\n  MerchantAccount: \\\\&amp;quot;ADYEN_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n}\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nservice := client.Checkout()\\\\nreq := service.ModificationsApi.UpdateAuthorisedAmountInput(\\\\&amp;quot;paymentPspReference\\\\&amp;quot;).IdempotencyKey(\\\\&amp;quot;UUID\\\\&amp;quot;).PaymentAmountUpdateRequest(paymentAmountUpdateRequest)\\\\nres, httpRes, err := service.ModificationsApi.UpdateAuthorisedAmount(context.Background(), req)&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;py&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Python&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;# Adyen Python API Library v12.5.1\\\\nimport Adyen\\\\n\\\\nadyen = Adyen.Adyen()\\\\nadyen.client.xapikey = \\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;\\\\n# For the live environment, additionally include your liveEndpointUrlPrefix.\\\\nadyen.client.platform = \\\\&amp;quot;test\\\\&amp;quot; # The environment to use library in.\\\\n\\\\n# Create the request object(s)\\\\njson_request = {\\\\n  \\\\&amp;quot;merchantAccount\\\\&amp;quot;: \\\\&amp;quot;ADYEN_MERCHANT_ACCOUNT\\\\&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;: 21415\\\\n  },\\\\n  \\\\&amp;quot;industryUsage\\\\&amp;quot;: \\\\&amp;quot;delayedCharge\\\\&amp;quot;,\\\\n  \\\\&amp;quot;reference\\\\&amp;quot;: \\\\&amp;quot;YOUR_UNIQUE_REFERENCE\\\\&amp;quot;\\\\n}\\\\n\\\\n# Send the request\\\\nresult = adyen.checkout.modifications_api.update_authorised_amount(request=json_request, paymentPspReference=\\\\&amp;quot;paymentPspReference\\\\&amp;quot;, idempotency_key=\\\\&amp;quot;UUID\\\\&amp;quot;)&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;rb&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Ruby&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;# Adyen Ruby API Library v9.5.1\\\\nrequire \\\\&amp;quot;adyen-ruby-api-library\\\\&amp;quot;\\\\n\\\\nadyen = Adyen::Client.new\\\\nadyen.api_key = &#039;ADYEN_API_KEY&#039;\\\\n# For the live environment, additionally include your liveEndpointUrlPrefix.\\\\nadyen.env = :test # Set to \\\\&amp;quot;live\\\\&amp;quot; for live environment\\\\n\\\\n# Create the request object(s)\\\\nrequest_body = {\\\\n  :merchantAccount =&amp;gt; &#039;ADYEN_MERCHANT_ACCOUNT&#039;,\\\\n  :amount =&amp;gt; {\\\\n    :currency =&amp;gt; &#039;EUR&#039;,\\\\n    :value =&amp;gt; 21415\\\\n  },\\\\n  :industryUsage =&amp;gt; &#039;delayedCharge&#039;,\\\\n  :reference =&amp;gt; &#039;YOUR_UNIQUE_REFERENCE&#039;\\\\n}\\\\n\\\\n# Send the request\\\\nresult = adyen.checkout.modifications_api.update_authorised_amount(request_body, &#039;paymentPspReference&#039;, headers: { &#039;Idempotency-Key&#039; =&amp;gt; &#039;UUID&#039; })&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;ts&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;NodeJS (TypeScript)&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Node API Library v17.3.0\\\\n\\\\\\\/\\\\\\\/ Require the parts of the module you want to use\\\\nimport { Client, CheckoutAPI, Types } from \\\\&amp;quot;@adyen\\\\\\\/api-library\\\\&amp;quot;;\\\\n\\\\\\\/\\\\\\\/ Initialize the client object\\\\n\\\\\\\/\\\\\\\/ For the live environment, additionally include your liveEndpointUrlPrefix.\\\\nconst client = new Client({apiKey: \\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;, environment: \\\\&amp;quot;TEST\\\\&amp;quot;});\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nconst amount: Types.checkout.Amount = {\\\\n  currency: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n  value: 21415\\\\n};\\\\n\\\\nconst paymentAmountUpdateRequest: Types.checkout.PaymentAmountUpdateRequest = {\\\\n  lineItems: [lineItem1, lineItem2],\\\\n  industryUsage: Types.checkout.PaymentAmountUpdateRequest.IndustryUsageEnum.DelayedCharge,\\\\n  reference: \\\\&amp;quot;YOUR_UNIQUE_REFERENCE\\\\&amp;quot;,\\\\n  amount: amount,\\\\n  merchantAccount: \\\\&amp;quot;ADYEN_MERCHANT_ACCOUNT\\\\&amp;quot;\\\\n};\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nconst checkoutAPI = new CheckoutAPI(client);\\\\nconst response = checkoutAPI.ModificationsApi.updateAuthorisedAmount(\\\\&amp;quot;paymentPspReference\\\\&amp;quot;, paymentAmountUpdateRequest, { idempotencyKey: \\\\&amp;quot;UUID\\\\&amp;quot; });&amp;quot;}]\\&quot; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;In the  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments\\\/(paymentPspReference)\\\/amountUpdates\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/amountUpdates&lt;\\\/a&gt; response, note the following parameters:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;&lt;code&gt;pspReference&lt;\\\/code&gt;: the PSP reference for this  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments\\\/(paymentPspReference)\\\/amountUpdates\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/amountUpdates&lt;\\\/a&gt; request.&lt;br \\\/&gt;\\nThis is different from the PSP reference of the pre-authorization request.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;status&lt;\\\/code&gt;: &lt;strong&gt;received&lt;\\\/strong&gt;&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Asynchronous authorization adjustment response&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n   \\\\\\&quot;merchantAccount\\\\\\&quot;: \\\\\\&quot;ADYEN_MERCHANT_ACCOUNT\\\\\\&quot;,\\\\n   \\\\\\&quot;paymentPspReference\\\\\\&quot;: \\\\\\&quot;KHQC5N7G84BLNK43\\\\\\&quot;,\\\\n   \\\\\\&quot;pspReference\\\\\\&quot;: \\\\\\&quot;NC6HT9CRT65ZGN82\\\\\\&quot;,\\\\n   \\\\\\&quot;reference\\\\\\&quot;: \\\\\\&quot;YOUR_UNIQUE_REFERENCE\\\\\\&quot;,\\\\n   \\\\\\&quot;status\\\\\\&quot;: \\\\\\&quot;received\\\\\\&quot;,\\\\n   \\\\\\&quot;amount\\\\\\&quot;: {\\\\n       \\\\\\&quot;currency\\\\\\&quot;: \\\\\\&quot;EUR\\\\\\&quot;,\\\\n      \\\\\\&quot;value\\\\\\&quot;: 21415\\\\n   }\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;Wait for a webhook message with the &lt;code&gt;eventCode&lt;\\\/code&gt;  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Webhooks\\\/latest\\\/post\\\/AUTHORISATION_ADJUSTMENT\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;AUTHORISATION_ADJUSTMENT&lt;\\\/a&gt;. This informs you whether the new amount has been authorized.&lt;\\\/p&gt;\\n&quot;,&quot;altTitle&quot;:null,&quot;oldTabId&quot;:&quot;asynchronous_authorization_adjustment_0_1&quot;,&quot;relation&quot;:&quot;&quot;},{&quot;title&quot;:&quot;Synchronous authorization adjustment&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;&lt;a id=\\&quot;first-adjustment\\&quot;&gt;&lt;\\\/a&gt;&lt;\\\/p&gt;\\n&lt;ol&gt;\\n&lt;li&gt;\\n Make a POST  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments\\\/(paymentPspReference)\\\/amountUpdates\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/payments\\\/{paymentPspReference}\\\/amountUpdates&lt;\\\/a&gt; request, including the following:\\n&lt;p&gt;Path parameters:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Parameter&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: center;\\&quot;&gt;Required&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Description&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;paymentPspReference&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;span class=\\&quot;hint--bottom\\&quot; data-hint=\\&quot;Required\\&quot; markdown=\\&quot;1\\&quot;&gt;&lt;img style=\\&quot;width: 25px;\\&quot; alt=\\&quot;Required\\&quot; src=\\&quot;\\\/user\\\/pages\\\/reuse\\\/image-library\\\/01.icons\\\/required\\\/required.svg?decoding=auto&amp;amp;fetchpriority=auto\\&quot; \\\/&gt;&lt;\\\/span&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;The PSP reference from the pre-authorization response.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;p&gt;Body parameters:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Parameter&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: center;\\&quot;&gt;Required&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Description&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments\\\/(paymentPspReference)\\\/amountUpdates#request-merchantAccount\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;merchantAccount&lt;\\\/a&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;span class=\\&quot;hint--bottom\\&quot; data-hint=\\&quot;Required\\&quot; markdown=\\&quot;1\\&quot;&gt;&lt;img style=\\&quot;width: 25px;\\&quot; alt=\\&quot;Required\\&quot; src=\\&quot;\\\/user\\\/pages\\\/reuse\\\/image-library\\\/01.icons\\\/required\\\/required.svg?decoding=auto&amp;amp;fetchpriority=auto\\&quot; \\\/&gt;&lt;\\\/span&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;The name of your merchant account that is used to process the payment.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments\\\/(paymentPspReference)\\\/amountUpdates#request-amount\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;amount&lt;\\\/a&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;span class=\\&quot;hint--bottom\\&quot; data-hint=\\&quot;Required\\&quot; markdown=\\&quot;1\\&quot;&gt;&lt;img style=\\&quot;width: 25px;\\&quot; alt=\\&quot;Required\\&quot; src=\\&quot;\\\/user\\\/pages\\\/reuse\\\/image-library\\\/01.icons\\\/required\\\/required.svg?decoding=auto&amp;amp;fetchpriority=auto\\&quot; \\\/&gt;&lt;\\\/span&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;The &lt;code&gt;currency&lt;\\\/code&gt; and &lt;code&gt;value&lt;\\\/code&gt; of the new amount &lt;strong&gt;in minor units&lt;\\\/strong&gt;. This is the sum of the pre-authorized amount and the additional amount.&lt;br&gt;&lt;br&gt;If this is not the first authorization adjustment, it is the sum of the pre-authorized amount plus all additional amounts.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;adjustAuthorisationData&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;span class=\\&quot;hint--bottom\\&quot; data-hint=\\&quot;Required\\&quot; markdown=\\&quot;1\\&quot;&gt;&lt;img style=\\&quot;width: 25px;\\&quot; alt=\\&quot;Required\\&quot; src=\\&quot;\\\/user\\\/pages\\\/reuse\\\/image-library\\\/01.icons\\\/required\\\/required.svg?decoding=auto&amp;amp;fetchpriority=auto\\&quot; \\\/&gt;&lt;\\\/span&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;The previous &lt;code&gt;adjustAuthorisationData&lt;\\\/code&gt; blob.&lt;br&gt;&lt;br&gt;For the first adjustment, this is the blob you received in the response to the pre-authorization request. For the second adjustment, it is the blob you received in the response to the first adjustment, and so on.&lt;br&gt;&lt;br&gt;&lt;div class=\\&quot;sc-notice note\\&quot;&gt;&lt;div&gt;Always use the latest blob.&lt;\\\/div&gt;&lt;\\\/div&gt;&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments\\\/(paymentPspReference)\\\/amountUpdates#request-reference\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;reference&lt;\\\/a&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;Your reference to this payment modification, for use in your reconciliation process.&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 add a charge of EUR&amp;nbsp;64.15 to a pre-authorized amount of EUR&amp;nbsp;150.00.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;&#039;\\&quot; :id=\\&quot;&#039;sync-auth-adjustment-request&#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 -X POST https:\\\\\\\/\\\\\\\/checkout-test.adyen.com\\\\\\\/v72\\\\\\\/payments\\\\\\\/{paymentPspReference}\\\\\\\/amountUpdates \\\\\\\\\\\\n-H &#039;x-api-key: ADYEN_API_KEY&#039; \\\\\\\\\\\\n-H &#039;idempotency-key: YOUR_IDEMPOTENCY_KEY&#039; \\\\\\\\\\\\n-H &#039;content-type: application\\\\\\\/json&#039; \\\\\\\\\\\\n-d &#039;{\\\\n  \\\\&amp;quot;merchantAccount\\\\&amp;quot;: \\\\&amp;quot;ADYEN_MERCHANT_ACCOUNT\\\\&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;:21415\\\\n  },\\\\n  \\\\&amp;quot;reference\\\\&amp;quot;: \\\\&amp;quot;YOUR_UNIQUE_REFERENCE\\\\&amp;quot;,\\\\n  \\\\&amp;quot;adjustAuthorisationData\\\\&amp;quot;: \\\\&amp;quot;BQABAQA+fbc==...\\\\&amp;quot;\\\\n}&#039;&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;java&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Java&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Java API Library v32.0.0\\\\nimport com.adyen.Client;\\\\nimport com.adyen.enums.Environment;\\\\nimport com.adyen.model.payment.*;\\\\nimport java.time.OffsetDateTime;\\\\nimport java.util.*;\\\\nimport com.adyen.service.*;\\\\n\\\\nClient client = new Client(\\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;, Environment.TEST);\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\npaymentApi service = new paymentApi(client);\\\\nModificationResult response = service.adjustAuthorisation(adjustAuthorisationRequest, null);&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;php&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;PHP&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;?php\\\\n\\\\\\\/\\\\\\\/ Adyen PHP API Library v23.0.0\\\\nuse Adyen\\\\\\\\Client;\\\\nuse Adyen\\\\\\\\Environment;\\\\nuse Adyen\\\\\\\\Service\\\\\\\\Payments\\\\\\\\ModificationsApi;\\\\n\\\\n$client = new Client();\\\\n$client-&amp;gt;setXApiKey(\\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;);\\\\n$client-&amp;gt;setEnvironment(Environment::TEST);\\\\n\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\n$service = new ModificationsApi($client);\\\\n$response = $service-&amp;gt;adjustAuthorisation($adjustAuthorisationRequest);&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 v26.0.0\\\\nusing Adyen;\\\\nusing Environment = Adyen.Model.Environment;\\\\nusing Adyen.Model;\\\\nusing Adyen.Model.Payment;\\\\nusing Adyen.Service;\\\\n\\\\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)\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nvar service = new PaymentService(client);\\\\nvar response = service.AdjustAuthorisation(adjustAuthorisationRequest);&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 v22.1.0\\\\n\\\\\\\/\\\\\\\/ Require the parts of the module you want to use\\\\nconst { Client, PaymentAPI } = require(&#039;@adyen\\\\\\\/api-library&#039;);\\\\n\\\\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 adjustAuthorisationRequest = {\\\\n  merchantAccount: \\\\&amp;quot;ADYEN_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  originalReference: \\\\&amp;quot;KHQC5N7G84BLNK43\\\\&amp;quot;,\\\\n  modificationAmount: {\\\\n    currency: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n    value: 21415\\\\n  },\\\\n  reference: \\\\&amp;quot;YOUR_MODIFICATION_REFERENCE\\\\&amp;quot;,\\\\n  additionalData: {\\\\n    adjustAuthorisationData: \\\\&amp;quot;BQABAQA+fbc==...\\\\&amp;quot;\\\\n  }\\\\n}\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nconst paymentAPI = new PaymentAPI(client);\\\\nconst response = paymentAPI.adjustAuthorisation(adjustAuthorisationRequest);&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 v16.1.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\\\\\\\/payments\\\\&amp;quot;\\\\n)\\\\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)\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nservice := client.Payments()\\\\nreq := service.ModificationsApi.AdjustAuthorisationInput().AdjustAuthorisationRequest(adjustAuthorisationRequest)\\\\nres, httpRes, err := service.ModificationsApi.AdjustAuthorisation(context.Background(), req)&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;py&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Python&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;# Adyen Python API Library v13.2.0\\\\nimport Adyen\\\\n\\\\nadyen = Adyen.Adyen()\\\\nadyen.client.xapikey = \\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;\\\\nadyen.client.platform = \\\\&amp;quot;test\\\\&amp;quot; # The environment to use library in.\\\\n\\\\n# Create the request object(s)\\\\njson_request = {\\\\n  \\\\&amp;quot;merchantAccount\\\\&amp;quot;: \\\\&amp;quot;ADYEN_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  \\\\&amp;quot;originalReference\\\\&amp;quot;: \\\\&amp;quot;KHQC5N7G84BLNK43\\\\&amp;quot;,\\\\n  \\\\&amp;quot;modificationAmount\\\\&amp;quot;: {\\\\n    \\\\&amp;quot;currency\\\\&amp;quot;: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n    \\\\&amp;quot;value\\\\&amp;quot;: 21415\\\\n  },\\\\n  \\\\&amp;quot;reference\\\\&amp;quot;: \\\\&amp;quot;YOUR_MODIFICATION_REFERENCE\\\\&amp;quot;,\\\\n  \\\\&amp;quot;additionalData\\\\&amp;quot;: {\\\\n    \\\\&amp;quot;adjustAuthorisationData\\\\&amp;quot;: \\\\&amp;quot;BQABAQA+fbc==...\\\\&amp;quot;\\\\n  }\\\\n}\\\\n\\\\n# Send the request\\\\nresult = adyen.payment.modifications_api.adjust_authorisation(request=json_request)&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;rb&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Ruby&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;# Adyen Ruby API Library v10.1.0\\\\nrequire \\\\&amp;quot;adyen-ruby-api-library\\\\&amp;quot;\\\\n\\\\nadyen = Adyen::Client.new\\\\nadyen.api_key = &#039;ADYEN_API_KEY&#039;\\\\nadyen.env = :test # Set to \\\\&amp;quot;live\\\\&amp;quot; for live environment\\\\n\\\\n# Create the request object(s)\\\\nrequest_body = {\\\\n  :merchantAccount =&amp;gt; &#039;ADYEN_MERCHANT_ACCOUNT&#039;,\\\\n  :originalReference =&amp;gt; &#039;KHQC5N7G84BLNK43&#039;,\\\\n  :modificationAmount =&amp;gt; {\\\\n    :currency =&amp;gt; &#039;EUR&#039;,\\\\n    :value =&amp;gt; 21415\\\\n  },\\\\n  :reference =&amp;gt; &#039;YOUR_MODIFICATION_REFERENCE&#039;,\\\\n  :additionalData =&amp;gt; {\\\\n    :adjustAuthorisationData =&amp;gt; &#039;BQABAQA+fbc==...&#039;\\\\n  }\\\\n}\\\\n\\\\n# Send the request\\\\nresult = adyen.payment.modifications_api.adjust_authorisation(request_body)&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 v22.1.0\\\\n\\\\\\\/\\\\\\\/ Require the parts of the module you want to use\\\\nimport { Client, PaymentAPI, Types } from \\\\&amp;quot;@adyen\\\\\\\/api-library\\\\&amp;quot;;\\\\n\\\\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)\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nconst paymentAPI = new PaymentAPI(client);\\\\nconst response = paymentAPI.adjustAuthorisation(adjustAuthorisationRequest);&amp;quot;}]\\&quot; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;In the  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments\\\/(paymentPspReference)\\\/amountUpdates\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/amountUpdates&lt;\\\/a&gt; response, note the following parameters:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;&lt;code&gt;adjustAuthorisationData&lt;\\\/code&gt;: The new blob for the new authorized amount. Store this for subsequent adjustments.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;paymentPspReference&lt;\\\/code&gt;: The PSP reference of the original pre-authorization.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;pspReference&lt;\\\/code&gt;: The PSP reference for this  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments\\\/(paymentPspReference)\\\/amountUpdates\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/amountUpdates&lt;\\\/a&gt; request.&lt;br \\\/&gt;\\nThis is different from the PSP reference of the pre-authorization request.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;status&lt;\\\/code&gt;: &lt;strong&gt;Authorised&lt;\\\/strong&gt;&lt;br \\\/&gt;\\nThis indicates the new amount is authorized.&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;Synchronous authorization adjustment response&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n   \\\\\\&quot;merchantAccount\\\\\\&quot;: \\\\\\&quot;ADYEN_MERCHANT_ACCOUNT\\\\\\&quot;,\\\\n   \\\\\\&quot;paymentPspReference\\\\\\&quot;: \\\\\\&quot;KHQC5N7G84BLNK43\\\\\\&quot;,\\\\n   \\\\\\&quot;pspReference\\\\\\&quot;: \\\\\\&quot;NC6HT9CRT65ZGN82\\\\\\&quot;,\\\\n   \\\\\\&quot;reference\\\\\\&quot;: \\\\\\&quot;YOUR_UNIQUE_REFERENCE\\\\\\&quot;,\\\\n   \\\\\\&quot;status\\\\\\&quot;: \\\\\\&quot;Authorised\\\\\\&quot;,\\\\n   \\\\\\&quot;adjustAuthorisationData\\\\\\&quot;: \\\\\\&quot;BQABAQArqht7L...\\\\\\&quot;,\\\\n   \\\\\\&quot;amount\\\\\\&quot;: {\\\\n      \\\\\\&quot;currency\\\\\\&quot;: \\\\\\&quot;EUR\\\\\\&quot;,\\\\n      \\\\\\&quot;value\\\\\\&quot;: 21415\\\\n   }\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;Store the &lt;code&gt;adjustAuthorisationData&lt;\\\/code&gt; blob you received in the  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments\\\/(paymentPspReference)\\\/amountUpdates\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/amountUpdates&lt;\\\/a&gt; response. You will need this if you adjust the authorization again.&lt;\\\/p&gt;\\n&lt;\\\/li&gt;\\n&lt;\\\/ol&gt;\\n&quot;,&quot;altTitle&quot;:null,&quot;oldTabId&quot;:&quot;synchronous_authorization_adjustment_1_2&quot;,&quot;relation&quot;:&quot;&quot;}]\"\n            :should-update-when-url-changes='false'>\n        <\/tabs>\n    <\/div>\n<\/div>\n\n<h3>Limitations<\/h3>\n<ul>\n<li>You cannot make a zero-value authorization when you adjust an authorization.<\/li>\n<li>You can make a maximum of 50 adjustments to the pre-authorized amount on a single payment transaction. After that, all subsequent requests to adjust the pre-authorized amount will be declined. You will still be able to capture the transaction up to the last successfully pre-authorized amount.<\/li>\n<\/ul>\n<h3 id=\"extend-authorization\">Extend the authorization<\/h3>\n<p>To extend the authorization period, make a  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\/(paymentPspReference)\/amountUpdates\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments\/{paymentPspReference}\/amountUpdates<\/a> request with the same <code>amount<\/code> as the current balance on the authorization:<\/p>\n<ul>\n<li>If you haven't adjusted the authorization yet, use the <code>amount<\/code> from the original pre-authorization request.<\/li>\n<li>If you did adjust the authorization, use the <code>amount<\/code> from the last adjustment.<\/li>\n<\/ul>\n<p>See <a href=\"#adjust-auth\">Adjust the pre-authorized amount<\/a> for instructions. To check the status of the authorization (the original and the extension), make sure to consume webhook events.<\/p>\n<div class=\"sc-notice note\"><div>\n<p>To extend authorizations, we strongly recommend using the asynchronous flow because Visa and Discover only support asynchronous adjustments for extending the validity period.<\/p>\n<p>If an issuer refuses to extend the authorization period, this ends the initially authorized payment. Make sure to consume webhook events to know what to do; for example, withhold shipment, or authorize the card again at a later time.<\/p>\n<p>With Mastercard, a request to adjust the pre-authorized amount automatically extends the validity period of the authorization. If you have adjusted the amount of an authorization, you do not immediately have to extend its validity.<\/p>\n<\/div><\/div>\n<h2 id=\"capture-card\">3. Capture the payment<\/h2>\n<p>After you make your last authorization adjustment, you must manually capture the payment to transfer the reserved funds to your account.<\/p>\n<div class=\"sc-notice note\"><div>\n<p>Always double-check that you have completed all authorization adjustments for the payment before you capture it. Captures are done asynchronously, so it may seem that the payment hasn't been completely captured yet and that it is still possible to adjust the authorization.<\/p>\n<\/div><\/div>\n<ol>\n<li>\n<p>Decide whether you are ready to capture the payment:<\/p>\n<ul>\n<li>\n<p>If there are additional charges to make, first <a href=\"#adjust-auth\">adjust the authorization<\/a>.<\/p>\n<\/li>\n<li>\n<p>If the customer wants to settle the bill using a different payment method than the one used for the pre-authorization, do not capture the payment. Instead, <a href=\"\/pt\/online-payments\/cancel\/#cancel-api\">cancel<\/a>  the pre-authorization by sending a POST  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\/(paymentPspReference)\/cancels\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments\/{paymentPspReference}\/cancels<\/a> request, where <code>{paymentPspReference}<\/code> is the PSP reference from the pre-authorization response.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>When you are ready to capture the payment, make a POST  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\/(paymentPspReference)\/captures\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments\/{paymentPspReference}\/captures<\/a> request, where <code>{paymentPspReference}<\/code> is the PSP reference from the pre-authorization response. Specify:<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Parameter<\/th>\n<th style=\"text-align: center;\">Required<\/th>\n<th style=\"text-align: left;\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"><code>amount<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\">The <code>currency<\/code> of the final amount and its <code>value<\/code> in <a href=\"\/pt\/development-resources\/currency-codes\">minor units<\/a>. This is the sum of the original, pre-authorized amount and all later adjustments.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>merchantAccount<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\">The name of your merchant account that is used to process the payment.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>reference<\/code><\/td>\n<td style=\"text-align: center;\"><\/td>\n<td style=\"text-align: left;\">Your reference to this payment modification, for use in your reconciliation process.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Capture request'\" :id=\"'capture-auth-request'\" :code-data=\"[{&quot;language&quot;:&quot;bash&quot;,&quot;tabTitle&quot;:&quot;curl&quot;,&quot;content&quot;:&quot;curl https:\\\/\\\/checkout-test.adyen.com\\\/v72\\\/payments\\\/{paymentPspReference}\\\/captures \\\\\\n-H 'x-api-key: ADYEN_API_KEY' \\\\\\n-H 'content-type: application\\\/json' \\\\\\n-d '{\\n  \\&quot;merchantAccount\\&quot;: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n  \\&quot;amount\\&quot;: {\\n      \\&quot;currency\\&quot;: \\&quot;EUR\\&quot;,\\n      \\&quot;value\\&quot;: 21415\\n  },\\n  \\&quot;reference\\&quot;: \\&quot;YOUR_UNIQUE_REFERENCE\\&quot;\\n}'&quot;},{&quot;language&quot;:&quot;java&quot;,&quot;tabTitle&quot;:&quot;Java&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Java API Library v26.3.0\\nimport com.adyen.Client;\\nimport com.adyen.enums.Environment;\\nimport com.adyen.model.checkout.*;\\nimport java.time.OffsetDateTime;\\nimport java.util.*;\\nimport com.adyen.model.RequestOptions;\\nimport com.adyen.service.checkout.*;\\n\\n\\\/\\\/ For the live environment, additionally include your liveEndpointUrlPrefix.\\nClient client = new Client(\\&quot;ADYEN_API_KEY\\&quot;, Environment.TEST);\\n\\n\\\/\\\/ Create the request object(s)\\nAmount amount = new Amount()\\n  .currency(\\&quot;EUR\\&quot;)\\n  .value(21415L);\\n\\nPaymentCaptureRequest paymentCaptureRequest = new PaymentCaptureRequest()\\n  .reference(\\&quot;YOUR_UNIQUE_REFERENCE\\&quot;)\\n  .amount(amount)\\n  .merchantAccount(\\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;);\\n\\n\\\/\\\/ Send the request\\nModificationsApi service = new ModificationsApi(client);\\nPaymentCaptureResponse response = service.captureAuthorisedPayment(\\&quot;paymentPspReference\\&quot;, paymentCaptureRequest, new RequestOptions().idempotencyKey(\\&quot;UUID\\&quot;));&quot;},{&quot;language&quot;:&quot;php&quot;,&quot;tabTitle&quot;:&quot;PHP&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen PHP API Library v18.2.1\\nuse Adyen\\\\Client;\\nuse Adyen\\\\Environment;\\nuse Adyen\\\\Model\\\\Checkout\\\\Amount;\\nuse Adyen\\\\Model\\\\Checkout\\\\PaymentCaptureRequest;\\nuse Adyen\\\\Service\\\\Checkout\\\\ModificationsApi;\\n\\n$client = new Client();\\n$client-&gt;setXApiKey(\\&quot;ADYEN_API_KEY\\&quot;);\\n\\\/\\\/ For the live environment, additionally include your liveEndpointUrlPrefix.\\n$client-&gt;setEnvironment(Environment::TEST);\\n\\n\\n\\\/\\\/ Create the request object(s)\\n$amount = new Amount();\\n$amount\\n  -&gt;setCurrency(\\&quot;EUR\\&quot;)\\n  -&gt;setValue(21415);\\n\\n$paymentCaptureRequest = new PaymentCaptureRequest();\\n$paymentCaptureRequest\\n  -&gt;setReference(\\&quot;YOUR_UNIQUE_REFERENCE\\&quot;)\\n  -&gt;setAmount($amount)\\n  -&gt;setMerchantAccount(\\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;);\\n\\n$requestOptions['idempotencyKey'] = 'UUID';\\n\\n\\\/\\\/ Send the request\\n$service = new ModificationsApi($client);\\n$response = $service-&gt;captureAuthorisedPayment('paymentPspReference', $paymentCaptureRequest, $requestOptions);&quot;},{&quot;language&quot;:&quot;cs&quot;,&quot;tabTitle&quot;:&quot;C#&quot;,&quot;content&quot;:&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 = \\&quot;ADYEN_API_KEY\\&quot;,\\n    Environment = Environment.Test\\n};\\nvar client = new Client(config);\\n\\n\\\/\\\/ Create the request object(s)\\n\\nAmount amount = new Amount\\n{\\n  Currency = \\&quot;EUR\\&quot;,\\n  Value = 21415\\n};\\n\\nPaymentCaptureRequest paymentCaptureRequest = new PaymentCaptureRequest\\n{\\n  Reference = \\&quot;YOUR_UNIQUE_REFERENCE\\&quot;,\\n  Amount = amount,\\n  MerchantAccount = \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;\\n};\\n\\n\\\/\\\/ Send the request\\nvar service = new ModificationsService(client);\\nvar response = service.CaptureAuthorisedPayment(\\&quot;paymentPspReference\\&quot;, paymentCaptureRequest, requestOptions: new RequestOptions { IdempotencyKey = \\&quot;UUID\\&quot;});&quot;},{&quot;language&quot;:&quot;js&quot;,&quot;tabTitle&quot;:&quot;NodeJS (JavaScript)&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Node API Library v17.3.0\\n\\\/\\\/ Require the parts of the module you want to use\\nconst { Client, CheckoutAPI } = require('@adyen\\\/api-library');\\n\\\/\\\/ Initialize the client object\\n\\\/\\\/ For the live environment, additionally include your liveEndpointUrlPrefix.\\nconst client = new Client({apiKey: \\&quot;ADYEN_API_KEY\\&quot;, environment: \\&quot;TEST\\&quot;});\\n\\n\\\/\\\/ Create the request object(s)\\nconst paymentCaptureRequest = {\\n  merchantAccount: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n  amount: {\\n    currency: \\&quot;EUR\\&quot;,\\n    value: 21415\\n  },\\n  reference: \\&quot;YOUR_UNIQUE_REFERENCE\\&quot;\\n}\\n\\n\\\/\\\/ Send the request\\nconst checkoutAPI = new CheckoutAPI(client);\\nconst response = checkoutAPI.ModificationsApi.captureAuthorisedPayment(\\&quot;paymentPspReference\\&quot;, paymentCaptureRequest, { idempotencyKey: \\&quot;UUID\\&quot; });&quot;},{&quot;language&quot;:&quot;go&quot;,&quot;tabTitle&quot;:&quot;Go&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Go API Library v10.4.0\\nimport (\\n  \\&quot;context\\&quot;\\n  \\&quot;github.com\\\/adyen\\\/adyen-go-api-library\\\/v9\\\/src\\\/common\\&quot;\\n  \\&quot;github.com\\\/adyen\\\/adyen-go-api-library\\\/v9\\\/src\\\/adyen\\&quot;\\n  \\&quot;github.com\\\/adyen\\\/adyen-go-api-library\\\/v9\\\/src\\\/checkout\\&quot;\\n)\\n\\\/\\\/ For the live environment, additionally include your liveEndpointUrlPrefix.\\nclient := adyen.NewClient(&amp;common.Config{\\n  ApiKey:      \\&quot;ADYEN_API_KEY\\&quot;,\\n  Environment: common.TestEnv,\\n})\\n\\n\\\/\\\/ Create the request object(s)\\n\\namount := checkout.Amount{\\n  Currency: \\&quot;EUR\\&quot;,\\n  Value: 21415,\\n}\\n\\npaymentCaptureRequest := checkout.PaymentCaptureRequest{\\n  Reference: common.PtrString(\\&quot;YOUR_UNIQUE_REFERENCE\\&quot;),\\n  Amount: amount,\\n  MerchantAccount: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n}\\n\\n\\\/\\\/ Send the request\\nservice := client.Checkout()\\nreq := service.ModificationsApi.CaptureAuthorisedPaymentInput(\\&quot;paymentPspReference\\&quot;).IdempotencyKey(\\&quot;UUID\\&quot;).PaymentCaptureRequest(paymentCaptureRequest)\\nres, httpRes, err := service.ModificationsApi.CaptureAuthorisedPayment(context.Background(), req)&quot;},{&quot;language&quot;:&quot;py&quot;,&quot;tabTitle&quot;:&quot;Python&quot;,&quot;content&quot;:&quot;# Adyen Python API Library v12.5.1\\nimport Adyen\\n\\nadyen = Adyen.Adyen()\\nadyen.client.xapikey = \\&quot;ADYEN_API_KEY\\&quot;\\n# For the live environment, additionally include your liveEndpointUrlPrefix.\\nadyen.client.platform = \\&quot;test\\&quot; # The environment to use library in.\\n\\n# Create the request object(s)\\njson_request = {\\n  \\&quot;merchantAccount\\&quot;: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n  \\&quot;amount\\&quot;: {\\n    \\&quot;currency\\&quot;: \\&quot;EUR\\&quot;,\\n    \\&quot;value\\&quot;: 21415\\n  },\\n  \\&quot;reference\\&quot;: \\&quot;YOUR_UNIQUE_REFERENCE\\&quot;\\n}\\n\\n# Send the request\\nresult = adyen.checkout.modifications_api.capture_authorised_payment(request=json_request, paymentPspReference=\\&quot;paymentPspReference\\&quot;, idempotency_key=\\&quot;UUID\\&quot;)&quot;},{&quot;language&quot;:&quot;rb&quot;,&quot;tabTitle&quot;:&quot;Ruby&quot;,&quot;content&quot;:&quot;# Adyen Ruby API Library v9.5.1\\nrequire \\&quot;adyen-ruby-api-library\\&quot;\\n\\nadyen = Adyen::Client.new\\nadyen.api_key = 'ADYEN_API_KEY'\\n# For the live environment, additionally include your liveEndpointUrlPrefix.\\nadyen.env = :test # Set to \\&quot;live\\&quot; for live environment\\n\\n# Create the request object(s)\\nrequest_body = {\\n  :merchantAccount =&gt; 'ADYEN_MERCHANT_ACCOUNT',\\n  :amount =&gt; {\\n    :currency =&gt; 'EUR',\\n    :value =&gt; 21415\\n  },\\n  :reference =&gt; 'YOUR_UNIQUE_REFERENCE'\\n}\\n\\n# Send the request\\nresult = adyen.checkout.modifications_api.capture_authorised_payment(request_body, 'paymentPspReference', headers: { 'Idempotency-Key' =&gt; 'UUID' })&quot;},{&quot;language&quot;:&quot;ts&quot;,&quot;tabTitle&quot;:&quot;NodeJS (TypeScript)&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Node API Library v17.3.0\\n\\\/\\\/ Require the parts of the module you want to use\\nimport { Client, CheckoutAPI, Types } from \\&quot;@adyen\\\/api-library\\&quot;;\\n\\\/\\\/ Initialize the client object\\n\\\/\\\/ For the live environment, additionally include your liveEndpointUrlPrefix.\\nconst client = new Client({apiKey: \\&quot;ADYEN_API_KEY\\&quot;, environment: \\&quot;TEST\\&quot;});\\n\\n\\\/\\\/ Create the request object(s)\\nconst amount: Types.checkout.Amount = {\\n  currency: \\&quot;EUR\\&quot;,\\n  value: 21415\\n};\\n\\nconst paymentCaptureRequest: Types.checkout.PaymentCaptureRequest = {\\n  reference: \\&quot;YOUR_UNIQUE_REFERENCE\\&quot;,\\n  amount: amount,\\n  merchantAccount: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;\\n};\\n\\n\\\/\\\/ Send the request\\nconst checkoutAPI = new CheckoutAPI(client);\\nconst response = checkoutAPI.ModificationsApi.captureAuthorisedPayment(\\&quot;paymentPspReference\\&quot;, paymentCaptureRequest, { idempotencyKey: \\&quot;UUID\\&quot; });&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<li>\n<p>In the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\/(paymentPspReference)\/captures\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/captures<\/a> response, note the following parameters:<\/p>\n<ul>\n<li><code>pspReference<\/code>: The PSP reference associated with this  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\/(paymentPspReference)\/captures\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/captures<\/a> request.<br \/>\nThis is different from the PSP reference associated with the pre-authorization request.<\/li>\n<li><code>status<\/code>: <strong>received<\/strong><\/li>\n<li><code>reference<\/code>: Your reference to this payment modification, for use in your reconciliation process.<\/li>\n<\/ul>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Capture response'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n   \\\"merchantAccount\\\": \\\"YOUR_MERCHANT_ACCOUNT\\\",\\n   \\\"paymentPspReference\\\": \\\"KHQC5N7G84BLNK43\\\",\\n   \\\"pspReference\\\": \\\"QJ7GWQ756L2GWR86\\\",\\n   \\\"reference\\\": \\\"YOUR_UNIQUE_REFERENCE\\\",\\n   \\\"status\\\": \\\"received\\\",\\n   \\\"amount\\\": {\\n       \\\"currency\\\": \\\"EUR\\\",\\n       \\\"value\\\": 21415\\n   }\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<li>\n<p>Wait for a webhook message with the <code>eventCode<\/code>  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Webhooks\/latest\/post\/CAPTURE\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">CAPTURE<\/a>. This informs you whether the final amount has been captured.<\/p>\n<p>If the capture fails, the webhook contains <code>success<\/code>: <strong>false<\/strong>. Review the <code>reason<\/code> you received in the webhook, fix the issue, and submit the <code>\/captures<\/code> request again.<\/p>\n<\/li>\n<\/ol>\n<div class=\"notices green\">\n<p>If you need to charge the customer for an additional amount after they have left, and you <a href=\"\/pt\/online-payments\/tokenization\/make-token-payments\">stored the customer's payment details<\/a>  with your pre-authorisation request, you can apply these late charges in a recurring payment request using the token.<\/p>\n<\/div>\n<h3>Partial captures<\/h3>\n<p>You can combine the above steps to suit your use case. For example, if you want to make multiple partial captures, modify the amount authorized after the first partial capture:<\/p>\n<ol>\n<li><a href=\"#pre-authorize\">Pre-authorize a payment<\/a>.<\/li>\n<li>Partially capture the payment.<\/li>\n<li><a href=\"#adjust-auth\">Adjust the authorization amount<\/a>.<\/li>\n<\/ol>\n<h2 id=\"adjust-klarna-auth\">Adjust a Klarna authorization<\/h2>\n<p><a href=\"\/pt\/payment-methods\/klarna\">Klarna<\/a> also supports authorization adjustments. However, there are a few differences compared to the flow for cards:<\/p>\n<ul>\n<li>The authorization type for Klarna payments is pre-authorization by default. This means you do not need to specify the authorization type (<code>additionalData.authorisationType<\/code>) in the initial payment request.<\/li>\n<li>Klarna only supports asynchronous authorization adjustment.<\/li>\n<\/ul>\n<p>You can adjust the authorization for any Klarna payment that has not been cancelled, expired, or fully captured.<\/p>\n<div class=\"notices green\">\n<p>To increase the authorization amount, Klarna performs a second risk assessment or credit lookup on the customer. If this causes the transaction to be rejected, the customer must place a new order. The original authorization remains valid.<\/p>\n<\/div>\n<h3 id=\"adjust-klarna-amount\">Adjust the authorized amount<\/h3>\n<p>After your Klarna payment request is authorized, make an asynchronous authorization adjustment request:<\/p>\n<ol>\n<li>\n<p>Make a POST  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\/(paymentPspReference)\/amountUpdates\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments\/{paymentPspReference}\/amountUpdates<\/a> request, where <code>{paymentPspReference}<\/code> is the PSP reference from the Klarna payment response. Specify:<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Parameter<\/th>\n<th style=\"text-align: center;\">Required<\/th>\n<th style=\"text-align: left;\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"><code>merchantAccount<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\">The name of your merchant account that is used to process the payment.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>amount.currency<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\">The three-character <a href=\"\/pt\/development-resources\/currency-codes\" target=\"_blank\">ISO currency code<\/a>.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>amount.value<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\">The amount of the transaction, in <a href=\"\/pt\/development-resources\/currency-codes\" target=\"_blank\">minor units<\/a>.<br><br>This is the sum of the original, pre-authorized amount and all later adjustments. <div class=\"sc-notice info\"><div>If an order is partially captured, the adjusted amount cannot be less than the already captured amount.<\/div><\/div><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>lineItems<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\">Price and product information about the purchased items, to be included on the invoice sent to the shopper. <div class=\"sc-notice info\"><div>For an authorization adjustment, always specify every line item, including all captured or refunded items. See examples of Klarna-specific payment scenarios at <a href=\"\/pt\/payment-methods\/klarna\/invoice-lines\" target=\"_blank\">Invoice lines and discounts<\/a>.<\/div><\/div><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>reference<\/code><\/td>\n<td style=\"text-align: center;\"><\/td>\n<td style=\"text-align: left;\">A reference that you specify for this payment modification, for use in your reconciliation process. <div class=\"sc-notice info\"><div>The <code>reference<\/code> you submitted in the initial authorization response remains the primary merchant reference, and this reference does not overwrite it. <\/div><\/div><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>The following example shows how to add a charge of EUR&nbsp;64.15 to a pre-authorized amount of EUR&nbsp;150.00.<\/p>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Klarna authorization adjustment request'\" :id=\"'klarna-async-adjustment-request'\" :code-data=\"[{&quot;language&quot;:&quot;bash&quot;,&quot;tabTitle&quot;:&quot;curl&quot;,&quot;content&quot;:&quot;curl https:\\\/\\\/checkout-test.adyen.com\\\/v72\\\/payments\\\/{paymentPspReference}\\\/amountUpdates \\\\\\n-H 'x-api-key: ADYEN_API_KEY' \\\\\\n-H 'content-type: application\\\/json' \\\\\\n-d '{\\n  \\&quot;merchantAccount\\&quot;: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n  \\&quot;amount\\&quot;: {\\n      \\&quot;currency\\&quot;:\\&quot;EUR\\&quot;,\\n      \\&quot;value\\&quot;:21415\\n  },\\n  \\&quot;lineItems\\&quot;: [\\n    {\\n      \\&quot;quantity\\&quot;: \\&quot;1\\&quot;,\\n      \\&quot;amountExcludingTax\\&quot;: \\&quot;12500\\&quot;,\\n      \\&quot;taxPercentage\\&quot;: \\&quot;2000\\&quot;,\\n      \\&quot;description\\&quot;: \\&quot;Jacket\\&quot;,\\n      \\&quot;id\\&quot;: \\&quot;Item #1\\&quot;,\\n      \\&quot;taxAmount\\&quot;: \\&quot;2500\\&quot;,\\n      \\&quot;amountIncludingTax\\&quot;: \\&quot;15000\\&quot;\\n    },\\n    {\\n      \\&quot;quantity\\&quot;: \\&quot;1\\&quot;,\\n      \\&quot;amountExcludingTax\\&quot;: \\&quot;5346\\&quot;,\\n      \\&quot;taxPercentage\\&quot;: \\&quot;2000\\&quot;,\\n      \\&quot;description\\&quot;: \\&quot;Pants\\&quot;,\\n      \\&quot;id\\&quot;: \\&quot;Item #2\\&quot;,\\n      \\&quot;taxAmount\\&quot;: \\&quot;1069\\&quot;,\\n      \\&quot;amountIncludingTax\\&quot;: \\&quot;6415\\&quot;\\n    }\\n  ],\\n  \\&quot;industryUsage\\&quot;: \\&quot;delayedCharge\\&quot;,\\n  \\&quot;reference\\&quot;: \\&quot;YOUR_UNIQUE_REFERENCE\\&quot;\\n}'&quot;},{&quot;language&quot;:&quot;java&quot;,&quot;tabTitle&quot;:&quot;Java&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Java API Library v41.1.0\\nimport com.adyen.Client;\\nimport com.adyen.enums.Environment;\\nimport com.adyen.model.checkout.*;\\nimport java.time.OffsetDateTime;\\nimport java.util.*;\\nimport com.adyen.model.RequestOptions;\\nimport com.adyen.service.checkout.*;\\n\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\nClient client = new Client(\\&quot;ADYEN_API_KEY\\&quot;, Environment.TEST);\\n\\n\\\/\\\/ Create the request object(s)\\nLineItem lineItem1 = new LineItem()\\n  .quantity(1L)\\n  .amountExcludingTax(12500L)\\n  .taxPercentage(2000L)\\n  .description(\\&quot;Jacket\\&quot;)\\n  .id(\\&quot;Item #1\\&quot;)\\n  .taxAmount(2500L)\\n  .amountIncludingTax(15000L);\\n\\nLineItem lineItem2 = new LineItem()\\n  .quantity(1L)\\n  .amountExcludingTax(5346L)\\n  .taxPercentage(2000L)\\n  .description(\\&quot;Pants\\&quot;)\\n  .id(\\&quot;Item #2\\&quot;)\\n  .taxAmount(1069L)\\n  .amountIncludingTax(6415L);\\n\\nAmount amount = new Amount()\\n  .currency(\\&quot;EUR\\&quot;)\\n  .value(21415L);\\n\\nPaymentAmountUpdateRequest paymentAmountUpdateRequest = new PaymentAmountUpdateRequest()\\n  .lineItems(Arrays.asList(lineItem1, lineItem2))\\n  .industryUsage(PaymentAmountUpdateRequest.IndustryUsageEnum.DELAYEDCHARGE)\\n  .reference(\\&quot;YOUR_UNIQUE_REFERENCE\\&quot;)\\n  .amount(amount)\\n  .merchantAccount(\\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;);\\n\\n\\\/\\\/ Send the request\\nModificationsApi service = new ModificationsApi(client);\\nPaymentAmountUpdateResponse response = service.updateAuthorisedAmount(\\&quot;paymentPspReference\\&quot;, paymentAmountUpdateRequest, new RequestOptions().idempotencyKey(\\&quot;UUID\\&quot;));&quot;},{&quot;language&quot;:&quot;php&quot;,&quot;tabTitle&quot;:&quot;PHP&quot;,&quot;content&quot;:&quot;&lt;?php\\n\\\/\\\/ Adyen PHP API Library v29.0.0\\nuse Adyen\\\\Client;\\nuse Adyen\\\\Environment;\\nuse Adyen\\\\Model\\\\Checkout\\\\LineItem;\\nuse Adyen\\\\Model\\\\Checkout\\\\Amount;\\nuse Adyen\\\\Model\\\\Checkout\\\\PaymentAmountUpdateRequest;\\nuse Adyen\\\\Service\\\\Checkout\\\\ModificationsApi;\\n\\n$client = new Client();\\n$client-&gt;setXApiKey(\\&quot;ADYEN_API_KEY\\&quot;);\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\n$client-&gt;setEnvironment(Environment::TEST);\\n\\n\\n\\\/\\\/ Create the request object(s)\\n$lineItem1 = new LineItem();\\n$lineItem1\\n  -&gt;setQuantity(1)\\n  -&gt;setAmountExcludingTax(12500)\\n  -&gt;setTaxPercentage(2000)\\n  -&gt;setDescription(\\&quot;Jacket\\&quot;)\\n  -&gt;setId(\\&quot;Item #1\\&quot;)\\n  -&gt;setTaxAmount(2500)\\n  -&gt;setAmountIncludingTax(15000);\\n\\n$lineItem2 = new LineItem();\\n$lineItem2\\n  -&gt;setQuantity(1)\\n  -&gt;setAmountExcludingTax(5346)\\n  -&gt;setTaxPercentage(2000)\\n  -&gt;setDescription(\\&quot;Pants\\&quot;)\\n  -&gt;setId(\\&quot;Item #2\\&quot;)\\n  -&gt;setTaxAmount(1069)\\n  -&gt;setAmountIncludingTax(6415);\\n\\n$amount = new Amount();\\n$amount\\n  -&gt;setCurrency(\\&quot;EUR\\&quot;)\\n  -&gt;setValue(21415);\\n\\n$paymentAmountUpdateRequest = new PaymentAmountUpdateRequest();\\n$paymentAmountUpdateRequest\\n  -&gt;setLineItems(array($lineItem1, $lineItem2))\\n  -&gt;setIndustryUsage(\\&quot;delayedCharge\\&quot;)\\n  -&gt;setReference(\\&quot;YOUR_UNIQUE_REFERENCE\\&quot;)\\n  -&gt;setAmount($amount)\\n  -&gt;setMerchantAccount(\\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;);\\n\\n$requestOptions['idempotencyKey'] = 'UUID';\\n\\n\\\/\\\/ Send the request\\n$service = new ModificationsApi($client);\\n$response = $service-&gt;updateAuthorisedAmount('paymentPspReference', $paymentAmountUpdateRequest, $requestOptions);&quot;},{&quot;language&quot;:&quot;cs&quot;,&quot;tabTitle&quot;:&quot;C#&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen .NET API Library v34.0.0\\nusing Adyen;\\nusing Environment = Adyen.Model.Environment;\\nusing Adyen.Model;\\nusing Adyen.Model.Checkout;\\nusing Adyen.Service.Checkout;\\n\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\nvar config = new Config()\\n{\\n    XApiKey = \\&quot;ADYEN_API_KEY\\&quot;,\\n    Environment = Environment.Test\\n};\\nvar client = new Client(config);\\n\\n\\\/\\\/ Create the request object(s)\\nLineItem lineItem1 = new LineItem\\n{\\n  Quantity = 1,\\n  AmountExcludingTax = 12500,\\n  TaxPercentage = 2000,\\n  Description = \\&quot;Jacket\\&quot;,\\n  Id = \\&quot;Item #1\\&quot;,\\n  TaxAmount = 2500,\\n  AmountIncludingTax = 15000\\n};\\n\\nLineItem lineItem2 = new LineItem\\n{\\n  Quantity = 1,\\n  AmountExcludingTax = 5346,\\n  TaxPercentage = 2000,\\n  Description = \\&quot;Pants\\&quot;,\\n  Id = \\&quot;Item #2\\&quot;,\\n  TaxAmount = 1069,\\n  AmountIncludingTax = 6415\\n};\\n\\nAmount amount = new Amount\\n{\\n  Currency = \\&quot;EUR\\&quot;,\\n  Value = 21415\\n};\\n\\nPaymentAmountUpdateRequest paymentAmountUpdateRequest = new PaymentAmountUpdateRequest\\n{\\n  LineItems = new List&lt;LineItem&gt;{ lineItem1, lineItem2 },\\n  IndustryUsage = PaymentAmountUpdateRequest.IndustryUsageEnum.DelayedCharge,\\n  Reference = \\&quot;YOUR_UNIQUE_REFERENCE\\&quot;,\\n  Amount = amount,\\n  MerchantAccount = \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;\\n};\\n\\n\\\/\\\/ Send the request\\nvar service = new ModificationsService(client);\\nvar response = service.UpdateAuthorisedAmount(\\&quot;paymentPspReference\\&quot;, paymentAmountUpdateRequest, requestOptions: new RequestOptions { IdempotencyKey = \\&quot;UUID\\&quot;});&quot;},{&quot;language&quot;:&quot;js&quot;,&quot;tabTitle&quot;:&quot;NodeJS (JavaScript)&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Node API Library v30.1.0\\nconst { Client, CheckoutAPI } = require('@adyen\\\/api-library');\\n\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\nconst config = new Config({\\n  apiKey: \\&quot;ADYEN_API_KEY\\&quot;,\\n  environment: EnvironmentEnum.TEST\\n});\\n\\nconst client = new Client(config);\\n\\n\\\/\\\/ Create the request object(s)\\nconst paymentAmountUpdateRequest = {\\n  merchantAccount: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n  amount: {\\n    currency: \\&quot;EUR\\&quot;,\\n    value: 21415\\n  },\\n  lineItems: [ {\\n    quantity: \\&quot;1\\&quot;,\\n    amountExcludingTax: \\&quot;12500\\&quot;,\\n    taxPercentage: \\&quot;2000\\&quot;,\\n    description: \\&quot;Jacket\\&quot;,\\n    id: \\&quot;Item #1\\&quot;,\\n    taxAmount: \\&quot;2500\\&quot;,\\n    amountIncludingTax: \\&quot;15000\\&quot;\\n  }, {\\n    quantity: \\&quot;1\\&quot;,\\n    amountExcludingTax: \\&quot;5346\\&quot;,\\n    taxPercentage: \\&quot;2000\\&quot;,\\n    description: \\&quot;Pants\\&quot;,\\n    id: \\&quot;Item #2\\&quot;,\\n    taxAmount: \\&quot;1069\\&quot;,\\n    amountIncludingTax: \\&quot;6415\\&quot;\\n  } ],\\n  industryUsage: \\&quot;delayedCharge\\&quot;,\\n  reference: \\&quot;YOUR_UNIQUE_REFERENCE\\&quot;\\n}\\n\\n\\\/\\\/ Send the request\\nconst checkoutAPI = new CheckoutAPI(client);\\nconst response = checkoutAPI.ModificationsApi.updateAuthorisedAmount(\\&quot;paymentPspReference\\&quot;, paymentAmountUpdateRequest, { idempotencyKey: \\&quot;UUID\\&quot; });&quot;},{&quot;language&quot;:&quot;go&quot;,&quot;tabTitle&quot;:&quot;Go&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Go API Library v21.2.0\\nimport (\\n  \\&quot;context\\&quot;\\n  \\&quot;github.com\\\/adyen\\\/adyen-go-api-library\\\/v21\\\/src\\\/common\\&quot;\\n  \\&quot;github.com\\\/adyen\\\/adyen-go-api-library\\\/v21\\\/src\\\/adyen\\&quot;\\n  \\&quot;github.com\\\/adyen\\\/adyen-go-api-library\\\/v21\\\/src\\\/checkout\\&quot;\\n)\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\nclient := adyen.NewClient(&amp;common.Config{\\n  ApiKey:      \\&quot;ADYEN_API_KEY\\&quot;,\\n  Environment: common.TestEnv,\\n})\\n\\n\\\/\\\/ Create the request object(s)\\nlineItem1 := checkout.LineItem{\\n  Quantity: common.PtrInt64(1),\\n  AmountExcludingTax: common.PtrInt64(12500),\\n  TaxPercentage: common.PtrInt64(2000),\\n  Description: common.PtrString(\\&quot;Jacket\\&quot;),\\n  Id: common.PtrString(\\&quot;Item #1\\&quot;),\\n  TaxAmount: common.PtrInt64(2500),\\n  AmountIncludingTax: common.PtrInt64(15000),\\n}\\n\\nlineItem2 := checkout.LineItem{\\n  Quantity: common.PtrInt64(1),\\n  AmountExcludingTax: common.PtrInt64(5346),\\n  TaxPercentage: common.PtrInt64(2000),\\n  Description: common.PtrString(\\&quot;Pants\\&quot;),\\n  Id: common.PtrString(\\&quot;Item #2\\&quot;),\\n  TaxAmount: common.PtrInt64(1069),\\n  AmountIncludingTax: common.PtrInt64(6415),\\n}\\n\\namount := checkout.Amount{\\n  Currency: \\&quot;EUR\\&quot;,\\n  Value: 21415,\\n}\\n\\npaymentAmountUpdateRequest := checkout.PaymentAmountUpdateRequest{\\n  LineItems: []checkout.LineItem{\\n      lineItem1, lineItem2,\\n  },\\n  IndustryUsage: common.PtrString(\\&quot;delayedCharge\\&quot;),\\n  Reference: common.PtrString(\\&quot;YOUR_UNIQUE_REFERENCE\\&quot;),\\n  Amount: amount,\\n  MerchantAccount: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n}\\n\\n\\\/\\\/ Send the request\\nservice := client.Checkout()\\nreq := service.ModificationsApi.UpdateAuthorisedAmountInput(\\&quot;paymentPspReference\\&quot;).IdempotencyKey(\\&quot;UUID\\&quot;).PaymentAmountUpdateRequest(paymentAmountUpdateRequest)\\nres, httpRes, err := service.ModificationsApi.UpdateAuthorisedAmount(context.Background(), req)&quot;},{&quot;language&quot;:&quot;py&quot;,&quot;tabTitle&quot;:&quot;Python&quot;,&quot;content&quot;:&quot;# Adyen Python API Library v14.0.0\\nimport Adyen\\n\\nadyen = Adyen.Adyen()\\nadyen.client.xapikey = \\&quot;ADYEN_API_KEY\\&quot;\\n# For the LIVE environment, also include your liveEndpointUrlPrefix.\\nadyen.client.platform = \\&quot;test\\&quot; # The environment to use library in.\\n\\n# Create the request object(s)\\njson_request = {\\n  \\&quot;merchantAccount\\&quot;: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n  \\&quot;amount\\&quot;: {\\n    \\&quot;currency\\&quot;: \\&quot;EUR\\&quot;,\\n    \\&quot;value\\&quot;: 21415\\n  },\\n  \\&quot;lineItems\\&quot;: [ {\\n    \\&quot;quantity\\&quot;: \\&quot;1\\&quot;,\\n    \\&quot;amountExcludingTax\\&quot;: \\&quot;12500\\&quot;,\\n    \\&quot;taxPercentage\\&quot;: \\&quot;2000\\&quot;,\\n    \\&quot;description\\&quot;: \\&quot;Jacket\\&quot;,\\n    \\&quot;id\\&quot;: \\&quot;Item #1\\&quot;,\\n    \\&quot;taxAmount\\&quot;: \\&quot;2500\\&quot;,\\n    \\&quot;amountIncludingTax\\&quot;: \\&quot;15000\\&quot;\\n  }, {\\n    \\&quot;quantity\\&quot;: \\&quot;1\\&quot;,\\n    \\&quot;amountExcludingTax\\&quot;: \\&quot;5346\\&quot;,\\n    \\&quot;taxPercentage\\&quot;: \\&quot;2000\\&quot;,\\n    \\&quot;description\\&quot;: \\&quot;Pants\\&quot;,\\n    \\&quot;id\\&quot;: \\&quot;Item #2\\&quot;,\\n    \\&quot;taxAmount\\&quot;: \\&quot;1069\\&quot;,\\n    \\&quot;amountIncludingTax\\&quot;: \\&quot;6415\\&quot;\\n  } ],\\n  \\&quot;industryUsage\\&quot;: \\&quot;delayedCharge\\&quot;,\\n  \\&quot;reference\\&quot;: \\&quot;YOUR_UNIQUE_REFERENCE\\&quot;\\n}\\n\\n# Send the request\\nresult = adyen.checkout.modifications_api.update_authorised_amount(request=json_request, paymentPspReference=\\&quot;paymentPspReference\\&quot;, idempotency_key=\\&quot;UUID\\&quot;)&quot;},{&quot;language&quot;:&quot;rb&quot;,&quot;tabTitle&quot;:&quot;Ruby&quot;,&quot;content&quot;:&quot;# Adyen Ruby API Library v11.2.0\\nrequire \\&quot;adyen-ruby-api-library\\&quot;\\n\\nadyen = Adyen::Client.new\\nadyen.api_key = 'ADYEN_API_KEY'\\n# For the LIVE environment, also include your liveEndpointUrlPrefix.\\nadyen.env = :test # Set to \\&quot;live\\&quot; for live environment\\n\\n# Create the request object(s)\\nrequest_body = {\\n  :merchantAccount =&gt; 'ADYEN_MERCHANT_ACCOUNT',\\n  :amount =&gt; {\\n    :currency =&gt; 'EUR',\\n    :value =&gt; 21415\\n  },\\n  :lineItems =&gt; [ {\\n    :quantity =&gt; '1',\\n    :amountExcludingTax =&gt; '12500',\\n    :taxPercentage =&gt; '2000',\\n    :description =&gt; 'Jacket',\\n    :id =&gt; 'Item #1',\\n    :taxAmount =&gt; '2500',\\n    :amountIncludingTax =&gt; '15000'\\n  }, {\\n    :quantity =&gt; '1',\\n    :amountExcludingTax =&gt; '5346',\\n    :taxPercentage =&gt; '2000',\\n    :description =&gt; 'Pants',\\n    :id =&gt; 'Item #2',\\n    :taxAmount =&gt; '1069',\\n    :amountIncludingTax =&gt; '6415'\\n  } ],\\n  :industryUsage =&gt; 'delayedCharge',\\n  :reference =&gt; 'YOUR_UNIQUE_REFERENCE'\\n}\\n\\n# Send the request\\nresult = adyen.checkout.modifications_api.update_authorised_amount(request_body, 'paymentPspReference', headers: { 'Idempotency-Key' =&gt; 'UUID' })&quot;},{&quot;language&quot;:&quot;ts&quot;,&quot;tabTitle&quot;:&quot;NodeJS (TypeScript)&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Node API Library v30.1.0\\nimport { Client, CheckoutAPI, Types } from \\&quot;@adyen\\\/api-library\\&quot;;\\n\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\nconst config = new Config({\\n  apiKey: \\&quot;ADYEN_API_KEY\\&quot;,\\n  environment: EnvironmentEnum.TEST\\n});\\n\\nconst client = new Client(config);\\n\\n\\\/\\\/ Create the request object(s)\\nconst lineItem1: Types.checkout.LineItem = {\\n  quantity: 1,\\n  amountExcludingTax: 12500,\\n  taxPercentage: 2000,\\n  description: \\&quot;Jacket\\&quot;,\\n  id: \\&quot;Item #1\\&quot;,\\n  taxAmount: 2500,\\n  amountIncludingTax: 15000\\n};\\n\\nconst lineItem2: Types.checkout.LineItem = {\\n  quantity: 1,\\n  amountExcludingTax: 5346,\\n  taxPercentage: 2000,\\n  description: \\&quot;Pants\\&quot;,\\n  id: \\&quot;Item #2\\&quot;,\\n  taxAmount: 1069,\\n  amountIncludingTax: 6415\\n};\\n\\nconst amount: Types.checkout.Amount = {\\n  currency: \\&quot;EUR\\&quot;,\\n  value: 21415\\n};\\n\\nconst paymentAmountUpdateRequest: Types.checkout.PaymentAmountUpdateRequest = {\\n  lineItems: [lineItem1, lineItem2],\\n  industryUsage: Types.checkout.PaymentAmountUpdateRequest.IndustryUsageEnum.DelayedCharge,\\n  reference: \\&quot;YOUR_UNIQUE_REFERENCE\\&quot;,\\n  amount: amount,\\n  merchantAccount: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;\\n};\\n\\n\\\/\\\/ Send the request\\nconst checkoutAPI = new CheckoutAPI(client);\\nconst response = checkoutAPI.ModificationsApi.updateAuthorisedAmount(\\&quot;paymentPspReference\\&quot;, paymentAmountUpdateRequest, { idempotencyKey: \\&quot;UUID\\&quot; });&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<li>\n<p>Note that the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\/(paymentPspReference)\/amountUpdates\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/amountUpdates<\/a> response contains:<\/p>\n<ul>\n<li><code>pspReference<\/code>: The PSP reference for this  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\/(paymentPspReference)\/amountUpdates\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/amountUpdates<\/a> request.<br \/>\nThis is different from the PSP reference of the original Klarna payment request.<\/li>\n<li><code>status<\/code>: <strong>received<\/strong><\/li>\n<\/ul>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Klarna authorization adjustment response'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n  \\\"merchantAccount\\\": \\\"ADYEN_MERCHANT_ACCOUNT\\\",\\n  \\\"paymentPspReference\\\": \\\"KHQC5N7G84BLNK43\\\",\\n  \\\"pspReference\\\": \\\"NC6HT9CRT65ZGN82\\\",\\n  \\\"reference\\\": \\\"YOUR_UNIQUE_REFERENCE\\\",\\n  \\\"status\\\": \\\"received\\\",\\n  \\\"amount\\\": {\\n      \\\"currency\\\": \\\"EUR\\\",\\n      \\\"value\\\": 21415\\n  }\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<li>\n<p>Wait for the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Webhooks\/latest\/post\/AUTHORISATION_ADJUSTMENT\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">AUTHORISATION_ADJUSTMENT<\/a> webhook. This informs you whether the new amount has been authorized.<\/p>\n<\/li>\n<\/ol>\n<h3 id=\"capture-klarna\">Manually capture the payment<\/h3>\n<p>After you make your last authorization adjustment, you must <a href=\"\/pt\/online-payments\/capture#manual-capture\">manually capture the payment<\/a> to transfer the reserved funds to your account:<\/p>\n<ol>\n<li>\n<p>Decide whether you are ready to capture the payment:<\/p>\n<ul>\n<li>\n<p>If there are additional charges to make, first <a href=\"#adjust-auth\">adjust the authorization<\/a>.<\/p>\n<\/li>\n<li>\n<p>If the customer wants to settle the bill using a different payment method than the one used for the pre-authorization, do not capture the payment. Instead, <a href=\"\/pt\/online-payments\/cancel\/#cancel-api\">cancel<\/a> the authorization by sending a POST  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\/(paymentPspReference)\/cancels\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments\/{paymentPspReference}\/cancels<\/a> request, where <code>{paymentPspReference}<\/code> is the PSP reference from the Klarna payment response.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>When you are ready to capture the payment, make a POST  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\/(paymentPspReference)\/captures\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments\/{paymentPspReference}\/captures<\/a> request, where <code>{paymentPspReference}<\/code> is the PSP reference from the original payment (pre-authorization) response. Specify:<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Parameter<\/th>\n<th style=\"text-align: center;\">Required<\/th>\n<th style=\"text-align: left;\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"><code>merchantAccount<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\">The name of your merchant account that is used to process the payment.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>amount.currency<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\">The three-character <a href=\"\/pt\/development-resources\/currency-codes\" target=\"_blank\">ISO currency code<\/a>.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>amount.value<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\">The amount of the transaction, in <a href=\"\/pt\/development-resources\/currency-codes\" target=\"_blank\">minor units<\/a>.<br><br>This is the sum of the original, pre-authorized amount and all later adjustments.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>lineItems<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\">Price and product information about the purchased items, to be included on the invoice sent to the shopper. <div class=\"sc-notice info\"><div>For an authorization adjustment, always specify every line item, including all captured or refunded items. See examples of Klarna-specific payment scenarios at <a href=\"\/pt\/payment-methods\/klarna\/invoice-lines\" target=\"_blank\">Invoice lines and discounts<\/a>.<\/div><\/div><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>reference<\/code><\/td>\n<td style=\"text-align: center;\"><\/td>\n<td style=\"text-align: left;\">A reference that you specify for this payment modification, for use in your reconciliation process. <div class=\"sc-notice info\"><div>The <code>pspReference<\/code> you received in the initial authorization response remains the primary merchant reference, and this reference does not overwrite it. <\/div><\/div><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Klarna capture request'\" :id=\"'klarna-capture-auth-request'\" :code-data=\"[{&quot;language&quot;:&quot;bash&quot;,&quot;tabTitle&quot;:&quot;curl&quot;,&quot;content&quot;:&quot;curl https:\\\/\\\/checkout-test.adyen.com\\\/v72\\\/payments\\\/{paymentPspReference}\\\/captures \\\\\\n-H 'x-api-key: ADYEN_API_KEY' \\\\\\n-H 'content-type: application\\\/json' \\\\\\n-d '{\\n  \\&quot;merchantAccount\\&quot;: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n  \\&quot;amount\\&quot;: {\\n      \\&quot;currency\\&quot;: \\&quot;EUR\\&quot;,\\n      \\&quot;value\\&quot;: 21415\\n  },\\n  \\&quot;lineItems\\&quot;: [\\n    {\\n      \\&quot;quantity\\&quot;: \\&quot;1\\&quot;,\\n      \\&quot;amountExcludingTax\\&quot;: \\&quot;12500\\&quot;,\\n      \\&quot;taxPercentage\\&quot;: \\&quot;2000\\&quot;,\\n      \\&quot;description\\&quot;: \\&quot;Jacket\\&quot;,\\n      \\&quot;id\\&quot;: \\&quot;Item #1\\&quot;,\\n      \\&quot;taxAmount\\&quot;: \\&quot;2500\\&quot;,\\n      \\&quot;amountIncludingTax\\&quot;: \\&quot;15000\\&quot;\\n    },\\n    {\\n      \\&quot;quantity\\&quot;: \\&quot;1\\&quot;,\\n      \\&quot;amountExcludingTax\\&quot;: \\&quot;5346\\&quot;,\\n      \\&quot;taxPercentage\\&quot;: \\&quot;2000\\&quot;,\\n      \\&quot;description\\&quot;: \\&quot;Pants\\&quot;,\\n      \\&quot;id\\&quot;: \\&quot;Item #2\\&quot;,\\n      \\&quot;taxAmount\\&quot;: \\&quot;1069\\&quot;,\\n      \\&quot;amountIncludingTax\\&quot;: \\&quot;6415\\&quot;\\n    }\\n  ],\\n  \\&quot;reference\\&quot;: \\&quot;YOUR_UNIQUE_REFERENCE\\&quot;\\n}'&quot;},{&quot;language&quot;:&quot;java&quot;,&quot;tabTitle&quot;:&quot;Java&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Java API Library v41.1.0\\nimport com.adyen.Client;\\nimport com.adyen.enums.Environment;\\nimport com.adyen.model.checkout.*;\\nimport java.time.OffsetDateTime;\\nimport java.util.*;\\nimport com.adyen.model.RequestOptions;\\nimport com.adyen.service.checkout.*;\\n\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\nClient client = new Client(\\&quot;ADYEN_API_KEY\\&quot;, Environment.TEST);\\n\\n\\\/\\\/ Create the request object(s)\\nLineItem lineItem1 = new LineItem()\\n  .quantity(1L)\\n  .amountExcludingTax(12500L)\\n  .taxPercentage(2000L)\\n  .description(\\&quot;Jacket\\&quot;)\\n  .id(\\&quot;Item #1\\&quot;)\\n  .taxAmount(2500L)\\n  .amountIncludingTax(15000L);\\n\\nLineItem lineItem2 = new LineItem()\\n  .quantity(1L)\\n  .amountExcludingTax(5346L)\\n  .taxPercentage(2000L)\\n  .description(\\&quot;Pants\\&quot;)\\n  .id(\\&quot;Item #2\\&quot;)\\n  .taxAmount(1069L)\\n  .amountIncludingTax(6415L);\\n\\nAmount amount = new Amount()\\n  .currency(\\&quot;EUR\\&quot;)\\n  .value(21415L);\\n\\nPaymentCaptureRequest paymentCaptureRequest = new PaymentCaptureRequest()\\n  .lineItems(Arrays.asList(lineItem1, lineItem2))\\n  .reference(\\&quot;YOUR_UNIQUE_REFERENCE\\&quot;)\\n  .amount(amount)\\n  .merchantAccount(\\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;);\\n\\n\\\/\\\/ Send the request\\nModificationsApi service = new ModificationsApi(client);\\nPaymentCaptureResponse response = service.captureAuthorisedPayment(\\&quot;paymentPspReference\\&quot;, paymentCaptureRequest, new RequestOptions().idempotencyKey(\\&quot;UUID\\&quot;));&quot;},{&quot;language&quot;:&quot;php&quot;,&quot;tabTitle&quot;:&quot;PHP&quot;,&quot;content&quot;:&quot;&lt;?php\\n\\\/\\\/ Adyen PHP API Library v29.0.0\\nuse Adyen\\\\Client;\\nuse Adyen\\\\Environment;\\nuse Adyen\\\\Model\\\\Checkout\\\\LineItem;\\nuse Adyen\\\\Model\\\\Checkout\\\\Amount;\\nuse Adyen\\\\Model\\\\Checkout\\\\PaymentCaptureRequest;\\nuse Adyen\\\\Service\\\\Checkout\\\\ModificationsApi;\\n\\n$client = new Client();\\n$client-&gt;setXApiKey(\\&quot;ADYEN_API_KEY\\&quot;);\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\n$client-&gt;setEnvironment(Environment::TEST);\\n\\n\\n\\\/\\\/ Create the request object(s)\\n$lineItem1 = new LineItem();\\n$lineItem1\\n  -&gt;setQuantity(1)\\n  -&gt;setAmountExcludingTax(12500)\\n  -&gt;setTaxPercentage(2000)\\n  -&gt;setDescription(\\&quot;Jacket\\&quot;)\\n  -&gt;setId(\\&quot;Item #1\\&quot;)\\n  -&gt;setTaxAmount(2500)\\n  -&gt;setAmountIncludingTax(15000);\\n\\n$lineItem2 = new LineItem();\\n$lineItem2\\n  -&gt;setQuantity(1)\\n  -&gt;setAmountExcludingTax(5346)\\n  -&gt;setTaxPercentage(2000)\\n  -&gt;setDescription(\\&quot;Pants\\&quot;)\\n  -&gt;setId(\\&quot;Item #2\\&quot;)\\n  -&gt;setTaxAmount(1069)\\n  -&gt;setAmountIncludingTax(6415);\\n\\n$amount = new Amount();\\n$amount\\n  -&gt;setCurrency(\\&quot;EUR\\&quot;)\\n  -&gt;setValue(21415);\\n\\n$paymentCaptureRequest = new PaymentCaptureRequest();\\n$paymentCaptureRequest\\n  -&gt;setLineItems(array($lineItem1, $lineItem2))\\n  -&gt;setReference(\\&quot;YOUR_UNIQUE_REFERENCE\\&quot;)\\n  -&gt;setAmount($amount)\\n  -&gt;setMerchantAccount(\\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;);\\n\\n$requestOptions['idempotencyKey'] = 'UUID';\\n\\n\\\/\\\/ Send the request\\n$service = new ModificationsApi($client);\\n$response = $service-&gt;captureAuthorisedPayment('paymentPspReference', $paymentCaptureRequest, $requestOptions);&quot;},{&quot;language&quot;:&quot;cs&quot;,&quot;tabTitle&quot;:&quot;C#&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen .NET API Library v34.0.0\\nusing Adyen;\\nusing Environment = Adyen.Model.Environment;\\nusing Adyen.Model;\\nusing Adyen.Model.Checkout;\\nusing Adyen.Service.Checkout;\\n\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\nvar config = new Config()\\n{\\n    XApiKey = \\&quot;ADYEN_API_KEY\\&quot;,\\n    Environment = Environment.Test\\n};\\nvar client = new Client(config);\\n\\n\\\/\\\/ Create the request object(s)\\nLineItem lineItem1 = new LineItem\\n{\\n  Quantity = 1,\\n  AmountExcludingTax = 12500,\\n  TaxPercentage = 2000,\\n  Description = \\&quot;Jacket\\&quot;,\\n  Id = \\&quot;Item #1\\&quot;,\\n  TaxAmount = 2500,\\n  AmountIncludingTax = 15000\\n};\\n\\nLineItem lineItem2 = new LineItem\\n{\\n  Quantity = 1,\\n  AmountExcludingTax = 5346,\\n  TaxPercentage = 2000,\\n  Description = \\&quot;Pants\\&quot;,\\n  Id = \\&quot;Item #2\\&quot;,\\n  TaxAmount = 1069,\\n  AmountIncludingTax = 6415\\n};\\n\\nAmount amount = new Amount\\n{\\n  Currency = \\&quot;EUR\\&quot;,\\n  Value = 21415\\n};\\n\\nPaymentCaptureRequest paymentCaptureRequest = new PaymentCaptureRequest\\n{\\n  LineItems = new List&lt;LineItem&gt;{ lineItem1, lineItem2 },\\n  Reference = \\&quot;YOUR_UNIQUE_REFERENCE\\&quot;,\\n  Amount = amount,\\n  MerchantAccount = \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;\\n};\\n\\n\\\/\\\/ Send the request\\nvar service = new ModificationsService(client);\\nvar response = service.CaptureAuthorisedPayment(\\&quot;paymentPspReference\\&quot;, paymentCaptureRequest, requestOptions: new RequestOptions { IdempotencyKey = \\&quot;UUID\\&quot;});&quot;},{&quot;language&quot;:&quot;js&quot;,&quot;tabTitle&quot;:&quot;NodeJS (JavaScript)&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Node API Library v30.1.0\\nconst { Client, CheckoutAPI } = require('@adyen\\\/api-library');\\n\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\nconst config = new Config({\\n  apiKey: \\&quot;ADYEN_API_KEY\\&quot;,\\n  environment: EnvironmentEnum.TEST\\n});\\n\\nconst client = new Client(config);\\n\\n\\\/\\\/ Create the request object(s)\\nconst paymentCaptureRequest = {\\n  merchantAccount: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n  amount: {\\n    currency: \\&quot;EUR\\&quot;,\\n    value: 21415\\n  },\\n  lineItems: [ {\\n    quantity: \\&quot;1\\&quot;,\\n    amountExcludingTax: \\&quot;12500\\&quot;,\\n    taxPercentage: \\&quot;2000\\&quot;,\\n    description: \\&quot;Jacket\\&quot;,\\n    id: \\&quot;Item #1\\&quot;,\\n    taxAmount: \\&quot;2500\\&quot;,\\n    amountIncludingTax: \\&quot;15000\\&quot;\\n  }, {\\n    quantity: \\&quot;1\\&quot;,\\n    amountExcludingTax: \\&quot;5346\\&quot;,\\n    taxPercentage: \\&quot;2000\\&quot;,\\n    description: \\&quot;Pants\\&quot;,\\n    id: \\&quot;Item #2\\&quot;,\\n    taxAmount: \\&quot;1069\\&quot;,\\n    amountIncludingTax: \\&quot;6415\\&quot;\\n  } ],\\n  reference: \\&quot;YOUR_UNIQUE_REFERENCE\\&quot;\\n}\\n\\n\\\/\\\/ Send the request\\nconst checkoutAPI = new CheckoutAPI(client);\\nconst response = checkoutAPI.ModificationsApi.captureAuthorisedPayment(\\&quot;paymentPspReference\\&quot;, paymentCaptureRequest, { idempotencyKey: \\&quot;UUID\\&quot; });&quot;},{&quot;language&quot;:&quot;go&quot;,&quot;tabTitle&quot;:&quot;Go&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Go API Library v21.2.0\\nimport (\\n  \\&quot;context\\&quot;\\n  \\&quot;github.com\\\/adyen\\\/adyen-go-api-library\\\/v21\\\/src\\\/common\\&quot;\\n  \\&quot;github.com\\\/adyen\\\/adyen-go-api-library\\\/v21\\\/src\\\/adyen\\&quot;\\n  \\&quot;github.com\\\/adyen\\\/adyen-go-api-library\\\/v21\\\/src\\\/checkout\\&quot;\\n)\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\nclient := adyen.NewClient(&amp;common.Config{\\n  ApiKey:      \\&quot;ADYEN_API_KEY\\&quot;,\\n  Environment: common.TestEnv,\\n})\\n\\n\\\/\\\/ Create the request object(s)\\nlineItem1 := checkout.LineItem{\\n  Quantity: common.PtrInt64(1),\\n  AmountExcludingTax: common.PtrInt64(12500),\\n  TaxPercentage: common.PtrInt64(2000),\\n  Description: common.PtrString(\\&quot;Jacket\\&quot;),\\n  Id: common.PtrString(\\&quot;Item #1\\&quot;),\\n  TaxAmount: common.PtrInt64(2500),\\n  AmountIncludingTax: common.PtrInt64(15000),\\n}\\n\\nlineItem2 := checkout.LineItem{\\n  Quantity: common.PtrInt64(1),\\n  AmountExcludingTax: common.PtrInt64(5346),\\n  TaxPercentage: common.PtrInt64(2000),\\n  Description: common.PtrString(\\&quot;Pants\\&quot;),\\n  Id: common.PtrString(\\&quot;Item #2\\&quot;),\\n  TaxAmount: common.PtrInt64(1069),\\n  AmountIncludingTax: common.PtrInt64(6415),\\n}\\n\\namount := checkout.Amount{\\n  Currency: \\&quot;EUR\\&quot;,\\n  Value: 21415,\\n}\\n\\npaymentCaptureRequest := checkout.PaymentCaptureRequest{\\n  LineItems: []checkout.LineItem{\\n      lineItem1, lineItem2,\\n  },\\n  Reference: common.PtrString(\\&quot;YOUR_UNIQUE_REFERENCE\\&quot;),\\n  Amount: amount,\\n  MerchantAccount: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n}\\n\\n\\\/\\\/ Send the request\\nservice := client.Checkout()\\nreq := service.ModificationsApi.CaptureAuthorisedPaymentInput(\\&quot;paymentPspReference\\&quot;).IdempotencyKey(\\&quot;UUID\\&quot;).PaymentCaptureRequest(paymentCaptureRequest)\\nres, httpRes, err := service.ModificationsApi.CaptureAuthorisedPayment(context.Background(), req)&quot;},{&quot;language&quot;:&quot;py&quot;,&quot;tabTitle&quot;:&quot;Python&quot;,&quot;content&quot;:&quot;# Adyen Python API Library v14.0.0\\nimport Adyen\\n\\nadyen = Adyen.Adyen()\\nadyen.client.xapikey = \\&quot;ADYEN_API_KEY\\&quot;\\n# For the LIVE environment, also include your liveEndpointUrlPrefix.\\nadyen.client.platform = \\&quot;test\\&quot; # The environment to use library in.\\n\\n# Create the request object(s)\\njson_request = {\\n  \\&quot;merchantAccount\\&quot;: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n  \\&quot;amount\\&quot;: {\\n    \\&quot;currency\\&quot;: \\&quot;EUR\\&quot;,\\n    \\&quot;value\\&quot;: 21415\\n  },\\n  \\&quot;lineItems\\&quot;: [ {\\n    \\&quot;quantity\\&quot;: \\&quot;1\\&quot;,\\n    \\&quot;amountExcludingTax\\&quot;: \\&quot;12500\\&quot;,\\n    \\&quot;taxPercentage\\&quot;: \\&quot;2000\\&quot;,\\n    \\&quot;description\\&quot;: \\&quot;Jacket\\&quot;,\\n    \\&quot;id\\&quot;: \\&quot;Item #1\\&quot;,\\n    \\&quot;taxAmount\\&quot;: \\&quot;2500\\&quot;,\\n    \\&quot;amountIncludingTax\\&quot;: \\&quot;15000\\&quot;\\n  }, {\\n    \\&quot;quantity\\&quot;: \\&quot;1\\&quot;,\\n    \\&quot;amountExcludingTax\\&quot;: \\&quot;5346\\&quot;,\\n    \\&quot;taxPercentage\\&quot;: \\&quot;2000\\&quot;,\\n    \\&quot;description\\&quot;: \\&quot;Pants\\&quot;,\\n    \\&quot;id\\&quot;: \\&quot;Item #2\\&quot;,\\n    \\&quot;taxAmount\\&quot;: \\&quot;1069\\&quot;,\\n    \\&quot;amountIncludingTax\\&quot;: \\&quot;6415\\&quot;\\n  } ],\\n  \\&quot;reference\\&quot;: \\&quot;YOUR_UNIQUE_REFERENCE\\&quot;\\n}\\n\\n# Send the request\\nresult = adyen.checkout.modifications_api.capture_authorised_payment(request=json_request, paymentPspReference=\\&quot;paymentPspReference\\&quot;, idempotency_key=\\&quot;UUID\\&quot;)&quot;},{&quot;language&quot;:&quot;rb&quot;,&quot;tabTitle&quot;:&quot;Ruby&quot;,&quot;content&quot;:&quot;# Adyen Ruby API Library v11.2.0\\nrequire \\&quot;adyen-ruby-api-library\\&quot;\\n\\nadyen = Adyen::Client.new\\nadyen.api_key = 'ADYEN_API_KEY'\\n# For the LIVE environment, also include your liveEndpointUrlPrefix.\\nadyen.env = :test # Set to \\&quot;live\\&quot; for live environment\\n\\n# Create the request object(s)\\nrequest_body = {\\n  :merchantAccount =&gt; 'ADYEN_MERCHANT_ACCOUNT',\\n  :amount =&gt; {\\n    :currency =&gt; 'EUR',\\n    :value =&gt; 21415\\n  },\\n  :lineItems =&gt; [ {\\n    :quantity =&gt; '1',\\n    :amountExcludingTax =&gt; '12500',\\n    :taxPercentage =&gt; '2000',\\n    :description =&gt; 'Jacket',\\n    :id =&gt; 'Item #1',\\n    :taxAmount =&gt; '2500',\\n    :amountIncludingTax =&gt; '15000'\\n  }, {\\n    :quantity =&gt; '1',\\n    :amountExcludingTax =&gt; '5346',\\n    :taxPercentage =&gt; '2000',\\n    :description =&gt; 'Pants',\\n    :id =&gt; 'Item #2',\\n    :taxAmount =&gt; '1069',\\n    :amountIncludingTax =&gt; '6415'\\n  } ],\\n  :reference =&gt; 'YOUR_UNIQUE_REFERENCE'\\n}\\n\\n# Send the request\\nresult = adyen.checkout.modifications_api.capture_authorised_payment(request_body, 'paymentPspReference', headers: { 'Idempotency-Key' =&gt; 'UUID' })&quot;},{&quot;language&quot;:&quot;ts&quot;,&quot;tabTitle&quot;:&quot;NodeJS (TypeScript)&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Node API Library v30.1.0\\nimport { Client, CheckoutAPI, Types } from \\&quot;@adyen\\\/api-library\\&quot;;\\n\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\nconst config = new Config({\\n  apiKey: \\&quot;ADYEN_API_KEY\\&quot;,\\n  environment: EnvironmentEnum.TEST\\n});\\n\\nconst client = new Client(config);\\n\\n\\\/\\\/ Create the request object(s)\\nconst lineItem1: Types.checkout.LineItem = {\\n  quantity: 1,\\n  amountExcludingTax: 12500,\\n  taxPercentage: 2000,\\n  description: \\&quot;Jacket\\&quot;,\\n  id: \\&quot;Item #1\\&quot;,\\n  taxAmount: 2500,\\n  amountIncludingTax: 15000\\n};\\n\\nconst lineItem2: Types.checkout.LineItem = {\\n  quantity: 1,\\n  amountExcludingTax: 5346,\\n  taxPercentage: 2000,\\n  description: \\&quot;Pants\\&quot;,\\n  id: \\&quot;Item #2\\&quot;,\\n  taxAmount: 1069,\\n  amountIncludingTax: 6415\\n};\\n\\nconst amount: Types.checkout.Amount = {\\n  currency: \\&quot;EUR\\&quot;,\\n  value: 21415\\n};\\n\\nconst paymentCaptureRequest: Types.checkout.PaymentCaptureRequest = {\\n  lineItems: [lineItem1, lineItem2],\\n  reference: \\&quot;YOUR_UNIQUE_REFERENCE\\&quot;,\\n  amount: amount,\\n  merchantAccount: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;\\n};\\n\\n\\\/\\\/ Send the request\\nconst checkoutAPI = new CheckoutAPI(client);\\nconst response = checkoutAPI.ModificationsApi.captureAuthorisedPayment(\\&quot;paymentPspReference\\&quot;, paymentCaptureRequest, { idempotencyKey: \\&quot;UUID\\&quot; });&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<li>\n<p>When you receive the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\/(paymentPspReference)\/captures\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments\/{paymentPspReference}\/captures<\/a> response, note the following:<\/p>\n<ul>\n<li><code>pspReference<\/code>: The PSP reference associated with this <code>\/captures<\/code> request.<br \/>\nThis is different from the PSP reference associated with the original payment (pre-authorization) request.<\/li>\n<li><code>status<\/code>: <strong>received<\/strong><\/li>\n<li><code>reference<\/code>: Your reference to this payment modification, for use in your reconciliation process.<\/li>\n<\/ul>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'\/captures response'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n   \\\"merchantAccount\\\": \\\"YOUR_MERCHANT_ACCOUNT\\\",\\n   \\\"paymentPspReference\\\": \\\"KHQC5N7G84BLNK43\\\",\\n   \\\"pspReference\\\": \\\"QJ7GWQ756L2GWR86\\\",\\n   \\\"reference\\\": \\\"YOUR_UNIQUE_REFERENCE\\\",\\n   \\\"status\\\": \\\"received\\\",\\n   \\\"amount\\\": {\\n       \\\"currency\\\": \\\"EUR\\\",\\n       \\\"value\\\": 21415\\n   }\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<li>\n<p>Wait for the <a href=\"\/pt\/development-resources\/webhooks\">webhook event<\/a>. This informs you whether the final amount has been captured.<br \/>\nIf the capture is successful, this event contains:<\/p>\n<ul>\n<li><code>eventCode<\/code>: <strong>CAPTURE<\/strong><\/li>\n<li><code>originalReference<\/code>: The <code>pspReference<\/code> of the pre-authorization.<\/li>\n<li><code>pspReference<\/code>: The PSP reference associated with this  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\/(paymentPspReference)\/captures\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments\/{paymentPspReference}\/captures<\/a>  request.<\/li>\n<li><code>success<\/code>: <strong>true<\/strong><\/li>\n<\/ul>\n<p>If the capture fails, this event contains <code>success<\/code>: <strong>false<\/strong>. Review the <code>reason<\/code> you received in the webhook event, fix the issue, and submit the capture request again.<\/p>\n<\/li>\n<\/ol>\n<p>See examples of other Klarna-specific payment scenarios at <a href=\"\/pt\/payment-methods\/klarna\/invoice-lines\" target=\"_blank\">Invoice lines and discounts<\/a>.<\/p>\n<h2>See also<\/h2>\n<div class=\"see-also-links output-inline\" id=\"see-also\">\n<ul><li><a href=\"\/online-payments\/adjust-authorisation\"\n                        target=\"_self\"\n                        >\n                    Authorization adjustment\n                <\/a><\/li><li><a href=\"https:\/\/docs.adyen.com\/api-explorer\/#\/CheckoutService\/latest\/post\/payments\/{paymentPspReference}\/amountUpdates\"\n                        target=\"_blank\"\n                         class=\"external\">\n                    API Explorer\n                <\/a><\/li><li><a href=\"\/online-payments\/capture\"\n                        target=\"_self\"\n                        >\n                    Capture\n                <\/a><\/li><li><a href=\"\/development-resources\/webhooks\"\n                        target=\"_self\"\n                        >\n                    Webhooks\n                <\/a><\/li><\/ul><\/div>\n","url":"https:\/\/docs.adyen.com\/pt\/online-payments\/adjust-authorisation\/adjust-with-preauth","articleFields":{"description":"Pre-authorize a payment, adjust the authorized amount, and capture the payment.","feedback_component":true,"filters_component":false,"page_id":"a420b996-5152-4d5b-b0a5-aad016924992","decision_tree":"[]","parameters":{"modificationType":"authorizationAdjustment","integrationType":"onlinePayments","api_explorer_shortcode":"[api=\"Checkout\/payments\" inlineCode=\"false\" t=\"Try it in our API Explorer.\"]","logo_1":"![](\/reuse\/development-resources\/additional-info-resources\/java-original.svg?resize=25)","example_1":"[Java Spring](https:\/\/github.com\/adyen-examples\/adyen-java-spring-online-payments\/tree\/main\/authorisation-adjustment-example)","logo_2":"![](\/reuse\/development-resources\/additional-info-resources\/dot-net-original.svg?resize=25)","example_2":"[.NET](https:\/\/github.com\/adyen-examples\/adyen-dotnet-online-payments\/tree\/main\/authorisation-adjustment-example)","logo_3":"![](\/reuse\/development-resources\/additional-info-resources\/nodejs-original.svg?resize=25)","example_3":"[Node.js](https:\/\/github.com\/adyen-examples\/adyen-node-online-payments\/tree\/main\/authorisation-adjustment-example)"}},"algolia":{"url":"https:\/\/docs.adyen.com\/pt\/online-payments\/adjust-authorisation\/adjust-with-preauth","title":"Adjust an authorization","content":"\n&nbsp;&nbsp;Postman collectionImplementation examples&nbsp;&nbsp;Java Spring&nbsp;&nbsp;.NET&nbsp;&nbsp;Node.js\n\nThis page explains how to adjust authorizations for card payments, and for Klarna payments.\nBe aware that:\n\n\nYou will rely on webhook events to know whether the capture succeeds. If you use asynchronous authorization adjustment, you will also rely on webhook events for the authorization adjustment result.\n\n\nYou need to implement logic on your end to decide when to use the pre-authorization flow, and to calculate the amount when you make an authorization adjustment.\n\n\nFor information about use cases, asynchronous or synchronous adjustment, and restrictions, see Authorization adjustment.\nRequirements\nBefore you begin, consider the following requirements, limitations, and preparations:\n\n\n\nRequirements\nDescription\n\n\n\n\nIntegration type\nAn online payments integration.\n\n\nWebhooks\nListen for Standard webhook messages with the following eventCode values: AUTHORISATION_ADJUSTMENT CAPTURE CAPTURE_FAILED\n\n\nLimitations\nNote the following limitations: Support for authorization adjustment is limited to specific payment methods and Merchant Category Codes (MCC). It is ultimately up to the issuing bank whether they allow it. Pre-authorizations and authorizations eventually expire. The length of an authorization's validity depends on the card scheme. You can only adjust authorizations for payments acquired by Adyen.\n\n\n\n(Optional) Configure your account\nIf you plan to implement synchronous authorization adjustments, contact our Support Team to enable the Synchronous authorization adjustment setting. This setting allows you to receive the initial adjustAuthorisationData blob with your pre-authorization response, and to subsequently receive the authorization adjustment results synchronously when you make  \/amountUpdates requests.\nTo capture payments in the authorization adjustment flow, manual capture must be enabled. You can set this for your account, but then all payments require manual capture. The alternative is to enable manual capture in the individual pre-authorization request.\nTo make multiple partial captures, ask our Support Team to enable that feature.\n1. Pre-authorize a payment\n\n\nMake a payment request that specifies:\n\n additionalData.authorisationType&colon; PreAuth\n additionalData.manualCapture&colon; true\nManual capture is optional. You can also enable manual capture for your entire account.\n\n\n\n\n\n\nFrom the response, save the following for later use when adjusting the authorization or capturing the payment:\n\npspReference: You will need this for authorization adjustment and capture requests.\nadjustAuthorisationData: If your account is configured for synchronous authorization adjustment, you will receive this blob. Save it for use in your first  \/amountUpdates request.\n\n\n\n\n\n\n2. Adjust the pre-authorized amount\nTo increase or decrease the pre-authorized amount or to extend the authorization, make an authorization adjustment request:\n\n\n    \n        \n        \n    \n\n\nLimitations\n\nYou cannot make a zero-value authorization when you adjust an authorization.\nYou can make a maximum of 50 adjustments to the pre-authorized amount on a single payment transaction. After that, all subsequent requests to adjust the pre-authorized amount will be declined. You will still be able to capture the transaction up to the last successfully pre-authorized amount.\n\nExtend the authorization\nTo extend the authorization period, make a  \/payments\/{paymentPspReference}\/amountUpdates request with the same amount as the current balance on the authorization:\n\nIf you haven't adjusted the authorization yet, use the amount from the original pre-authorization request.\nIf you did adjust the authorization, use the amount from the last adjustment.\n\nSee Adjust the pre-authorized amount for instructions. To check the status of the authorization (the original and the extension), make sure to consume webhook events.\n\nTo extend authorizations, we strongly recommend using the asynchronous flow because Visa and Discover only support asynchronous adjustments for extending the validity period.\nIf an issuer refuses to extend the authorization period, this ends the initially authorized payment. Make sure to consume webhook events to know what to do; for example, withhold shipment, or authorize the card again at a later time.\nWith Mastercard, a request to adjust the pre-authorized amount automatically extends the validity period of the authorization. If you have adjusted the amount of an authorization, you do not immediately have to extend its validity.\n\n3. Capture the payment\nAfter you make your last authorization adjustment, you must manually capture the payment to transfer the reserved funds to your account.\n\nAlways double-check that you have completed all authorization adjustments for the payment before you capture it. Captures are done asynchronously, so it may seem that the payment hasn't been completely captured yet and that it is still possible to adjust the authorization.\n\n\n\nDecide whether you are ready to capture the payment:\n\n\nIf there are additional charges to make, first adjust the authorization.\n\n\nIf the customer wants to settle the bill using a different payment method than the one used for the pre-authorization, do not capture the payment. Instead, cancel  the pre-authorization by sending a POST  \/payments\/{paymentPspReference}\/cancels request, where {paymentPspReference} is the PSP reference from the pre-authorization response.\n\n\n\n\nWhen you are ready to capture the payment, make a POST  \/payments\/{paymentPspReference}\/captures request, where {paymentPspReference} is the PSP reference from the pre-authorization response. Specify:\n\n\n\nParameter\nRequired\nDescription\n\n\n\n\namount\n\nThe currency of the final amount and its value in minor units. This is the sum of the original, pre-authorized amount and all later adjustments.\n\n\nmerchantAccount\n\nThe name of your merchant account that is used to process the payment.\n\n\nreference\n\nYour reference to this payment modification, for use in your reconciliation process.\n\n\n\n\n\n\n\n\nIn the  \/captures response, note the following parameters:\n\npspReference: The PSP reference associated with this  \/captures request.\nThis is different from the PSP reference associated with the pre-authorization request.\nstatus: received\nreference: Your reference to this payment modification, for use in your reconciliation process.\n\n\n\n\n\n\nWait for a webhook message with the eventCode  CAPTURE. This informs you whether the final amount has been captured.\nIf the capture fails, the webhook contains success: false. Review the reason you received in the webhook, fix the issue, and submit the \/captures request again.\n\n\n\nIf you need to charge the customer for an additional amount after they have left, and you stored the customer's payment details  with your pre-authorisation request, you can apply these late charges in a recurring payment request using the token.\n\nPartial captures\nYou can combine the above steps to suit your use case. For example, if you want to make multiple partial captures, modify the amount authorized after the first partial capture:\n\nPre-authorize a payment.\nPartially capture the payment.\nAdjust the authorization amount.\n\nAdjust a Klarna authorization\nKlarna also supports authorization adjustments. However, there are a few differences compared to the flow for cards:\n\nThe authorization type for Klarna payments is pre-authorization by default. This means you do not need to specify the authorization type (additionalData.authorisationType) in the initial payment request.\nKlarna only supports asynchronous authorization adjustment.\n\nYou can adjust the authorization for any Klarna payment that has not been cancelled, expired, or fully captured.\n\nTo increase the authorization amount, Klarna performs a second risk assessment or credit lookup on the customer. If this causes the transaction to be rejected, the customer must place a new order. The original authorization remains valid.\n\nAdjust the authorized amount\nAfter your Klarna payment request is authorized, make an asynchronous authorization adjustment request:\n\n\nMake a POST  \/payments\/{paymentPspReference}\/amountUpdates request, where {paymentPspReference} is the PSP reference from the Klarna payment response. Specify:\n\n\n\nParameter\nRequired\nDescription\n\n\n\n\nmerchantAccount\n\nThe name of your merchant account that is used to process the payment.\n\n\namount.currency\n\nThe three-character ISO currency code.\n\n\namount.value\n\nThe amount of the transaction, in minor units.This is the sum of the original, pre-authorized amount and all later adjustments. If an order is partially captured, the adjusted amount cannot be less than the already captured amount.\n\n\nlineItems\n\nPrice and product information about the purchased items, to be included on the invoice sent to the shopper. For an authorization adjustment, always specify every line item, including all captured or refunded items. See examples of Klarna-specific payment scenarios at Invoice lines and discounts.\n\n\nreference\n\nA reference that you specify for this payment modification, for use in your reconciliation process. The reference you submitted in the initial authorization response remains the primary merchant reference, and this reference does not overwrite it. \n\n\n\nThe following example shows how to add a charge of EUR&nbsp;64.15 to a pre-authorized amount of EUR&nbsp;150.00.\n\n\n\n\n\nNote that the  \/amountUpdates response contains:\n\npspReference: The PSP reference for this  \/amountUpdates request.\nThis is different from the PSP reference of the original Klarna payment request.\nstatus: received\n\n\n\n\n\n\nWait for the  AUTHORISATION_ADJUSTMENT webhook. This informs you whether the new amount has been authorized.\n\n\nManually capture the payment\nAfter you make your last authorization adjustment, you must manually capture the payment to transfer the reserved funds to your account:\n\n\nDecide whether you are ready to capture the payment:\n\n\nIf there are additional charges to make, first adjust the authorization.\n\n\nIf the customer wants to settle the bill using a different payment method than the one used for the pre-authorization, do not capture the payment. Instead, cancel the authorization by sending a POST  \/payments\/{paymentPspReference}\/cancels request, where {paymentPspReference} is the PSP reference from the Klarna payment response.\n\n\n\n\nWhen you are ready to capture the payment, make a POST  \/payments\/{paymentPspReference}\/captures request, where {paymentPspReference} is the PSP reference from the original payment (pre-authorization) response. Specify:\n\n\n\nParameter\nRequired\nDescription\n\n\n\n\nmerchantAccount\n\nThe name of your merchant account that is used to process the payment.\n\n\namount.currency\n\nThe three-character ISO currency code.\n\n\namount.value\n\nThe amount of the transaction, in minor units.This is the sum of the original, pre-authorized amount and all later adjustments.\n\n\nlineItems\n\nPrice and product information about the purchased items, to be included on the invoice sent to the shopper. For an authorization adjustment, always specify every line item, including all captured or refunded items. See examples of Klarna-specific payment scenarios at Invoice lines and discounts.\n\n\nreference\n\nA reference that you specify for this payment modification, for use in your reconciliation process. The pspReference you received in the initial authorization response remains the primary merchant reference, and this reference does not overwrite it. \n\n\n\n\n\n\n\n\nWhen you receive the  \/payments\/{paymentPspReference}\/captures response, note the following:\n\npspReference: The PSP reference associated with this \/captures request.\nThis is different from the PSP reference associated with the original payment (pre-authorization) request.\nstatus: received\nreference: Your reference to this payment modification, for use in your reconciliation process.\n\n\n\n\n\n\nWait for the webhook event. This informs you whether the final amount has been captured.\nIf the capture is successful, this event contains:\n\neventCode: CAPTURE\noriginalReference: The pspReference of the pre-authorization.\npspReference: The PSP reference associated with this  \/payments\/{paymentPspReference}\/captures  request.\nsuccess: true\n\nIf the capture fails, this event contains success: false. Review the reason you received in the webhook event, fix the issue, and submit the capture request again.\n\n\nSee examples of other Klarna-specific payment scenarios at Invoice lines and discounts.\nSee also\n\n\n                    Authorization adjustment\n                \n                    API Explorer\n                \n                    Capture\n                \n                    Webhooks\n                \n","type":"page","locale":"pt","boost":17,"hierarchy":{"lvl0":"Home","lvl1":"Online payments","lvl2":"Authorization adjustment","lvl3":"Adjust an authorization"},"hierarchy_url":{"lvl0":"https:\/\/docs.adyen.com\/pt","lvl1":"https:\/\/docs.adyen.com\/pt\/online-payments","lvl2":"https:\/\/docs.adyen.com\/pt\/online-payments\/adjust-authorisation","lvl3":"\/pt\/online-payments\/adjust-authorisation\/adjust-with-preauth"},"levels":4,"category":"Online Payments","category_color":"green","tags":["Adjust","authorization"]},"articleFiles":{"klarna-async-adjustment-request.js":"<p alt=\"\">klarna-async-adjustment-request.js<\/p>","klarna-capture-auth-request.js":"<p alt=\"\">klarna-capture-auth-request.js<\/p>"}}
