{"title":"Capture","category":"default","creationDate":1680535620,"content":"<p>By default, payments are <a href=\"\/pt\/get-started-with-adyen\/adyen-glossary\/#capture-or-clearing-and-settlement\">captured<\/a> automatically without a delay, immediately after <a href=\"\/pt\/get-started-with-adyen\/adyen-glossary\/#authorization\">authorization<\/a> of the payment request.<\/p>\n<p>For some payment methods, you can capture a payment separately from authorization. We refer to this as manual capture. The authorization reserves the funds on the shopper's bank account. Then, when you send a request to capture the payment, the reserved funds are transferred from the shopper's bank account to your account.<\/p>\n<p>An example of when to use manual capture: After a payment is authorized, you ship the goods to the shopper. If the goods are successfully delivered to the shopper, you capture the payment. If the goods are not delivered to the shopper, you <a href=\"\/pt\/online-payments\/cancel\">cancel<\/a> the payment instead.<\/p>\n<h2>Requirements<\/h2>\n<p>Before you begin, take into account the following requirements, limitations, and preparations.<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Requirement<\/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\/account\/user-roles\">Customer Area roles<\/a><\/strong><\/td>\n<td style=\"text-align: left;\">To edit capture settings, make sure that you have the following roles: <ul><li markdown=\"1\"><strong>Merchant admin<\/strong><\/li><li markdown=\"1\"><strong>View Payments<\/strong><\/li> <li markdown=\"1\"><strong>Merchant manage payments<\/strong><\/li><\/ul><\/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 webhook messages with the following <code>eventCode<\/code> values: <ul><li markdown=\"1\"><a href=\"\/pt\/development-resources\/webhooks\/webhook-types\/#transaction-events\">\n  <strong>CAPTURE<\/strong>\n<\/a><\/li><li markdown=\"1\"><a href=\"\/pt\/development-resources\/webhooks\/webhook-types\/#transaction-events\">\n  <strong>CAPTURE_FAILED<\/strong>\n<\/a><\/li><\/ul><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong>Limitations<\/strong><\/td>\n<td style=\"text-align: left;\">Separate capture is only <a href=\"\/pt\/payment-methods\/?features%5B0%5D=separate%2Bcaptures\">available for some payment methods<\/a>.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong>Setup steps<\/strong><\/td>\n<td style=\"text-align: left;\">If you intend to use <a href=\"#multiple-partial-captures\">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.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Types of capture<\/h2>\n<p>For payments that support separate capture, you can set up one of the following, so that payments do not automatically get captured immediately after authorization:<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Type of capture<\/th>\n<th style=\"text-align: left;\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\">Automatic capture<\/td>\n<td style=\"text-align: left;\">Capture happens automatically without a delay. This is the default.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><a href=\"#delayed-automatic-capture\">Delayed automatic capture<\/a><\/td>\n<td style=\"text-align: left;\">Set an amount of time between authorization and capture. The capture happens automatically after the time delay that you set. <br> <br> The delay gives you time to  <a href=\"\/pt\/online-payments\/cancel\/\">cancel the authorization<\/a>, for example when it turns out that an item is out of stock. <\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><a href=\"#manual-capture\">Manual capture<\/a><\/td>\n<td style=\"text-align: left;\">Set a separate capture that does not happen automatically. After a payment is authorized, you must manually capture the payment. <br><br> Manual capture lets you settle funds on fulfillment,  when an order is shipped. It is also part of flows like <a href=\"\/pt\/online-payments\/adjust-authorisation\/\">authorization adjustment<\/a> and <a href=\"\/pt\/online-payments\/partial-authorizations\">partial authorization<\/a>.  <br><br>Some payment methods also allow <a href=\"#partial-capture\">partial manual capture<\/a>.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3 id=\"partial-capture\">Partial manual capture<\/h3>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Type of partial capture<\/th>\n<th style=\"text-align: left;\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\">Single partial capture<\/td>\n<td style=\"text-align: left;\">Any unclaimed amount that is left over after partially capturing a payment is automatically cancelled. <br><br> With some schemes, you can flag each payment request as either a pre-authorization or a final authorization. For partial captures, we recommend that you flag the payment request as a pre-authorization. For more information, refer to <a href=\"\/pt\/online-payments\/adjust-authorisation#authorisation-types\">Card authorization types<\/a>.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Multiple partial captures<\/td>\n<td style=\"text-align: left;\">The unclaimed amount after an initial partial capture is not automatically cancelled. This is useful in some businesses models such as an ecommerce site where capture takes place upon shipment, or in omnichannel scenarios where the shopper orders items in a physical store. If you have an order with multiple items to ship separately, each shipment correlates to a partial capture.<br><br> Multiple partial capture is disabled by default, so you need to 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 this feature.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"delayed-automatic-capture\">Delayed automatic capture<\/h2>\n<p>When you set up delayed automatic capture, you specify the amount of time between authorization and capture. You can enable it in your Customer Area for every payment, or in the API request for an individual payment. The setting in the API request for an individual payment overrides the setting in the Customer Area.<\/p>\n\n<div id=\"tabwJf6h\">\n    <div data-component-wrapper=\"tabs\">\n        <tabs\n                        :items=\"[{&quot;title&quot;:&quot;Every payment - Customer Area&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;To set up a capture delay that applies to each payment that supports it:&lt;\\\/p&gt;\\n&lt;ol&gt;\\n&lt;li&gt;Log in to your &lt;a href=\\&quot;https:\\\/\\\/ca-test.adyen.com\\\/\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot; class=\\&quot;external-link no-image\\&quot;&gt;Customer Area&lt;\\\/a&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;a href=\\&quot;\\\/pt\\\/account\\\/manage-account-structure#switching-between-accounts\\&quot;&gt;Select a merchant account&lt;\\\/a&gt;.&lt;br \\\/&gt;\\nIf you want to set up automatic capture delay for more than one merchant account, you must do it for each of the merchant accounts.&lt;\\\/li&gt;\\n&lt;li&gt;Go to &lt;strong&gt;Settings&lt;\\\/strong&gt; &amp;gt; &lt;strong&gt;Account settings&lt;\\\/strong&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;In the &lt;strong&gt;General&lt;\\\/strong&gt; settings, next to &lt;strong&gt;Capture delay&lt;\\\/strong&gt;, select the edit icon &lt;i class=\\&quot;adl-icon-edit\\&quot;&gt;&lt;\\\/i&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;From the dropdown list, select the capture delay that you want to use. Possible values:\\n&lt;ul&gt;\\n&lt;li&gt;&lt;strong&gt;immediate&lt;\\\/strong&gt;: Capture happens immediately after authorization.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;strong&gt;[N] days&lt;\\\/strong&gt;: Capture happens N (between 1 and 7) days after authorization.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;&lt;\\\/li&gt;\\n&lt;li&gt;Select &lt;strong&gt;Save&lt;\\\/strong&gt;.&lt;\\\/li&gt;\\n&lt;\\\/ol&gt;\\n&lt;p&gt;If you want an individual payment to have a different capture delay, set the delay in the API request.&lt;\\\/p&gt;\\n&quot;,&quot;altTitle&quot;:&quot;delayed-every&quot;,&quot;oldTabId&quot;:&quot;delayed-every_1&quot;,&quot;relation&quot;:&quot;&quot;},{&quot;title&quot;:&quot;Individual payment - API request&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;You can set delayed automatic capture for an individual payment by including an additional parameter in the API request, depending on which server-side flow you use for your online payments. Setting delayed automatic capture in the API request overrides the capture setting in your Customer Area merchant account.&lt;\\\/p&gt;\\n&lt;h3&gt;Sessions flow&lt;\\\/h3&gt;\\n&lt;p&gt;When you make the  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/sessions\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/sessions&lt;\\\/a&gt; request, additionally include the following parameter:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th&gt;Parameter name&lt;\\\/th&gt;\\n&lt;th&gt;Description&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;code&gt;captureDelayHours&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td&gt;The number of hours after authorization when the payment is automatically captured. Example: &lt;strong&gt;2&lt;\\\/strong&gt;.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n    &lt;code-sample :title=\\&quot;&#039;Example \\\/sessions request with a capture delay of two hours&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=\\&quot;[{&amp;quot;language&amp;quot;:&amp;quot;bash&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;curl https:\\\\\\\/\\\\\\\/checkout-test.adyen.com\\\\\\\/v71\\\\\\\/sessions \\\\\\\\\\\\n-H &#039;x-api-key: ADYEN_API_KEY&#039; \\\\\\\\\\\\n-H \\\\&amp;quot;idempotency-key: YOUR_IDEMPOTENCY_KEY\\\\&amp;quot; \\\\\\\\\\\\n-H &#039;content-type: application\\\\\\\/json&#039; \\\\\\\\\\\\n-d &#039;{\\\\n  \\\\&amp;quot;amount\\\\&amp;quot;: {\\\\n      \\\\&amp;quot;value\\\\&amp;quot;: 1000,\\\\n      \\\\&amp;quot;currency\\\\&amp;quot;: \\\\&amp;quot;EUR\\\\&amp;quot;\\\\n  },\\\\n  \\\\&amp;quot;captureDelayHours\\\\&amp;quot;: 2,\\\\n  \\\\&amp;quot;returnUrl\\\\&amp;quot;: \\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..\\\\&amp;quot;,\\\\n  \\\\&amp;quot;reference\\\\&amp;quot;: \\\\&amp;quot;YOUR_PAYMENT_REFERENCE\\\\&amp;quot;,\\\\n  \\\\&amp;quot;countryCode\\\\&amp;quot;: \\\\&amp;quot;NL\\\\&amp;quot;,\\\\n  \\\\&amp;quot;merchantAccount\\\\&amp;quot;: \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;\\\\n}&#039;&amp;quot;}]\\&quot; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;h3&gt;Advanced flow&lt;\\\/h3&gt;\\n&lt;p&gt;When you make the  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/payments&lt;\\\/a&gt; request, include the following parameter:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th&gt;Parameter name&lt;\\\/th&gt;\\n&lt;th&gt;Description&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;code&gt;captureDelayHours&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td&gt;The number of hours after authorization when the payment is automatically captured. Example: &lt;strong&gt;2&lt;\\\/strong&gt;.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n    &lt;code-sample :title=\\&quot;&#039;Example for \\\/payments request with a capture delay of two hours, for a card payment&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=\\&quot;[{&amp;quot;language&amp;quot;:&amp;quot;bash&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;curl https:\\\\\\\/\\\\\\\/checkout-test.adyen.com\\\\\\\/v72\\\\\\\/payments \\\\\\\\\\\\n-H &#039;x-api-key: ADYEN_API_KEY&#039; \\\\\\\\\\\\n-H &#039;content-type: application\\\\\\\/json&#039; \\\\\\\\\\\\n-d &#039;{\\\\n  \\\\&amp;quot;amount\\\\&amp;quot;: {\\\\n    \\\\&amp;quot;currency\\\\&amp;quot;: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n    \\\\&amp;quot;value\\\\&amp;quot;: 1000\\\\n  },\\\\n  \\\\&amp;quot;captureDelayHours\\\\&amp;quot;: 2,\\\\n  \\\\&amp;quot;reference\\\\&amp;quot;: \\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n  \\\\&amp;quot;paymentMethod\\\\&amp;quot;:{\\\\n\\\\t    \\\\&amp;quot;type\\\\&amp;quot;: \\\\&amp;quot;scheme\\\\&amp;quot;,\\\\n\\\\t    \\\\&amp;quot;encryptedCardNumber\\\\&amp;quot;: \\\\&amp;quot;test_4111111111111111\\\\&amp;quot;,\\\\n\\\\t    \\\\&amp;quot;encryptedExpiryMonth\\\\&amp;quot;: \\\\&amp;quot;test_03\\\\&amp;quot;,\\\\n\\\\t    \\\\&amp;quot;encryptedExpiryYear\\\\&amp;quot;: \\\\&amp;quot;test_2030\\\\&amp;quot;,\\\\n\\\\t    \\\\&amp;quot;encryptedSecurityCode\\\\&amp;quot;: \\\\&amp;quot;test_737\\\\&amp;quot;\\\\n\\\\t},\\\\n  \\\\&amp;quot;returnUrl\\\\&amp;quot;: \\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..\\\\&amp;quot;,\\\\n  \\\\&amp;quot;riskData\\\\&amp;quot;: {\\\\n\\\\t   \\\\&amp;quot;clientData\\\\&amp;quot;: \\\\&amp;quot;eyJ0cmFuc1N0YXR1cy...I6IlkifQ==\\\\&amp;quot;\\\\n\\\\t},\\\\n  \\\\&amp;quot;merchantAccount\\\\&amp;quot;: \\\\&amp;quot;ADYEN_MERCHANT_ACCOUNT\\\\&amp;quot;\\\\n}&#039;&amp;quot;}]\\&quot; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&quot;,&quot;altTitle&quot;:&quot;delayed-individual&quot;,&quot;oldTabId&quot;:&quot;delayed-individual_2&quot;,&quot;relation&quot;:&quot;&quot;}]\"\n            :should-update-when-url-changes='true'>\n        <\/tabs>\n    <\/div>\n<\/div>\n\n<div class=\"sc-notice info\"><div>\n<p>A payment that is automatically captured does <em>not<\/em> trigger a separate CAPTURE webhook. If you are using delayed automatic capture, consider enabling a <a href=\"#capture-webhook\">CAPTURE webhook<\/a>. To do this, enable the <a href=\"\/pt\/development-resources\/webhooks\/webhook-types#default-event-codes\">default event codes<\/a> <code>CAPTURE<\/code> and <code>CAPTURE_FAILED<\/code> in the Standard webhook, and turn on <strong>Delayed Capture<\/strong> in the <a href=\"\/pt\/development-resources\/webhooks\/webhook-types\/#webhooks-settings-page\">webhook settings<\/a>.<\/p>\n<\/div><\/div>\n<h2 id=\"manual-capture\">Manual capture<\/h2>\n<p>When you set up manual capture, you must send a capture request after the payment is authorized. After capturing, the funds for the payment get transferred to your account.<\/p>\n<p>To use manual capture:<\/p>\n<ol>\n<li><a href=\"#enable-manual-capture\">Enable manual capture<\/a>, either for every payment or for an individual payment.<\/li>\n<li><a href=\"#capture-a-payment\">Capture the payment<\/a>.<\/li>\n<\/ol>\n<h3>Enable manual capture<\/h3>\n<p>You can enable manual capture in your Customer Area for every payment, or in the API request for an individual payment. The setting in the API request for an individual payment overrides the setting in the Customer Area.<\/p>\n\n<div id=\"tabkjMBn\">\n    <div data-component-wrapper=\"tabs\">\n        <tabs\n                        :items=\"[{&quot;title&quot;:&quot;Every payment - Customer Area&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;To enable manual capture:&lt;\\\/p&gt;\\n&lt;ol&gt;\\n&lt;li&gt;Log in to your &lt;a href=\\&quot;https:\\\/\\\/ca-test.adyen.com\\\/\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot; class=\\&quot;external-link no-image\\&quot;&gt;Customer Area&lt;\\\/a&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;a href=\\&quot;\\\/pt\\\/account\\\/manage-account-structure#switching-between-accounts\\&quot;&gt;Switch to your merchant account&lt;\\\/a&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;Go to &lt;strong&gt;Settings&lt;\\\/strong&gt; &amp;gt; &lt;strong&gt;Account settings&lt;\\\/strong&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;In the &lt;strong&gt;General&lt;\\\/strong&gt; settings, next to &lt;strong&gt;Capture delay&lt;\\\/strong&gt;, select the edit icon &lt;i class=\\&quot;adl-icon-edit\\&quot;&gt;&lt;\\\/i&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;From the dropdown list, select &lt;strong&gt;Manual&lt;\\\/strong&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;Select &lt;strong&gt;Save&lt;\\\/strong&gt;.&lt;\\\/li&gt;\\n&lt;\\\/ol&gt;\\n&lt;p&gt;If you want an individual payment to have a different capture setting, set it in the API request.&lt;\\\/p&gt;\\n&quot;,&quot;altTitle&quot;:&quot;manual-every&quot;,&quot;oldTabId&quot;:&quot;manual-every_1&quot;,&quot;relation&quot;:&quot;&quot;},{&quot;title&quot;:&quot;Individual payment- API request&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;In your payment request, you can add a parameter to enable manual capture for that transaction without changing the capture settings for your merchant account. After the payment is authorized, the amount is not captured until you send a &lt;a href=\\&quot;#capture-a-payment\\&quot;&gt;manual capture&lt;\\\/a&gt; request. Setting manual capture in the API request overrides the capture setting in your Customer Area merchant account.&lt;\\\/p&gt;\\n&lt;p&gt;To set the capture method for an individual payment to manual, include the following in the  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/payments&lt;\\\/a&gt; or  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/sessions\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/sessions&lt;\\\/a&gt; request:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th&gt;Field&lt;\\\/th&gt;\\n&lt;th&gt;Data type&lt;\\\/th&gt;\\n&lt;th&gt;Value&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;code&gt;additionalData.manualCapture&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td&gt;String&lt;\\\/td&gt;\\n&lt;td&gt;&lt;strong&gt;true&lt;\\\/strong&gt;&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;p&gt;For example, to enable manual capture for a card payment:&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n    &lt;code-sample :title=\\&quot;&#039;Enabling manual capture in a \\\/payments request&#039;\\&quot; :id=\\&quot;&#039;enabling-manual-capture-in-a-payments-request-8461771805&#039;\\&quot; :code-data=\\&quot;[{&amp;quot;language&amp;quot;:&amp;quot;bash&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;curl&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;curl https:\\\\\\\/\\\\\\\/checkout-test.adyen.com\\\\\\\/v72\\\\\\\/payments \\\\\\\\\\\\n-H &#039;x-api-key: ADYEN_API_KEY&#039; \\\\\\\\\\\\n-H &#039;content-type: application\\\\\\\/json&#039; \\\\\\\\\\\\n-d &#039;{\\\\n  \\\\&amp;quot;additionalData\\\\&amp;quot;: {\\\\n    \\\\&amp;quot;manualCapture\\\\&amp;quot;: \\\\&amp;quot;true\\\\&amp;quot;\\\\n  },\\\\n  \\\\&amp;quot;merchantAccount\\\\&amp;quot;:\\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  \\\\&amp;quot;paymentMethod\\\\&amp;quot;:{\\\\n    \\\\&amp;quot;type\\\\&amp;quot;: \\\\&amp;quot;scheme\\\\&amp;quot;,\\\\n    \\\\&amp;quot;encryptedCardNumber\\\\&amp;quot;: \\\\&amp;quot;test_4111111111111111\\\\&amp;quot;,\\\\n    \\\\&amp;quot;encryptedExpiryMonth\\\\&amp;quot;: \\\\&amp;quot;test_03\\\\&amp;quot;,\\\\n    \\\\&amp;quot;encryptedExpiryYear\\\\&amp;quot;: \\\\&amp;quot;test_2030\\\\&amp;quot;,\\\\n    \\\\&amp;quot;encryptedSecurityCode\\\\&amp;quot;: \\\\&amp;quot;test_737\\\\&amp;quot;\\\\n  },\\\\n  \\\\&amp;quot;amount\\\\&amp;quot;:{\\\\n    \\\\&amp;quot;currency\\\\&amp;quot;:\\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n    \\\\&amp;quot;value\\\\&amp;quot;:1000\\\\n  },\\\\n  \\\\&amp;quot;reference\\\\&amp;quot;:\\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n  \\\\&amp;quot;returnUrl\\\\&amp;quot;:\\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..\\\\&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 v25.0.0\\\\nimport com.adyen.Client;\\\\nimport com.adyen.enums.Environment;\\\\nimport com.adyen.model.checkout.*;\\\\nimport java.time.OffsetDateTime;\\\\nimport java.util.*;\\\\nimport com.adyen.model.RequestOptions;\\\\nimport com.adyen.service.checkout.*;\\\\n\\\\n\\\\\\\/\\\\\\\/ For the live environment, additionally include your liveEndpointUrlPrefix.\\\\nClient client = new Client(\\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;, Environment.TEST);\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nAmount amount = new Amount()\\\\n  .currency(\\\\&amp;quot;EUR\\\\&amp;quot;)\\\\n  .value(1000L);\\\\n\\\\nCardDetails cardDetails = new CardDetails()\\\\n  .encryptedCardNumber(\\\\&amp;quot;test_4111111111111111\\\\&amp;quot;)\\\\n  .encryptedSecurityCode(\\\\&amp;quot;test_737\\\\&amp;quot;)\\\\n  .encryptedExpiryYear(\\\\&amp;quot;test_2030\\\\&amp;quot;)\\\\n  .encryptedExpiryMonth(\\\\&amp;quot;test_03\\\\&amp;quot;)\\\\n  .type(CardDetails.TypeEnum.SCHEME);\\\\n\\\\nPaymentRequest paymentRequest = new PaymentRequest()\\\\n  .reference(\\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;)\\\\n  .amount(amount)\\\\n  .merchantAccount(\\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;)\\\\n  .paymentMethod(new CheckoutPaymentMethod(cardDetails))\\\\n  .additionalData(new HashMap&amp;lt;String, String&amp;gt;(Map.of(\\\\n    \\\\&amp;quot;manualCapture\\\\&amp;quot;, \\\\&amp;quot;true\\\\&amp;quot;\\\\n  )))\\\\n  .returnUrl(\\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..\\\\&amp;quot;);\\\\n\\\\n\\\\\\\/\\\\\\\/ Make the API call\\\\nPaymentsApi service = new PaymentsApi(client);\\\\nPaymentResponse response = service.payments(paymentRequest, new RequestOptions().idempotencyKey(\\\\&amp;quot;UUID\\\\&amp;quot;));&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;php&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;PHP&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen PHP API Library v17.4.0\\\\nuse Adyen\\\\\\\\Client;\\\\nuse Adyen\\\\\\\\Environment;\\\\nuse Adyen\\\\\\\\Model\\\\\\\\Checkout\\\\\\\\Amount;\\\\nuse Adyen\\\\\\\\Model\\\\\\\\Checkout\\\\\\\\CheckoutPaymentMethod;\\\\nuse Adyen\\\\\\\\Model\\\\\\\\Checkout\\\\\\\\PaymentRequest;\\\\nuse Adyen\\\\\\\\Service\\\\\\\\Checkout\\\\\\\\PaymentsApi;\\\\n\\\\n$client = new Client();\\\\n$client-&amp;gt;setXApiKey(\\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;);\\\\n\\\\\\\/\\\\\\\/ For the live environment, additionally include your liveEndpointUrlPrefix.\\\\n$client-&amp;gt;setEnvironment(Environment::TEST);\\\\n\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\n$amount = new Amount();\\\\n$amount\\\\n  -&amp;gt;setCurrency(\\\\&amp;quot;EUR\\\\&amp;quot;)\\\\n  -&amp;gt;setValue(1000);\\\\n\\\\n$checkoutPaymentMethod = new CheckoutPaymentMethod();\\\\n$checkoutPaymentMethod\\\\n  -&amp;gt;setEncryptedCardNumber(\\\\&amp;quot;test_4111111111111111\\\\&amp;quot;)\\\\n  -&amp;gt;setEncryptedSecurityCode(\\\\&amp;quot;test_737\\\\&amp;quot;)\\\\n  -&amp;gt;setEncryptedExpiryYear(\\\\&amp;quot;test_2030\\\\&amp;quot;)\\\\n  -&amp;gt;setEncryptedExpiryMonth(\\\\&amp;quot;test_03\\\\&amp;quot;)\\\\n  -&amp;gt;setType(\\\\&amp;quot;scheme\\\\&amp;quot;);\\\\n\\\\n$paymentRequest = new PaymentRequest();\\\\n$paymentRequest\\\\n  -&amp;gt;setReference(\\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;)\\\\n  -&amp;gt;setAmount($amount)\\\\n  -&amp;gt;setMerchantAccount(\\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;)\\\\n  -&amp;gt;setPaymentMethod($checkoutPaymentMethod)\\\\n  -&amp;gt;setAdditionalData(\\\\n    array(\\\\n      \\\\&amp;quot;manualCapture\\\\&amp;quot; =&amp;gt; \\\\&amp;quot;true\\\\&amp;quot;\\\\n    )\\\\n  )\\\\n  -&amp;gt;setReturnUrl(\\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..\\\\&amp;quot;);\\\\n\\\\n$requestOptions[&#039;idempotencyKey&#039;] = &#039;UUID&#039;;\\\\n\\\\n\\\\\\\/\\\\\\\/ Make the API call\\\\n$service = new PaymentsApi($client);\\\\n$response = $service-&amp;gt;payments($paymentRequest, $requestOptions);&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;cs&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;C#&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen .net API Library v14.4.0\\\\nusing Adyen;\\\\nusing Environment = Adyen.Model.Environment;\\\\nusing Adyen.Model;\\\\nusing Adyen.Model.Checkout;\\\\nusing Adyen.Service.Checkout;\\\\n\\\\n\\\\\\\/\\\\\\\/ For the live environment, additionally include your liveEndpointUrlPrefix.\\\\nvar config = new Config()\\\\n{\\\\n    XApiKey = \\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;,\\\\n    Environment = Environment.Test\\\\n};\\\\nvar client = new Client(config);\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nAmount amount = new Amount\\\\n{\\\\n  Currency = \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n  Value = 1000\\\\n};\\\\n\\\\nCardDetails cardDetails = new CardDetails\\\\n{\\\\n  EncryptedCardNumber = \\\\&amp;quot;test_4111111111111111\\\\&amp;quot;,\\\\n  EncryptedSecurityCode = \\\\&amp;quot;test_737\\\\&amp;quot;,\\\\n  EncryptedExpiryYear = \\\\&amp;quot;test_2030\\\\&amp;quot;,\\\\n  EncryptedExpiryMonth = \\\\&amp;quot;test_03\\\\&amp;quot;,\\\\n  Type = CardDetails.TypeEnum.Scheme\\\\n};\\\\n\\\\nPaymentRequest paymentRequest = new PaymentRequest\\\\n{\\\\n  Reference = \\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n  Amount = amount,\\\\n  MerchantAccount = \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  PaymentMethod = new CheckoutPaymentMethod(cardDetails),\\\\n  AdditionalData = new Dictionary&amp;lt;string, string&amp;gt;\\\\n  {\\\\n\\\\n    { \\\\&amp;quot;manualCapture\\\\&amp;quot;, \\\\&amp;quot;true\\\\&amp;quot; }\\\\n  },\\\\n  ReturnUrl = \\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..\\\\&amp;quot;\\\\n};\\\\n\\\\n\\\\\\\/\\\\\\\/ Make the API call\\\\nvar service = new PaymentsService(client);\\\\nvar response = service.Payments(paymentRequest, requestOptions: new RequestOptions { IdempotencyKey = \\\\&amp;quot;UUID\\\\&amp;quot;});&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;js&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;NodeJS (JavaScript)&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Node API Library v16.2.0\\\\n\\\\\\\/\\\\\\\/ Require the parts of the module you want to use\\\\nconst { Client, CheckoutAPI } = require(&#039;@adyen\\\\\\\/api-library&#039;);\\\\n\\\\\\\/\\\\\\\/ Initialize the client object\\\\n\\\\\\\/\\\\\\\/ For the live environment, additionally include your liveEndpointUrlPrefix.\\\\nconst client = new Client({apiKey: \\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;, environment: \\\\&amp;quot;TEST\\\\&amp;quot;});\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nconst paymentRequest = {\\\\n  additionalData: {\\\\n    manualCapture: \\\\&amp;quot;true\\\\&amp;quot;\\\\n  },\\\\n  merchantAccount: \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  paymentMethod: {\\\\n    type: \\\\&amp;quot;scheme\\\\&amp;quot;,\\\\n    encryptedCardNumber: \\\\&amp;quot;test_4111111111111111\\\\&amp;quot;,\\\\n    encryptedExpiryMonth: \\\\&amp;quot;test_03\\\\&amp;quot;,\\\\n    encryptedExpiryYear: \\\\&amp;quot;test_2030\\\\&amp;quot;,\\\\n    encryptedSecurityCode: \\\\&amp;quot;test_737\\\\&amp;quot;\\\\n  },\\\\n  amount: {\\\\n    currency: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n    value: 1000\\\\n  },\\\\n  reference: \\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n  returnUrl: \\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..\\\\&amp;quot;\\\\n}\\\\n\\\\n\\\\\\\/\\\\\\\/ Make the API call\\\\nconst checkoutAPI = new CheckoutAPI(client);\\\\nconst response = checkoutAPI.PaymentsApi.payments(paymentRequest, { idempotencyKey: \\\\&amp;quot;UUID\\\\&amp;quot; });&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;go&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Go&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Go API Library v9.3.0\\\\nimport (\\\\n  \\\\&amp;quot;context\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v9\\\\\\\/src\\\\\\\/common\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v9\\\\\\\/src\\\\\\\/adyen\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v9\\\\\\\/src\\\\\\\/checkout\\\\&amp;quot;\\\\n)\\\\n\\\\\\\/\\\\\\\/ For the live environment, additionally include your liveEndpointUrlPrefix.\\\\nclient := adyen.NewClient(&amp;amp;common.Config{\\\\n  ApiKey:      \\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;,\\\\n  Environment: common.TestEnv,\\\\n})\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\namount := checkout.Amount{\\\\n  Currency: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n  Value: 1000,\\\\n}\\\\n\\\\ncardDetails := checkout.CardDetails{\\\\n  EncryptedCardNumber: common.PtrString(\\\\&amp;quot;test_4111111111111111\\\\&amp;quot;),\\\\n  EncryptedSecurityCode: common.PtrString(\\\\&amp;quot;test_737\\\\&amp;quot;),\\\\n  EncryptedExpiryYear: common.PtrString(\\\\&amp;quot;test_2030\\\\&amp;quot;),\\\\n  EncryptedExpiryMonth: common.PtrString(\\\\&amp;quot;test_03\\\\&amp;quot;),\\\\n  Type: common.PtrString(\\\\&amp;quot;scheme\\\\&amp;quot;),\\\\n}\\\\n\\\\npaymentRequest := checkout.PaymentRequest{\\\\n  Reference: \\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n  Amount: amount,\\\\n  MerchantAccount: \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  PaymentMethod: checkout.CardDetailsAsCheckoutPaymentMethod(&amp;amp;cardDetails),\\\\n  AdditionalData: &amp;amp;map[string]string{\\\\n    \\\\&amp;quot;manualCapture\\\\&amp;quot;: \\\\&amp;quot;true\\\\&amp;quot;,\\\\n  },\\\\n  ReturnUrl: \\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..\\\\&amp;quot;,\\\\n}\\\\n\\\\n\\\\\\\/\\\\\\\/ Make the API call\\\\nservice := client.Checkout()\\\\nreq := service.PaymentsApi.PaymentsInput().IdempotencyKey(\\\\&amp;quot;UUID\\\\&amp;quot;).PaymentRequest(paymentRequest)\\\\nres, httpRes, err := service.PaymentsApi.Payments(context.Background(), req)&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;py&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Python&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;# Adyen Python API Library v12.2.0\\\\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;additionalData\\\\&amp;quot;: {\\\\n    \\\\&amp;quot;manualCapture\\\\&amp;quot;: \\\\&amp;quot;True\\\\&amp;quot;\\\\n  },\\\\n  \\\\&amp;quot;merchantAccount\\\\&amp;quot;: \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  \\\\&amp;quot;paymentMethod\\\\&amp;quot;: {\\\\n    \\\\&amp;quot;type\\\\&amp;quot;: \\\\&amp;quot;scheme\\\\&amp;quot;,\\\\n    \\\\&amp;quot;encryptedCardNumber\\\\&amp;quot;: \\\\&amp;quot;test_4111111111111111\\\\&amp;quot;,\\\\n    \\\\&amp;quot;encryptedExpiryMonth\\\\&amp;quot;: \\\\&amp;quot;test_03\\\\&amp;quot;,\\\\n    \\\\&amp;quot;encryptedExpiryYear\\\\&amp;quot;: \\\\&amp;quot;test_2030\\\\&amp;quot;,\\\\n    \\\\&amp;quot;encryptedSecurityCode\\\\&amp;quot;: \\\\&amp;quot;test_737\\\\&amp;quot;\\\\n  },\\\\n  \\\\&amp;quot;amount\\\\&amp;quot;: {\\\\n    \\\\&amp;quot;currency\\\\&amp;quot;: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n    \\\\&amp;quot;value\\\\&amp;quot;: 1000\\\\n  },\\\\n  \\\\&amp;quot;reference\\\\&amp;quot;: \\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n  \\\\&amp;quot;returnUrl\\\\&amp;quot;: \\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..\\\\&amp;quot;\\\\n}\\\\n\\\\n# Make the API call\\\\nresult = adyen.checkout.payments_api.payments(request=json_request, idempotency_key=\\\\&amp;quot;UUID\\\\&amp;quot;)&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;rb&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Ruby&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;# Adyen Ruby API Library v9.3.0\\\\nrequire \\\\&amp;quot;adyen-ruby-api-library\\\\&amp;quot;\\\\n\\\\nadyen = Adyen::Client.new\\\\nadyen.api_key = &#039;ADYEN_API_KEY&#039;\\\\n# For the live environment, 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  :additionalData =&amp;gt; {\\\\n    :manualCapture =&amp;gt; &#039;true&#039;\\\\n  },\\\\n  :merchantAccount =&amp;gt; &#039;YOUR_MERCHANT_ACCOUNT&#039;,\\\\n  :paymentMethod =&amp;gt; {\\\\n    :type =&amp;gt; &#039;scheme&#039;,\\\\n    :encryptedCardNumber =&amp;gt; &#039;test_4111111111111111&#039;,\\\\n    :encryptedExpiryMonth =&amp;gt; &#039;test_03&#039;,\\\\n    :encryptedExpiryYear =&amp;gt; &#039;test_2030&#039;,\\\\n    :encryptedSecurityCode =&amp;gt; &#039;test_737&#039;\\\\n  },\\\\n  :amount =&amp;gt; {\\\\n    :currency =&amp;gt; &#039;EUR&#039;,\\\\n    :value =&amp;gt; 1000\\\\n  },\\\\n  :reference =&amp;gt; &#039;YOUR_ORDER_NUMBER&#039;,\\\\n  :returnUrl =&amp;gt; &#039;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..&#039;\\\\n}\\\\n\\\\n# Make the API call\\\\nresult = adyen.checkout.payments_api.payments(request_body, headers: { &#039;Idempotency-Key&#039; =&amp;gt; &#039;UUID&#039; })&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;ts&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;NodeJS (TypeScript)&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Node API Library v16.2.0\\\\n\\\\\\\/\\\\\\\/ Require the parts of the module you want to use\\\\nimport { Client, CheckoutAPI, Types } from \\\\&amp;quot;@adyen\\\\\\\/api-library\\\\&amp;quot;;\\\\n\\\\\\\/\\\\\\\/ Initialize the client object\\\\n\\\\\\\/\\\\\\\/ For the live environment, additionally include your liveEndpointUrlPrefix.\\\\nconst client = new Client({apiKey: \\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;, environment: \\\\&amp;quot;TEST\\\\&amp;quot;});\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nconst amount: Types.checkout.Amount = {\\\\n  currency: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n  value: 1000\\\\n};\\\\n\\\\nconst cardDetails: Types.checkout.CardDetails = {\\\\n  encryptedCardNumber: \\\\&amp;quot;test_4111111111111111\\\\&amp;quot;,\\\\n  encryptedSecurityCode: \\\\&amp;quot;test_737\\\\&amp;quot;,\\\\n  encryptedExpiryYear: \\\\&amp;quot;test_2030\\\\&amp;quot;,\\\\n  encryptedExpiryMonth: \\\\&amp;quot;test_03\\\\&amp;quot;,\\\\n  type: Types.checkout.CardDetails.TypeEnum.Scheme\\\\n};\\\\n\\\\nconst paymentRequest: Types.checkout.PaymentRequest = {\\\\n  reference: \\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n  amount: amount,\\\\n  merchantAccount: \\\\&amp;quot;YOUR_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  paymentMethod: cardDetails,\\\\n  additionalData: {\\\\n    \\\\&amp;quot;manualCapture\\\\&amp;quot;: \\\\&amp;quot;true\\\\&amp;quot;\\\\n  },\\\\n  returnUrl: \\\\&amp;quot;https:\\\\\\\/\\\\\\\/your-company.example.com\\\\\\\/checkout?shopperOrder=12xy..\\\\&amp;quot;\\\\n};\\\\n\\\\n\\\\\\\/\\\\\\\/ Make the API call\\\\nconst checkoutAPI = new CheckoutAPI(client);\\\\nconst response = checkoutAPI.PaymentsApi.payments(paymentRequest, { idempotencyKey: \\\\&amp;quot;UUID\\\\&amp;quot; });&amp;quot;}]\\&quot; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&quot;,&quot;altTitle&quot;:&quot;manual-individual&quot;,&quot;oldTabId&quot;:&quot;manual-individual_2&quot;,&quot;relation&quot;:&quot;&quot;}]\"\n            :should-update-when-url-changes='true'>\n        <\/tabs>\n    <\/div>\n<\/div>\n\n<p>After a payment is authorized, you must <a href=\"#capture-a-payment\">capture the payment<\/a>.<\/p>\n<h3 id=\"capture-a-payment\">Capture a payment<\/h3>\n<p>When you have <a href=\"#enable-manual-capture\">enabled manual capture<\/a>, either for your account or for an individual transaction, you need to capture the payment as follows:<\/p>\n<ol>\n<li>\n<p>From the payment response or the AUTHORISATION webhook, get the <code>pspReference<\/code> of the authorization you want to capture.<\/p>\n<ol>\n<li>\n<p>Make a POST request to 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> endpoint, where <code>paymentPspReference<\/code> is the <code>pspReference<\/code> of the authorization you want to capture.<br><\/p>\n<p>In your request, include:<\/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.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 in <a href=\"\/pt\/development-resources\/currency-codes\">minor units<\/a> (without a decimal point) being captured.  This must be the same as or, in case of a <a href=\"#partial-capture\">partial capture<\/a>, less than the authorized amount. <\/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;\">This must match the currency of the payment you are capturing.<\/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 unique identifier for the capture operation. The <code>reference<\/code> field is useful to tag a partial capture for future reconciliation.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/li>\n<\/ol>\n<p>The following example shows how to capture a EUR&nbsp;25.00 payment authorization that has the <code>pspReference<\/code> <strong>WNS7WQ756L2GWR82<\/strong>.<\/p>\n<\/p>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"''\" :id=\"'captures-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\\\/v68\\\/payments\\\/WNS7WQ756L2GWR82\\\/captures \\\\\\n-H 'x-api-key: ADYEN_API_KEY' \\\\\\n-H 'content-type: application\\\/json' \\\\\\n-d '{\\n       \\&quot;merchantAccount\\&quot;:\\&quot;YOUR_MERCHANT_ACCOUNT\\&quot;,\\n       \\&quot;amount\\&quot;:{\\n          \\&quot;currency\\&quot;:\\&quot;EUR\\&quot;,\\n          \\&quot;value\\&quot;:2500\\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 v39.3.0\\nimport com.adyen.Client;\\nimport com.adyen.enums.Environment;\\nimport com.adyen.model.checkout.*;\\nimport java.time.OffsetDateTime;\\nimport java.util.*;\\nimport com.adyen.model.RequestOptions;\\nimport com.adyen.service.checkout.*;\\n\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\nClient client = new Client(\\&quot;ADYEN_API_KEY\\&quot;, Environment.TEST);\\n\\n\\\/\\\/ Create the request object(s)\\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 v28.2.0\\nuse Adyen\\\\Client;\\nuse Adyen\\\\Environment;\\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$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 v32.1.1\\nusing Adyen;\\nusing Environment = Adyen.Model.Environment;\\nusing Adyen.Model;\\nusing Adyen.Model.Checkout;\\nusing Adyen.Service.Checkout;\\n\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\nvar config = new Config()\\n{\\n    XApiKey = \\&quot;ADYEN_API_KEY\\&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 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 v29.0.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;YOUR_MERCHANT_ACCOUNT\\&quot;,\\n  amount: {\\n    currency: \\&quot;EUR\\&quot;,\\n    value: 2500\\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.0.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)\\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 v13.6.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;YOUR_MERCHANT_ACCOUNT\\&quot;,\\n  \\&quot;amount\\&quot;: {\\n    \\&quot;currency\\&quot;: \\&quot;EUR\\&quot;,\\n    \\&quot;value\\&quot;: 2500\\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 v10.4.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; 'YOUR_MERCHANT_ACCOUNT',\\n  :amount =&gt; {\\n    :currency =&gt; 'EUR',\\n    :value =&gt; 2500\\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 v29.0.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)\\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 capture response, note the following:<\/p>\n<ul>\n<li><code>paymentPspReference<\/code>: the PSP reference of the authorization.<\/li>\n<li><code>pspReference<\/code>: the PSP reference associated with this capture request. This is different from the PSP reference of the authorization.<\/li>\n<li><code>status<\/code>: <strong>received<\/strong>. Your capture request will be processed asynchronously. You will receive the result in a webhook.<\/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\\\": \\\"WNS7WQ756L2GWR82\\\",\\n  \\\"pspReference\\\": \\\"JDD6LKT8MBLZNN84\\\",\\n  \\\"reference\\\": \\\"YOUR_UNIQUE_REFERENCE\\\",\\n  \\\"status\\\": \\\"received\\\",\\n  \\\"amount\\\": {\\n    \\\"currency\\\": \\\"EUR\\\",\\n    \\\"value\\\": 2500\\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=\"#capture-webhook\">CAPTURE webhook<\/a> to learn the outcome of the request.<\/p>\n<\/li>\n<\/ol>\n<h2>Webhooks for captures<\/h2>\n<p>Manual capture is an asynchronous process. To keep you informed, we send webhook event messages:<\/p>\n<ul>\n<li>\n<p><a href=\"#capture-webhook\">CAPTURE<\/a>: Indicates if the capture request was valid. There are several <a href=\"#failed-capture-request\">reasons why a capture request can fail<\/a>. If the request was valid, we send it to the issuing bank through the card scheme, and this usually means the funds will be transferred to your account.<\/p>\n<\/li>\n<li>\n<p><a href=\"#failed-capture\">CAPTURE_FAILED<\/a>: Indicates that the card scheme or issuing bank rejected the capture. This happens only in rare cases.<\/p>\n<\/li>\n<\/ul>\n<h3 id=\"capture-webhook\">CAPTURE webhook<\/h3>\n<p>When we have processed your capture request, we send you a <a href=\"\/pt\/development-resources\/webhooks\">webhook event<\/a> with:<\/p>\n<ul>\n<li><code>eventCode<\/code>: <strong>CAPTURE<\/strong>.<\/li>\n<li><code>originalReference<\/code>: The PSP reference of the authorization.<\/li>\n<li><code>pspReference<\/code>: The PSP reference associated with the capture request.<\/li>\n<li>\n<p><code>success<\/code>: Indicates whether the capture request was successful. Possible values:<\/p>\n<ul>\n<li><strong>true<\/strong>: The capture request is valid (for example, the authorization has not expired, and the balance is available) and has been submitted to the bank\/third-party processor. In most cases, this means that the funds will be transferred to your account. In rare cases the card scheme can still reject the capture, and you will receive a <a href=\"#failed-capture\">CAPTURE_FAILED webhook<\/a>.<\/li>\n<li><strong>false<\/strong>: The capture request failed. The webhook event includes a <code>reason<\/code> field with a short description of the problem. <a href=\"#failed-capture\">Review the reason<\/a>, fix the issue if possible, and resubmit the capture request.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n<div id=\"tabmP20o\">\n    <div data-component-wrapper=\"tabs\">\n        <tabs\n                        :items=\"[{&quot;title&quot;:&quot;success: true&quot;,&quot;content&quot;:&quot;\\n&lt;pre&gt;&lt;code class=\\&quot;language-json\\&quot;&gt;{\\n   \\&quot;live\\&quot;:\\&quot;false\\&quot;,\\n   \\&quot;notificationItems\\&quot;:[\\n      {\\n         \\&quot;NotificationRequestItem\\&quot;:{\\n            \\&quot;amount\\&quot;:{\\n               \\&quot;currency\\&quot;:\\&quot;EUR\\&quot;,\\n               \\&quot;value\\&quot;:500\\n            },\\n            \\&quot;eventCode\\&quot;:\\&quot;CAPTURE\\&quot;,\\n            \\&quot;eventDate\\&quot;:\\&quot;2018-22T15:54:01+02:00\\&quot;,\\n            \\&quot;merchantAccountCode\\&quot;:\\&quot;YourMerchantAccount\\&quot;,\\n            \\&quot;originalReference\\&quot;:\\&quot;WNS7WQ756L2GWR82\\&quot;,\\n            \\&quot;paymentMethod\\&quot;:\\&quot;mc\\&quot;,\\n            \\&quot;pspReference\\&quot;:\\&quot;JDD6LKT8MBLZNN84\\&quot;,\\n            \\&quot;reason\\&quot;:\\&quot;\\&quot;,\\n            \\&quot;success\\&quot;:\\&quot;true\\&quot;\\n         }\\n      }\\n   ]\\n}&lt;\\\/code&gt;&lt;\\\/pre&gt;\\n&quot;,&quot;altTitle&quot;:null,&quot;oldTabId&quot;:&quot;success:_true_0_1&quot;,&quot;relation&quot;:&quot;&quot;},{&quot;title&quot;:&quot;success: false&quot;,&quot;content&quot;:&quot;\\n&lt;pre&gt;&lt;code class=\\&quot;language-json\\&quot;&gt;{\\n   \\&quot;live\\&quot;:\\&quot;false\\&quot;,\\n   \\&quot;notificationItems\\&quot;:[\\n      {\\n         \\&quot;NotificationRequestItem\\&quot;:{\\n            \\&quot;amount\\&quot;:{\\n               \\&quot;currency\\&quot;:\\&quot;EUR\\&quot;,\\n               \\&quot;value\\&quot;:500\\n            },\\n            \\&quot;eventCode\\&quot;:\\&quot;CAPTURE\\&quot;,\\n            \\&quot;eventDate\\&quot;:\\&quot;2018-22T15:54:01+02:00\\&quot;,\\n            \\&quot;merchantAccountCode\\&quot;:\\&quot;YourMerchantAccount\\&quot;,\\n            \\&quot;originalReference\\&quot;:\\&quot;WNS7WQ756L2GWR82\\&quot;,\\n            \\&quot;paymentMethod\\&quot;:\\&quot;mc\\&quot;,\\n            \\&quot;pspReference\\&quot;:\\&quot;JDD6LKT8MBLZNN84\\&quot;,\\n            \\&quot;reason\\&quot;:\\&quot;Insufficient balance on payment\\&quot;,\\n            \\&quot;success\\&quot;:\\&quot;false\\&quot;\\n         }\\n      }\\n   ]\\n}&lt;\\\/code&gt;&lt;\\\/pre&gt;\\n&quot;,&quot;altTitle&quot;:null,&quot;oldTabId&quot;:&quot;success:_false_1_2&quot;,&quot;relation&quot;:&quot;&quot;}]\"\n            :should-update-when-url-changes='false'>\n        <\/tabs>\n    <\/div>\n<\/div>\n\n<p>For more information about the included fields, see the  <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 webhook<\/a> reference.<\/p>\n<h4 id=\"failed-capture-request\">Reasons for an unsuccessful capture request<\/h4>\n<p>When a capture request fails, you receive a <strong>CAPTURE<\/strong> webhook with <code>success<\/code>: <strong>false<\/strong> and the reason why the request failed. The next table shows the most common reasons.<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\"><code>reason<\/code><\/th>\n<th style=\"text-align: left;\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"><code>Transaction not found<\/code><\/td>\n<td style=\"text-align: left;\">The capture failed because: <ul><li markdown=\"1\">The <code>pspReference<\/code> is missing or incorrect.<\/li><li markdown=\"1\">You provided an incorrect <code>merchantAccount<\/code>.<\/li><\/ul> Check that the <code>reference<\/code> you provided is unique and matches exactly one <code>pspReference<\/code>.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>Transaction is expired<\/code><\/td>\n<td style=\"text-align: left;\">The authorization for this payment is <a href=\"\/pt\/online-payments\/adjust-authorisation#validity\">expired<\/a>. You can try to <a href=\"\/pt\/account\/manage-payments#reauthorize-a-payment\">re-authorize the payment<\/a> in your Customer Area.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>This is a sale transaction, not possible to capture a smaller amount<\/code><\/td>\n<td style=\"text-align: left;\">This payment method doesn't support separate captures.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>Operation maximum period allowed: X days<\/code><\/td>\n<td style=\"text-align: left;\">The capture operation can only be performed within X days from the date the payment was authorized.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>Only possible to capture the full amount<\/code><\/td>\n<td style=\"text-align: left;\">This payment method doesn't support partial captures.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>Modification in different currency than authorisation<\/code><\/td>\n<td style=\"text-align: left;\">The capture currency does not match the authorized payment currency.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>Amount too low to be accepted by Card Network<\/code><\/td>\n<td style=\"text-align: left;\">The capture amount is below the threshold permitted by the card scheme rules.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>Insufficient balance on payment<\/code><\/td>\n<td style=\"text-align: left;\">The requested capture amount is more than the balance on the payment.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>Internal error<\/code><\/td>\n<td style=\"text-align: left;\">Something unexpected happened on Adyen's end. 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>.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>Operation not available<\/code><\/td>\n<td style=\"text-align: left;\">You do not have the required capture functionality enabled for this payment method. 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>.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>Operation failed<\/code><\/td>\n<td style=\"text-align: left;\">The capture functionality failed for this payment method. 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>.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>The <em>balance on the payment<\/em> is the amount that remains from the original authorization. For example, if a transaction is authorized for EUR&nbsp;10 but not captured, the balance on the payment is EUR&nbsp;10. If the full amount is cancelled, or if the authorization expired, the remaining balance on the payment is EUR&nbsp;0. If a transaction is authorized for EUR&nbsp;50, and then partially captured for EUR&nbsp;30, the remaining balance on the payment is EUR&nbsp;20.<\/p>\n<h3 id=\"failed-capture\">CAPTURE_FAILED webhook<\/h3>\n<p>In rare cases, a capture fails even after you received a <a href=\"#capture-webhook\"><strong>CAPTURE<\/strong> webhook<\/a> with <code>success<\/code>:\u00a0<strong>true<\/strong>. The successful webhook event means that we sent the request to the card scheme, but the scheme can still reject the request at this point. This can even happen a few days after you submitted the capture request. This also applies to installment-based transactions. If a capture fails for an installment payment, you receive the same <strong>CAPTURE_FAILED<\/strong> webhook.<br \/>\nMost of the time Adyen can fix the issue, so that you will eventually receive the funds. Sometimes, however, you need to take action yourself. To learn why a capture can fail and what, if anything, you need to do in each case, refer to <a href=\"\/pt\/online-payments\/capture\/failure-reasons\">Reasons for failed capture<\/a>.<\/p>\n<p>When a capture fails, we inform you of this with a <a href=\"\/pt\/development-resources\/webhooks\">webhook event<\/a> with:<\/p>\n<ul>\n<li><code>eventCode<\/code>: <strong>CAPTURE_FAILED<\/strong><\/li>\n<li><code>originalReference<\/code>: The <code>pspReference<\/code> of the authorization.<\/li>\n<li><code>pspReference<\/code>: The <code>pspReference<\/code> of the capture request.<\/li>\n<\/ul>\n<p>The webhook event contains the reason why the card scheme rejected the capture. You can also find the capture failure reason on the <a href=\"\/pt\/account\/manage-payments#payment-details\">Payment details page<\/a> in your <a href=\"https:\/\/ca-test.adyen.com\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">Customer Area<\/a>.<\/p>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'CAPTURE_FAILED webhook event'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n   \\\"live\\\":\\\"false\\\",\\n   \\\"notificationItems\\\":[\\n      {\\n         \\\"NotificationRequestItem\\\":{\\n            \\\"amount\\\":{\\n               \\\"currency\\\":\\\"EUR\\\",\\n               \\\"value\\\":10003\\n            },\\n            \\\"eventCode\\\":\\\"CAPTURE_FAILED\\\",\\n            \\\"eventDate\\\":\\\"2018-05-27T15:42:02+02:00\\\",\\n            \\\"merchantAccountCode\\\":\\\"YourMerchantAccount\\\",\\n            \\\"originalReference\\\":\\\"WNS7WQ756L2GWR82\\\",\\n            \\\"paymentMethod\\\":\\\"mc\\\",\\n            \\\"pspReference\\\":\\\"VK9DRSLLRCQ2WN82\\\",\\n            \\\"reason\\\":\\\"Capture Failed\\\",\\n            \\\"success\\\":\\\"true\\\"\\n         }\\n      }\\n   ]\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<p>An overview of failed captures is available in your <a href=\"\/pt\/reporting\/invoice-reconciliation\/payment-accounting-report\">Payment accounting report<\/a>.<\/p>\n<h4>Testing failed captures<\/h4>\n<p>In our test environment, you can check how your integration handles failed captures:<\/p>\n<ol>\n<li>\n<p>Make a <a href=\"\/pt\/payment-methods\/cards\">card payment<\/a>, specifying:<\/p>\n<ul>\n<li><code>holderName<\/code>: <strong>capture failed<\/strong><\/li>\n<\/ul>\n<pre><code class=\"language-json\">{\n  \"amount\": {\n    \"currency\": \"EUR\",\n    \"value\": 500\n  },\n  \"reference\": \"Capture failed test\",\n  \"paymentMethod\": {\n    \"type\": \"scheme\",\n    \"encryptedCardNumber\": \"test_4111111111111111\",\n    \"encryptedExpiryMonth\": \"test_03\",\n    \"encryptedExpiryYear\": \"test_2030\",\n    \"encryptedSecurityCode\": \"test_737\",\n    \"holderName\": \"capture failed\"\n  },\n  \"returnUrl\": \"https:\/\/your-company.example.com\/...\",\n  \"merchantAccount\": \"YOUR_MERCHANT_ACCOUNT\"\n}<\/code><\/pre>\n<\/li>\n<li>\n<p>Capture this payment, using either automatic immediate capture or <a href=\"#manual-capture\">manual capture<\/a>.<\/p>\n<\/li>\n<\/ol>\n<p>After we have processed the capture request, we send you a <a href=\"\/pt\/online-payments\/capture#failed-capture\">CAPTURE_FAILED webhook event<\/a>.<\/p>\n<div class=\"notices blue\">\n<p>This request may take several hours to process.<\/p>\n<\/div>\n<h2 id=\"see-also\">See also<\/h2>\n<div class=\"see-also-links output-inline\" id=\"see-also\">\n<ul><li><a href=\"https:\/\/docs.adyen.com\/api-explorer\/#\/CheckoutService\/latest\/post\/payments\/{paymentPspReference}\/captures\"\n                        target=\"_blank\"\n                         class=\"external\">\n                    API Explorer\n                <\/a><\/li><li><a href=\"\/online-payments\/adjust-authorisation#authorisation-types\"\n                        target=\"_self\"\n                        >\n                    Card authorisation types\n                <\/a><\/li><li><a href=\"\/online-payments\/cancel\"\n                        target=\"_self\"\n                        >\n                    Cancel\n                <\/a><\/li><li><a href=\"\/account\/payments-lifecycle\"\n                        target=\"_self\"\n                        >\n                    Payments lifecycle\n                <\/a><\/li><li><a href=\"\/payment-methods\"\n                        target=\"_self\"\n                        >\n                    Payment methods\n                <\/a><\/li><li><a href=\"\/account\/manage-payments#capture-a-payment\"\n                        target=\"_self\"\n                        >\n                    Capture payments in your Customer Area\n                <\/a><\/li><\/ul><\/div>\n","url":"https:\/\/docs.adyen.com\/pt\/online-payments\/capture","articleFields":{"description":"Capture an authorized payment.","id":"31493911","type":"page","_expandable":{"operations":""},"status":"current","last_edit_on":"29-08-2023 11:19","feedback_component":true,"filters_component":false},"algolia":{"url":"https:\/\/docs.adyen.com\/pt\/online-payments\/capture","title":"Capture","content":"By default, payments are captured automatically without a delay, immediately after authorization of the payment request.\nFor some payment methods, you can capture a payment separately from authorization. We refer to this as manual capture. The authorization reserves the funds on the shopper's bank account. Then, when you send a request to capture the payment, the reserved funds are transferred from the shopper's bank account to your account.\nAn example of when to use manual capture: After a payment is authorized, you ship the goods to the shopper. If the goods are successfully delivered to the shopper, you capture the payment. If the goods are not delivered to the shopper, you cancel the payment instead.\nRequirements\nBefore you begin, take into account the following requirements, limitations, and preparations.\n\n\n\nRequirement\nDescription\n\n\n\n\nIntegration type\nAn online payments integration.\n\n\nCustomer Area roles\nTo edit capture settings, make sure that you have the following roles: Merchant adminView Payments Merchant manage payments\n\n\nWebhooks\nListen for webhook messages with the following eventCode values: \n  CAPTURE\n\n  CAPTURE_FAILED\n\n\n\nLimitations\nSeparate capture is only available for some payment methods.\n\n\nSetup steps\nIf you intend to use multiple partial captures, ask our Support Team to enable that feature.\n\n\n\nTypes of capture\nFor payments that support separate capture, you can set up one of the following, so that payments do not automatically get captured immediately after authorization:\n\n\n\nType of capture\nDescription\n\n\n\n\nAutomatic capture\nCapture happens automatically without a delay. This is the default.\n\n\nDelayed automatic capture\nSet an amount of time between authorization and capture. The capture happens automatically after the time delay that you set.   The delay gives you time to  cancel the authorization, for example when it turns out that an item is out of stock. \n\n\nManual capture\nSet a separate capture that does not happen automatically. After a payment is authorized, you must manually capture the payment.  Manual capture lets you settle funds on fulfillment,  when an order is shipped. It is also part of flows like authorization adjustment and partial authorization.  Some payment methods also allow partial manual capture.\n\n\n\nPartial manual capture\n\n\n\nType of partial capture\nDescription\n\n\n\n\nSingle partial capture\nAny unclaimed amount that is left over after partially capturing a payment is automatically cancelled.  With some schemes, you can flag each payment request as either a pre-authorization or a final authorization. For partial captures, we recommend that you flag the payment request as a pre-authorization. For more information, refer to Card authorization types.\n\n\nMultiple partial captures\nThe unclaimed amount after an initial partial capture is not automatically cancelled. This is useful in some businesses models such as an ecommerce site where capture takes place upon shipment, or in omnichannel scenarios where the shopper orders items in a physical store. If you have an order with multiple items to ship separately, each shipment correlates to a partial capture. Multiple partial capture is disabled by default, so you need to contact our Support Team to enable this feature.\n\n\n\nDelayed automatic capture\nWhen you set up delayed automatic capture, you specify the amount of time between authorization and capture. You can enable it in your Customer Area for every payment, or in the API request for an individual payment. The setting in the API request for an individual payment overrides the setting in the Customer Area.\n\n\n    \n        \n        \n    \n\n\n\nA payment that is automatically captured does not trigger a separate CAPTURE webhook. If you are using delayed automatic capture, consider enabling a CAPTURE webhook. To do this, enable the default event codes CAPTURE and CAPTURE_FAILED in the Standard webhook, and turn on Delayed Capture in the webhook settings.\n\nManual capture\nWhen you set up manual capture, you must send a capture request after the payment is authorized. After capturing, the funds for the payment get transferred to your account.\nTo use manual capture:\n\nEnable manual capture, either for every payment or for an individual payment.\nCapture the payment.\n\nEnable manual capture\nYou can enable manual capture in your Customer Area for every payment, or in the API request for an individual payment. The setting in the API request for an individual payment overrides the setting in the Customer Area.\n\n\n    \n        \n        \n    \n\n\nAfter a payment is authorized, you must capture the payment.\nCapture a payment\nWhen you have enabled manual capture, either for your account or for an individual transaction, you need to capture the payment as follows:\n\n\nFrom the payment response or the AUTHORISATION webhook, get the pspReference of the authorization you want to capture.\n\n\nMake a POST request to the  \/payments\/{paymentPspReference}\/captures endpoint, where paymentPspReference is the pspReference of the authorization you want to capture.\nIn your request, include:\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.value\n\nThe amount in minor units (without a decimal point) being captured.  This must be the same as or, in case of a partial capture, less than the authorized amount. \n\n\namount.currency\n\nThis must match the currency of the payment you are capturing.\n\n\nreference\n\nYour unique identifier for the capture operation. The reference field is useful to tag a partial capture for future reconciliation.\n\n\n\n\n\nThe following example shows how to capture a EUR&nbsp;25.00 payment authorization that has the pspReference WNS7WQ756L2GWR82.\n\n\n\n\n\n\nIn the capture response, note the following:\n\npaymentPspReference: the PSP reference of the authorization.\npspReference: the PSP reference associated with this capture request. This is different from the PSP reference of the authorization.\nstatus: received. Your capture request will be processed asynchronously. You will receive the result in a webhook.\n\n\n\n\n\n\nWait for the CAPTURE webhook to learn the outcome of the request.\n\n\nWebhooks for captures\nManual capture is an asynchronous process. To keep you informed, we send webhook event messages:\n\n\nCAPTURE: Indicates if the capture request was valid. There are several reasons why a capture request can fail. If the request was valid, we send it to the issuing bank through the card scheme, and this usually means the funds will be transferred to your account.\n\n\nCAPTURE_FAILED: Indicates that the card scheme or issuing bank rejected the capture. This happens only in rare cases.\n\n\nCAPTURE webhook\nWhen we have processed your capture request, we send you a webhook event with:\n\neventCode: CAPTURE.\noriginalReference: The PSP reference of the authorization.\npspReference: The PSP reference associated with the capture request.\n\nsuccess: Indicates whether the capture request was successful. Possible values:\n\ntrue: The capture request is valid (for example, the authorization has not expired, and the balance is available) and has been submitted to the bank\/third-party processor. In most cases, this means that the funds will be transferred to your account. In rare cases the card scheme can still reject the capture, and you will receive a CAPTURE_FAILED webhook.\nfalse: The capture request failed. The webhook event includes a reason field with a short description of the problem. Review the reason, fix the issue if possible, and resubmit the capture request.\n\n\n\n\n\n    \n        \n        \n    \n\n\nFor more information about the included fields, see the  CAPTURE webhook reference.\nReasons for an unsuccessful capture request\nWhen a capture request fails, you receive a CAPTURE webhook with success: false and the reason why the request failed. The next table shows the most common reasons.\n\n\n\nreason\nDescription\n\n\n\n\nTransaction not found\nThe capture failed because: The pspReference is missing or incorrect.You provided an incorrect merchantAccount. Check that the reference you provided is unique and matches exactly one pspReference.\n\n\nTransaction is expired\nThe authorization for this payment is expired. You can try to re-authorize the payment in your Customer Area.\n\n\nThis is a sale transaction, not possible to capture a smaller amount\nThis payment method doesn't support separate captures.\n\n\nOperation maximum period allowed: X days\nThe capture operation can only be performed within X days from the date the payment was authorized.\n\n\nOnly possible to capture the full amount\nThis payment method doesn't support partial captures.\n\n\nModification in different currency than authorisation\nThe capture currency does not match the authorized payment currency.\n\n\nAmount too low to be accepted by Card Network\nThe capture amount is below the threshold permitted by the card scheme rules.\n\n\nInsufficient balance on payment\nThe requested capture amount is more than the balance on the payment.\n\n\nInternal error\nSomething unexpected happened on Adyen's end. Contact our Support Team.\n\n\nOperation not available\nYou do not have the required capture functionality enabled for this payment method. Contact our Support Team.\n\n\nOperation failed\nThe capture functionality failed for this payment method. Contact our Support Team.\n\n\n\nThe balance on the payment is the amount that remains from the original authorization. For example, if a transaction is authorized for EUR&nbsp;10 but not captured, the balance on the payment is EUR&nbsp;10. If the full amount is cancelled, or if the authorization expired, the remaining balance on the payment is EUR&nbsp;0. If a transaction is authorized for EUR&nbsp;50, and then partially captured for EUR&nbsp;30, the remaining balance on the payment is EUR&nbsp;20.\nCAPTURE_FAILED webhook\nIn rare cases, a capture fails even after you received a CAPTURE webhook with success:\u00a0true. The successful webhook event means that we sent the request to the card scheme, but the scheme can still reject the request at this point. This can even happen a few days after you submitted the capture request. This also applies to installment-based transactions. If a capture fails for an installment payment, you receive the same CAPTURE_FAILED webhook.\nMost of the time Adyen can fix the issue, so that you will eventually receive the funds. Sometimes, however, you need to take action yourself. To learn why a capture can fail and what, if anything, you need to do in each case, refer to Reasons for failed capture.\nWhen a capture fails, we inform you of this with a webhook event with:\n\neventCode: CAPTURE_FAILED\noriginalReference: The pspReference of the authorization.\npspReference: The pspReference of the capture request.\n\nThe webhook event contains the reason why the card scheme rejected the capture. You can also find the capture failure reason on the Payment details page in your Customer Area.\n\n    \n\nAn overview of failed captures is available in your Payment accounting report.\nTesting failed captures\nIn our test environment, you can check how your integration handles failed captures:\n\n\nMake a card payment, specifying:\n\nholderName: capture failed\n\n{\n  \"amount\": {\n    \"currency\": \"EUR\",\n    \"value\": 500\n  },\n  \"reference\": \"Capture failed test\",\n  \"paymentMethod\": {\n    \"type\": \"scheme\",\n    \"encryptedCardNumber\": \"test_4111111111111111\",\n    \"encryptedExpiryMonth\": \"test_03\",\n    \"encryptedExpiryYear\": \"test_2030\",\n    \"encryptedSecurityCode\": \"test_737\",\n    \"holderName\": \"capture failed\"\n  },\n  \"returnUrl\": \"https:\/\/your-company.example.com\/...\",\n  \"merchantAccount\": \"YOUR_MERCHANT_ACCOUNT\"\n}\n\n\nCapture this payment, using either automatic immediate capture or manual capture.\n\n\nAfter we have processed the capture request, we send you a CAPTURE_FAILED webhook event.\n\nThis request may take several hours to process.\n\nSee also\n\n\n                    API Explorer\n                \n                    Card authorisation types\n                \n                    Cancel\n                \n                    Payments lifecycle\n                \n                    Payment methods\n                \n                    Capture payments in your Customer Area\n                \n","type":"page","locale":"pt","boost":18,"hierarchy":{"lvl0":"Home","lvl1":"Online payments","lvl2":"Capture"},"hierarchy_url":{"lvl0":"https:\/\/docs.adyen.com\/pt","lvl1":"https:\/\/docs.adyen.com\/pt\/online-payments","lvl2":"\/pt\/online-payments\/capture"},"levels":3,"category":"Online Payments","category_color":"green","tags":["Capture"]},"articleFiles":{"enabling-manual-capture-in-a-payments-request-8461771805.js":"<p alt=\"\">enabling-manual-capture-in-a-payments-request-8461771805.js<\/p>"}}
