{"title":"Surcharge","category":"default","creationDate":1676035020,"content":"<p>Payment brands, such as card schemes and debit network providers, charge a fee for accepting payments on their payment network, called a payment acceptance fee. As a marketplace, you must have agreements in place with your users about how the payment acceptance fee is charged for each payment. Your users can pass on these costs to their customers by adding a surcharge to their payments.<\/p>\n<p>Similar to the other <a href=\"\/pt\/platforms\/in-person-payments\/transaction-fees\">transaction fees<\/a>, you can use split instructions to define how to book the surcharge. By default, the surcharge amount on a payment is booked to your liable balance account. However, you can book this amount directly to your user's balance account.<\/p>\n<h2>Requirements<\/h2>\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;\">Make sure that you have an Adyen for Platforms implementation with an <a href=\"\/pt\/online-payments\/build-your-integration\/advanced-flow?platform=Web&amp;integration=API%20only&amp;version=latest\">API-only online payments<\/a> integration that can accept card payments with either: <ul><li markdown=\"1\"><a href=\"\/pt\/payment-methods\/cards\/raw-card-data\/\">Raw card data<\/a><\/li><li markdown=\"1\"><a href=\"\/pt\/payment-methods\/cards\/custom-card-integration\/\">Encrypted card data<\/a><\/li><\/ul><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong><a href=\"\/pt\/development-resources\/api-credentials\/roles\/\">API credential roles<\/a><\/strong><\/td>\n<td style=\"text-align: left;\">You need an API credential with an API key and the <strong>Checkout webservice role<\/strong>.<\/td>\n<td><\/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;\">Ensure that your server can receive and accept <a href=\"\/pt\/development-resources\/webhooks\">standard webhooks<\/a>.<br>To track fund movements in your marketplace, you can subscribe to any of the following webhooks: <ul><li markdown=\"1\"> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/transfer-webhooks\/latest\/overview\" class=\" external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Transfer webhooks<\/a>: Notifies you of all fund movements and transfer status changes.<\/li><li markdown=\"1\"> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/transaction-webhooks\/latest\/overview\" class=\" external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Transaction webhooks<\/a>: Notifies you when funds are credited to or debited from a balance account.<\/li><\/ul><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong>Limitations<\/strong><\/td>\n<td style=\"text-align: left;\">Make sure that you take into account the following: <ul><li markdown=\"1\">The surcharge feature is in pilot, and restrictions may apply. Reach out to your Adyen contact to be part of the pilot.<\/li><li markdown=\"1\">Surcharges cannot be applied to <a href=\"\/pt\/online-payments\/adjust-authorisation\/\">authorization adjustments<\/a> or <a href=\"\/pt\/get-started-with-adyen\/adyen-glossary#overcapture\">overcaptures<\/a>. The surcharge amount cannot be higher than the surcharge amount that was shown to the customer at the moment of purchase.<\/li><\/ul><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong>Setup steps<\/strong><\/td>\n<td style=\"text-align: left;\">Before you begin: <ul><li markdown=\"1\">Make sure you comply with the general and regional compliance requirements mentioned in our <a href=\"\/pt\/development-resources\/surcharge-compliance\/\">Surcharge compliance guide<\/a>.<\/li><li markdown=\"1\">We recommend consulting your own legal advisor on compliance with regulatory requirements, and reviewing the scheme rules for the latest information.<\/li><\/ul><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Compliance<\/h2>\n<p>Surcharges must comply with legal, regulatory, and card scheme requirements. For example, schemes require that you provide signage to inform customers about the payment methods that are subject to surcharges, and the related costs such as the surcharge percentage.<\/p>\n<p>Surcharging is also subject to specific local\/jurisdictional restrictions. For example, in the European Economic Area (EEA) surcharges are not allowed on payments made with a consumer card that was issued in the EEA. And in the US surcharges are not allowed on payments made with a debit card.<\/p>\n<p>The Adyen surcharge feature does not include automated global compliance enforcement. You must validate your setup against the compliance considerations and local mandates. We strongly recommend you consult your own legal advisor on compliance with regulatory and legal implications and use the correct settings based on our <a href=\"\/pt\/development-resources\/surcharge-compliance\">Surcharge compliance guide<\/a>.<\/p>\n<h2>How it works<\/h2>\n<p>When your user's customer pays:<\/p>\n<ol>\n<li>You collect the customer's card details on your checkout page.<\/li>\n<li>From your server, you make a  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/cardDetails\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/cardDetails<\/a> request using the customer's card details, to get the information that helps to make a decision about the surcharge.<\/li>\n<li>The logic you implemented decides if a surcharge is allowed and calculates the surcharge amount, using the data from the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/cardDetails\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/cardDetails<\/a> response.<\/li>\n<li>You display the surcharge amount on your checkout page.<\/li>\n<li>When the customer proceeds to pay, you make a  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments<\/a> request that includes the surcharge amount.<\/li>\n<\/ol>\n<h2>Get card details<\/h2>\n<p>Use the customer's raw or encrypted card number to make an API request that retrieves the details of the card that helps to determine whether you can apply surcharge to a payment.<\/p>\n<ol>\n<li>\n<p>In your payment form, collect the card number of the customer with either of the following:<\/p>\n<ul>\n<li><a href=\"\/pt\/payment-methods\/cards\/raw-card-data\/#build-your-payment-form-for-cards\">Custom payment form to collect raw card data<\/a><\/li>\n<li><a href=\"\/pt\/payment-methods\/cards\/custom-card-integration\/\">Custom Card Component integration to collect encrypted card data<\/a><\/li>\n<\/ul>\n<\/li>\n<li>\n<p>From your server, make a  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/cardDetails\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/cardDetails<\/a> request, including:<\/p>\n<div class=\"sticky-table-container\">\n    \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;\"> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/cardDetails#request-cardNumber\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">cardNumber<\/a><\/td>\n<td style=\"text-align: center;\"><span class=\"hint--bottom\" data-hint=\"Conditionally required\" markdown=\"1\"><img style=\"width: 25px;\" alt=\"Conditionally required\" src=\"\/user\/pages\/reuse\/image-library\/01.icons\/conditionally-required\/conditionally-required.svg?decoding=auto&amp;fetchpriority=auto\" \/><\/span><\/td>\n<td style=\"text-align: left;\">If you accept card payments using <a href=\"\/pt\/payment-methods\/cards\/raw-card-data\/\">raw card data<\/a>, pass this field. <br> Minimum length: first eight digits of the card number. We recommend to pass the full card number for the best result.  <div class=\"sc-notice note\"><div> You must be <a href=\"\/pt\/development-resources\/pci-dss-compliance-guide\/\">fully PCI compliant<\/a> to collect raw card data. <\/div><\/div><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/cardDetails#request-encryptedCardNumber\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">encryptedCardNumber<\/a><\/td>\n<td style=\"text-align: center;\"><span class=\"hint--bottom\" data-hint=\"Conditionally required\" markdown=\"1\"><img style=\"width: 25px;\" alt=\"Conditionally required\" src=\"\/user\/pages\/reuse\/image-library\/01.icons\/conditionally-required\/conditionally-required.svg?decoding=auto&amp;fetchpriority=auto\" \/><\/span><\/td>\n<td style=\"text-align: left;\">If you accept card payments using our <a href=\"\/pt\/payment-methods\/cards\/custom-card-integration\/\">Custom Card Component with encrypted card data<\/a>, pass this field. <br> The encrypted card number you get in the <code>state.data<\/code> when the <a href=\"\/pt\/payment-methods\/cards\/custom-card-integration\/#show-the-available-cards-in-your-payment-form\">Component<\/a> calls the <code>onSubmit<\/code> event.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/cardDetails#request-merchantAccount\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">merchantAccount<\/a><\/td>\n<td style=\"text-align: center;\"><span class=\"hint--bottom\" data-hint=\"Required\" markdown=\"1\"><img style=\"width: 25px;\" alt=\"Required\" src=\"\/user\/pages\/reuse\/image-library\/01.icons\/required\/required.svg?decoding=auto&amp;fetchpriority=auto\" \/><\/span><\/td>\n<td style=\"text-align: left;\">The name of your merchant account.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n\n<\/div>\n\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Make a request to get information about the card'\" :id=\"'get-card-details'\" :code-data=\"[{&quot;language&quot;:&quot;bash&quot;,&quot;tabTitle&quot;:&quot;curl&quot;,&quot;content&quot;:&quot;curl https:\\\/\\\/checkout-test.adyen.com\\\/v71\\\/cardDetails \\\\\\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;encryptedCardNumber\\&quot;: \\&quot;adyenjs_0_1_18$MT6ppy0FAMVMLH...\\&quot;\\n}'&quot;},{&quot;language&quot;:&quot;java&quot;,&quot;tabTitle&quot;:&quot;Java&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Java API Library v40.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, also include your liveEndpointUrlPrefix.\\nClient client = new Client(\\&quot;ADYEN_API_KEY\\&quot;, Environment.TEST);\\n\\n\\\/\\\/ Create the request object(s)\\nCardDetailsRequest cardDetailsRequest = new CardDetailsRequest()\\n  .encryptedCardNumber(\\&quot;adyenjs_0_1_18$MT6ppy0FAMVMLH...\\&quot;)\\n  .merchantAccount(\\&quot;YOUR_MERCHANT_ACCOUNT\\&quot;);\\n\\n\\\/\\\/ Send the request\\nPaymentsApi service = new PaymentsApi(client);\\nCardDetailsResponse response = service.cardDetails(cardDetailsRequest, 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.3.0\\nuse Adyen\\\\Client;\\nuse Adyen\\\\Environment;\\nuse Adyen\\\\Model\\\\Checkout\\\\CardDetailsRequest;\\nuse Adyen\\\\Service\\\\Checkout\\\\PaymentsApi;\\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$cardDetailsRequest = new CardDetailsRequest();\\n$cardDetailsRequest\\n  -&gt;setEncryptedCardNumber(\\&quot;adyenjs_0_1_18\\\\$MT6ppy0FAMVMLH...\\&quot;)\\n  -&gt;setMerchantAccount(\\&quot;YOUR_MERCHANT_ACCOUNT\\&quot;);\\n\\n$requestOptions['idempotencyKey'] = 'UUID';\\n\\n\\\/\\\/ Send the request\\n$service = new PaymentsApi($client);\\n$response = $service-&gt;cardDetails($cardDetailsRequest, $requestOptions);&quot;},{&quot;language&quot;:&quot;cs&quot;,&quot;tabTitle&quot;:&quot;C#&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen .NET API Library v32.2.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)\\nCardDetailsRequest cardDetailsRequest = new CardDetailsRequest\\n{\\n  EncryptedCardNumber = \\&quot;adyenjs_0_1_18$MT6ppy0FAMVMLH...\\&quot;,\\n  MerchantAccount = \\&quot;YOUR_MERCHANT_ACCOUNT\\&quot;\\n};\\n\\n\\\/\\\/ Send the request\\nvar service = new PaymentsService(client);\\nvar response = service.CardDetails(cardDetailsRequest, 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.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 cardDetailsRequest = {\\n  merchantAccount: \\&quot;YOUR_MERCHANT_ACCOUNT\\&quot;,\\n  encryptedCardNumber: \\&quot;adyenjs_0_1_18$MT6ppy0FAMVMLH...\\&quot;\\n}\\n\\n\\\/\\\/ Send the request\\nconst checkoutAPI = new CheckoutAPI(client);\\nconst response = checkoutAPI.PaymentsApi.cardDetails(cardDetailsRequest, { 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.1.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)\\ncardDetailsRequest := checkout.CardDetailsRequest{\\n  EncryptedCardNumber: common.PtrString(\\&quot;adyenjs_0_1_18$MT6ppy0FAMVMLH...\\&quot;),\\n  MerchantAccount: \\&quot;YOUR_MERCHANT_ACCOUNT\\&quot;,\\n}\\n\\n\\\/\\\/ Send the request\\nservice := client.Checkout()\\nreq := service.PaymentsApi.CardDetailsInput().IdempotencyKey(\\&quot;UUID\\&quot;).CardDetailsRequest(cardDetailsRequest)\\nres, httpRes, err := service.PaymentsApi.CardDetails(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;YOUR_MERCHANT_ACCOUNT\\&quot;,\\n  \\&quot;encryptedCardNumber\\&quot;: \\&quot;adyenjs_0_1_18$MT6ppy0FAMVMLH...\\&quot;\\n}\\n\\n# Send the request\\nresult = adyen.checkout.payments_api.card_details(request=json_request, 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.0.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  :encryptedCardNumber =&gt; 'adyenjs_0_1_18$MT6ppy0FAMVMLH...'\\n}\\n\\n# Send the request\\nresult = adyen.checkout.payments_api.card_details(request_body, 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.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)\\nconst cardDetailsRequest: Types.checkout.CardDetailsRequest = {\\n  encryptedCardNumber: \\&quot;adyenjs_0_1_18$MT6ppy0FAMVMLH...\\&quot;,\\n  merchantAccount: \\&quot;YOUR_MERCHANT_ACCOUNT\\&quot;\\n};\\n\\n\\\/\\\/ Send the request\\nconst checkoutAPI = new CheckoutAPI(client);\\nconst response = checkoutAPI.PaymentsApi.cardDetails(cardDetailsRequest, { 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 response, note the following data to:<\/p>\n<ul>\n<li>Determine whether a surcharge is applicable for a payment.<\/li>\n<li>Calculate the surcharge amount that you can apply.<\/li>\n<\/ul>\n<div class=\"sticky-table-container\">\n    \n<table>\n<thead>\n<tr>\n<th>Response parameter<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/cardDetails#responses-200-brands-type\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">brands.type<\/a><\/td>\n<td>The name of the card brand.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/cardDetails#responses-200-fundingSource\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">fundingSource<\/a><\/td>\n<td>The funding source of the card, for example, <strong>DEBIT<\/strong>, <strong>CREDIT<\/strong>, or <strong>PREPAID<\/strong>.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/cardDetails#responses-200-isCardCommercial\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">isCardCommercial<\/a><\/td>\n<td>Indicates if this is a commercial card or a consumer card. When <strong>true<\/strong>, it is a commercial card. When <strong>false<\/strong>, it is a consumer card.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/cardDetails#responses-200-issuingCountryCode\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">issuingCountryCode<\/a><\/td>\n<td>The two-letter country code of the country where the card was issued.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n\n<\/div>\n\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Example \/cardDetails response'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n \\\"brands\\\": [\\n       {\\n          \\\"type\\\": \\\"visa\\\",\\n          \\\"supported\\\": true\\n       },\\n       {\\n         \\\"type\\\": \\\"cartebancaire\\\",\\n         \\\"supported\\\": true\\n       }\\n ],\\n \\\"fundingSource\\\": \\\"CREDIT\\\",\\n \\\"isCardCommercial\\\": false,\\n \\\"issuingCountryCode\\\": \\\"US\\\"\\n }\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<li>\n<p>Use the data from the response to build your logic that determines whether you can apply surcharge on a payment with this card, and calculate the surcharge amount. Refer to our <a href=\"\/pt\/development-resources\/surcharge-compliance\/\">Surcharge compliance guide<\/a> when determining to which transactions you can apply a surcharge.<\/p>\n<\/li>\n<\/ol>\n<h2>Make a payment with a surcharge<\/h2>\n<p>A surcharge is a type of transaction fee imposed by the card scheme, paid by your user's customer. Similar to the other <a href=\"\/pt\/platforms\/online-payments\/transaction-fees\">transaction fees<\/a>, you can use split instructions to define how to book the surcharge. You can book the surcharge amount either to your user's balance account, or to your liable balance account.<\/p>\n<ol>\n<li>Make a  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments<\/a> request with your <a href=\"\/pt\/payment-methods\/cards\/raw-card-data\/#make-a-payment\">API only with raw card data integration<\/a>, or with your <a href=\"\/pt\/payment-methods\/cards\/custom-card-integration\/\">API only with encrypted card data integration<\/a>.<\/li>\n<li>In your request include a  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-surcharge\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">surcharge<\/a> object, that specifies the <code>value<\/code> of the surcharge you apply to the transaction.<\/li>\n<li>Calculate the value you need to pass in the <code>amount.value<\/code> field in your  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments<\/a> request by adding the surcharge amount to the original transaction amount.<\/li>\n<li>In the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-splits\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">splits<\/a> array, add a split item for the surcharge.<\/li>\n<li>\n<p>For the split item of the surcharge, specify the following fields:<\/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;\"> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-splits-account\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">account<\/a><\/td>\n<td style=\"text-align: center;\"><span class=\"hint--bottom\" data-hint=\"Required\" markdown=\"1\"><img style=\"width: 25px;\" alt=\"Required\" src=\"\/user\/pages\/reuse\/image-library\/01.icons\/required\/required.svg?decoding=auto&amp;fetchpriority=auto\" \/><\/span><\/td>\n<td style=\"text-align: left;\">The <code>balanceAccountId<\/code> of one of your user's balance accounts that will receive the surcharge amount.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-splits-amount-currency\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">amount.currency<\/a><\/td>\n<td style=\"text-align: center;\"><span class=\"hint--bottom\" data-hint=\"Required\" markdown=\"1\"><img style=\"width: 25px;\" alt=\"Required\" src=\"\/user\/pages\/reuse\/image-library\/01.icons\/required\/required.svg?decoding=auto&amp;fetchpriority=auto\" \/><\/span><\/td>\n<td style=\"text-align: left;\">The currency of the part of the surcharge you want to book the specified <code>account<\/code>.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-splits-amount-value\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">amount.value<\/a><\/td>\n<td style=\"text-align: center;\"><span class=\"hint--bottom\" data-hint=\"Required\" markdown=\"1\"><img style=\"width: 25px;\" alt=\"Required\" src=\"\/user\/pages\/reuse\/image-library\/01.icons\/required\/required.svg?decoding=auto&amp;fetchpriority=auto\" \/><\/span><\/td>\n<td style=\"text-align: left;\">The value of the surcharge you want to book to the specified <code>account<\/code>.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-splits-type\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">type<\/a><\/td>\n<td style=\"text-align: center;\"><span class=\"hint--bottom\" data-hint=\"Required\" markdown=\"1\"><img style=\"width: 25px;\" alt=\"Required\" src=\"\/user\/pages\/reuse\/image-library\/01.icons\/required\/required.svg?decoding=auto&amp;fetchpriority=auto\" \/><\/span><\/td>\n<td style=\"text-align: left;\">Defines the part of the payment you want to book to the specified <code>account<\/code>.<br>Set to <strong>Surcharge<\/strong>.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-splits-reference\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">reference<\/a><\/td>\n<td style=\"text-align: center;\"><span class=\"hint--bottom\" data-hint=\"Recommended\" markdown=\"1\"><img style=\"width: 25px;\" alt=\"Recommended\" src=\"\/user\/pages\/reuse\/image-library\/01.icons\/recommended\/recommended.svg?decoding=auto&amp;fetchpriority=auto\" \/><\/span><\/td>\n<td style=\"text-align: left;\">Your reference for the surcharge, reflected in the <a href=\"\/pt\/platforms\/reports-and-fees\/balance-platform-accounting-report\">Balance Platform Accounting Report<\/a>. You need this for reconciliation purposes.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-splits-reference\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">description<\/a><\/td>\n<td style=\"text-align: center;\"><\/td>\n<td style=\"text-align: left;\">Your description for the surcharge, reflected in the <a href=\"\/pt\/platforms\/reports-and-fees\/balance-platform-accounting-report\">Balance Platform Accounting Report<\/a>.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/li>\n<\/ol>\n<h3>Example split payment with surcharge<\/h3>\n<p>Here is an example of how you can split the payment and surcharge amount at the time of payment, when a customer pays EUR 400.00.<\/p>\n<ul>\n<li>EUR 394.00 are booked to your user's balance account as payment for the goods or services.<\/li>\n<li>EUR 2.00 are booked to your user's balance account as the surcharge.<\/li>\n<li>EUR 4.00 are booked to your liable balance account as your marketplace's commission.<\/li>\n<li>All transaction fees are booked to your user's balance account, deducted from the sale amount.<\/li>\n<\/ul>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Split funds at time of payment'\" :id=\"'split-surcharge-request-marketplace'\" :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-X POST \\\\\\n-d '{\\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;value\\&quot;: 40000,\\n        \\&quot;currency\\&quot;: \\&quot;EUR\\&quot;\\n    },\\n    \\&quot;surcharge\\&quot;: {\\n        \\&quot;value\\&quot;: 200\\n    },\\n    \\&quot;reference\\&quot;: \\&quot;YOUR_ORDER_NUMBER\\&quot;,\\n    \\&quot;merchantAccount\\&quot;: \\&quot;YOUR_MERCHANT_ACCOUNT\\&quot;,\\n    \\&quot;returnUrl\\&quot;: \\&quot;https:\\\/\\\/your-company.example.com\\\/...\\&quot;,\\n    \\&quot;splits\\&quot;:[\\n        {\\n            \\&quot;amount\\&quot;: {\\n                \\&quot;value\\&quot;: 39400\\n            },\\n            \\&quot;type\\&quot;: \\&quot;BalanceAccount\\&quot;,\\n            \\&quot;account\\&quot;: \\&quot;BA00000000000000000000001\\&quot;,\\n            \\&quot;reference\\&quot;: \\&quot;Your reference for the payment\\&quot;,\\n            \\&quot;description\\&quot;: \\&quot;Your description for the payment\\&quot;\\n        },\\n        {\\n            \\&quot;amount\\&quot;: {\\n                \\&quot;value\\&quot;: 400\\n            },\\n            \\&quot;type\\&quot;: \\&quot;Commission\\&quot;,\\n            \\&quot;reference\\&quot;: \\&quot;Your reference for the commission\\&quot;,\\n            \\&quot;description\\&quot;: \\&quot;Your description for the commission\\&quot;\\n        },\\n        {\\n            \\&quot;amount\\&quot;: {\\n                \\&quot;value\\&quot;: 200\\n            },\\n            \\&quot;type\\&quot;: \\&quot;Surcharge\\&quot;,\\n            \\&quot;account\\&quot;: \\&quot;BA00000000000000000000001\\&quot;,\\n            \\&quot;reference\\&quot;: \\&quot;Your reference for the surcharge\\&quot;,\\n            \\&quot;description\\&quot;: \\&quot;Your description for the surcharge\\&quot;\\n        },\\n        {\\n            \\&quot;type\\&quot;: \\&quot;PaymentFee\\&quot;,\\n            \\&quot;account\\&quot;: \\&quot;BA00000000000000000000001\\&quot;,\\n            \\&quot;reference\\&quot;: \\&quot;Your reference for the transaction fees\\&quot;,\\n            \\&quot;description\\&quot;: \\&quot;Your description for the transaction fees\\&quot;\\n        }\\n    ]\\n}'&quot;},{&quot;language&quot;:&quot;java&quot;,&quot;tabTitle&quot;:&quot;Java&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Java API Library v40.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, also include your liveEndpointUrlPrefix.\\nClient client = new Client(\\&quot;ADYEN_API_KEY\\&quot;, Environment.TEST);\\n\\n\\\/\\\/ Create the request object(s)\\nSplitAmount splitAmount1 = new SplitAmount()\\n  .value(39400L);\\n\\nSplitAmount splitAmount2 = new SplitAmount()\\n  .value(400L);\\n\\nSplitAmount splitAmount3 = new SplitAmount()\\n  .value(200L);\\n\\nSurcharge surcharge = new Surcharge()\\n  .value(200L);\\n\\nAmount amount = new Amount()\\n  .currency(\\&quot;EUR\\&quot;)\\n  .value(40000L);\\n\\nSplit split1 = new Split()\\n  .reference(\\&quot;Your reference for the payment\\&quot;)\\n  .amount(splitAmount1)\\n  .description(\\&quot;Your description for the payment\\&quot;)\\n  .type(Split.TypeEnum.BALANCEACCOUNT)\\n  .account(\\&quot;BA00000000000000000000001\\&quot;);\\n\\nSplit split2 = new Split()\\n  .reference(\\&quot;Your reference for the commission\\&quot;)\\n  .amount(splitAmount2)\\n  .description(\\&quot;Your description for the commission\\&quot;)\\n  .type(Split.TypeEnum.COMMISSION);\\n\\nSplit split3 = new Split()\\n  .reference(\\&quot;Your reference for the surcharge\\&quot;)\\n  .amount(splitAmount3)\\n  .description(\\&quot;Your description for the surcharge\\&quot;)\\n  .type(Split.TypeEnum.SURCHARGE)\\n  .account(\\&quot;BA00000000000000000000001\\&quot;);\\n\\nSplit split4 = new Split()\\n  .reference(\\&quot;Your reference for the transaction fees\\&quot;)\\n  .description(\\&quot;Your description for the transaction fees\\&quot;)\\n  .type(Split.TypeEnum.PAYMENTFEE)\\n  .account(\\&quot;BA00000000000000000000001\\&quot;);\\n\\nCardDetails cardDetails = new CardDetails()\\n  .number(\\&quot;4111111111111111\\&quot;)\\n  .cvc(\\&quot;737\\&quot;)\\n  .holderName(\\&quot;John Smith\\&quot;)\\n  .expiryMonth(\\&quot;03\\&quot;)\\n  .expiryYear(\\&quot;2030\\&quot;)\\n  .type(CardDetails.TypeEnum.SCHEME);\\n\\nPaymentRequest paymentRequest = new PaymentRequest()\\n  .surcharge(surcharge)\\n  .reference(\\&quot;YOUR_ORDER_NUMBER\\&quot;)\\n  .amount(amount)\\n  .splits(Arrays.asList(split1, split2, split3, split4))\\n  .merchantAccount(\\&quot;YOUR_MERCHANT_ACCOUNT\\&quot;)\\n  .paymentMethod(new CheckoutPaymentMethod(cardDetails))\\n  .returnUrl(\\&quot;https:\\\/\\\/your-company.example.com\\\/...\\&quot;);\\n\\n\\\/\\\/ Send the request\\nPaymentsApi service = new PaymentsApi(client);\\nPaymentResponse response = service.payments(paymentRequest, 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.3.0\\nuse Adyen\\\\Client;\\nuse Adyen\\\\Environment;\\nuse Adyen\\\\Model\\\\Checkout\\\\Surcharge;\\nuse Adyen\\\\Model\\\\Checkout\\\\Amount;\\nuse Adyen\\\\Model\\\\Checkout\\\\Split;\\nuse Adyen\\\\Model\\\\Checkout\\\\CheckoutPaymentMethod;\\nuse Adyen\\\\Model\\\\Checkout\\\\SplitAmount;\\nuse Adyen\\\\Model\\\\Checkout\\\\PaymentRequest;\\nuse Adyen\\\\Service\\\\Checkout\\\\PaymentsApi;\\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$splitAmount1 = new SplitAmount();\\n$splitAmount1\\n  -&gt;setValue(39400);\\n\\n$splitAmount2 = new SplitAmount();\\n$splitAmount2\\n  -&gt;setValue(400);\\n\\n$splitAmount3 = new SplitAmount();\\n$splitAmount3\\n  -&gt;setValue(200);\\n\\n$surcharge = new Surcharge();\\n$surcharge\\n  -&gt;setValue(200);\\n\\n$amount = new Amount();\\n$amount\\n  -&gt;setCurrency(\\&quot;EUR\\&quot;)\\n  -&gt;setValue(40000);\\n\\n$split1 = new Split();\\n$split1\\n  -&gt;setReference(\\&quot;Your reference for the payment\\&quot;)\\n  -&gt;setAmount($splitAmount1)\\n  -&gt;setDescription(\\&quot;Your description for the payment\\&quot;)\\n  -&gt;setType(\\&quot;BalanceAccount\\&quot;)\\n  -&gt;setAccount(\\&quot;BA00000000000000000000001\\&quot;);\\n\\n$split2 = new Split();\\n$split2\\n  -&gt;setReference(\\&quot;Your reference for the commission\\&quot;)\\n  -&gt;setAmount($splitAmount2)\\n  -&gt;setDescription(\\&quot;Your description for the commission\\&quot;)\\n  -&gt;setType(\\&quot;Commission\\&quot;);\\n\\n$split3 = new Split();\\n$split3\\n  -&gt;setReference(\\&quot;Your reference for the surcharge\\&quot;)\\n  -&gt;setAmount($splitAmount3)\\n  -&gt;setDescription(\\&quot;Your description for the surcharge\\&quot;)\\n  -&gt;setType(\\&quot;Surcharge\\&quot;)\\n  -&gt;setAccount(\\&quot;BA00000000000000000000001\\&quot;);\\n\\n$split4 = new Split();\\n$split4\\n  -&gt;setReference(\\&quot;Your reference for the transaction fees\\&quot;)\\n  -&gt;setDescription(\\&quot;Your description for the transaction fees\\&quot;)\\n  -&gt;setType(\\&quot;PaymentFee\\&quot;)\\n  -&gt;setAccount(\\&quot;BA00000000000000000000001\\&quot;);\\n\\n$checkoutPaymentMethod = new CheckoutPaymentMethod();\\n$checkoutPaymentMethod\\n  -&gt;setNumber(\\&quot;4111111111111111\\&quot;)\\n  -&gt;setCvc(\\&quot;737\\&quot;)\\n  -&gt;setHolderName(\\&quot;John Smith\\&quot;)\\n  -&gt;setExpiryMonth(\\&quot;03\\&quot;)\\n  -&gt;setExpiryYear(\\&quot;2030\\&quot;)\\n  -&gt;setType(\\&quot;scheme\\&quot;);\\n\\n$paymentRequest = new PaymentRequest();\\n$paymentRequest\\n  -&gt;setSurcharge($surcharge)\\n  -&gt;setReference(\\&quot;YOUR_ORDER_NUMBER\\&quot;)\\n  -&gt;setAmount($amount)\\n  -&gt;setSplits(array($split1, $split2, $split3, $split4))\\n  -&gt;setMerchantAccount(\\&quot;YOUR_MERCHANT_ACCOUNT\\&quot;)\\n  -&gt;setPaymentMethod($checkoutPaymentMethod)\\n  -&gt;setReturnUrl(\\&quot;https:\\\/\\\/your-company.example.com\\\/...\\&quot;);\\n\\n$requestOptions['idempotencyKey'] = 'UUID';\\n\\n\\\/\\\/ Send the request\\n$service = new PaymentsApi($client);\\n$response = $service-&gt;payments($paymentRequest, $requestOptions);&quot;},{&quot;language&quot;:&quot;cs&quot;,&quot;tabTitle&quot;:&quot;C#&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen .NET API Library v32.2.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)\\nSplitAmount splitAmount1 = new SplitAmount\\n{\\n  Value = 39400\\n};\\n\\nSplitAmount splitAmount2 = new SplitAmount\\n{\\n  Value = 400\\n};\\n\\nSplitAmount splitAmount3 = new SplitAmount\\n{\\n  Value = 200\\n};\\n\\nSurcharge surcharge = new Surcharge\\n{\\n  Value = 200\\n};\\n\\nAmount amount = new Amount\\n{\\n  Currency = \\&quot;EUR\\&quot;,\\n  Value = 40000\\n};\\n\\nSplit split1 = new Split\\n{\\n  Reference = \\&quot;Your reference for the payment\\&quot;,\\n  Amount = splitAmount1,\\n  Description = \\&quot;Your description for the payment\\&quot;,\\n  Type = Split.TypeEnum.BalanceAccount,\\n  Account = \\&quot;BA00000000000000000000001\\&quot;\\n};\\n\\nSplit split2 = new Split\\n{\\n  Reference = \\&quot;Your reference for the commission\\&quot;,\\n  Amount = splitAmount2,\\n  Description = \\&quot;Your description for the commission\\&quot;,\\n  Type = Split.TypeEnum.Commission\\n};\\n\\nSplit split3 = new Split\\n{\\n  Reference = \\&quot;Your reference for the surcharge\\&quot;,\\n  Amount = splitAmount3,\\n  Description = \\&quot;Your description for the surcharge\\&quot;,\\n  Type = Split.TypeEnum.Surcharge,\\n  Account = \\&quot;BA00000000000000000000001\\&quot;\\n};\\n\\nSplit split4 = new Split\\n{\\n  Reference = \\&quot;Your reference for the transaction fees\\&quot;,\\n  Description = \\&quot;Your description for the transaction fees\\&quot;,\\n  Type = Split.TypeEnum.PaymentFee,\\n  Account = \\&quot;BA00000000000000000000001\\&quot;\\n};\\n\\nCardDetails cardDetails = new CardDetails\\n{\\n  Number = \\&quot;4111111111111111\\&quot;,\\n  Cvc = \\&quot;737\\&quot;,\\n  HolderName = \\&quot;John Smith\\&quot;,\\n  ExpiryMonth = \\&quot;03\\&quot;,\\n  ExpiryYear = \\&quot;2030\\&quot;,\\n  Type = CardDetails.TypeEnum.Scheme\\n};\\n\\nPaymentRequest paymentRequest = new PaymentRequest\\n{\\n  Surcharge = surcharge,\\n  Reference = \\&quot;YOUR_ORDER_NUMBER\\&quot;,\\n  Amount = amount,\\n  Splits = new List&lt;Split&gt;{ split1, split2, split3, split4 },\\n  MerchantAccount = \\&quot;YOUR_MERCHANT_ACCOUNT\\&quot;,\\n  PaymentMethod = new CheckoutPaymentMethod(cardDetails),\\n  ReturnUrl = \\&quot;https:\\\/\\\/your-company.example.com\\\/...\\&quot;\\n};\\n\\n\\\/\\\/ Send the request\\nvar service = new PaymentsService(client);\\nvar response = service.Payments(paymentRequest, 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.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 paymentRequest = {\\n  paymentMethod: {\\n    type: \\&quot;scheme\\&quot;,\\n    number: \\&quot;4111111111111111\\&quot;,\\n    cvc: \\&quot;737\\&quot;,\\n    expiryMonth: \\&quot;03\\&quot;,\\n    expiryYear: \\&quot;2030\\&quot;,\\n    holderName: \\&quot;John Smith\\&quot;\\n  },\\n  amount: {\\n    value: 40000,\\n    currency: \\&quot;EUR\\&quot;\\n  },\\n  surcharge: {\\n    value: 200\\n  },\\n  reference: \\&quot;YOUR_ORDER_NUMBER\\&quot;,\\n  merchantAccount: \\&quot;YOUR_MERCHANT_ACCOUNT\\&quot;,\\n  returnUrl: \\&quot;https:\\\/\\\/your-company.example.com\\\/...\\&quot;,\\n  splits: [ {\\n    amount: {\\n      value: 39400\\n    },\\n    type: \\&quot;BalanceAccount\\&quot;,\\n    account: \\&quot;BA00000000000000000000001\\&quot;,\\n    reference: \\&quot;Your reference for the payment\\&quot;,\\n    description: \\&quot;Your description for the payment\\&quot;\\n  }, {\\n    amount: {\\n      value: 400\\n    },\\n    type: \\&quot;Commission\\&quot;,\\n    reference: \\&quot;Your reference for the commission\\&quot;,\\n    description: \\&quot;Your description for the commission\\&quot;\\n  }, {\\n    amount: {\\n      value: 200\\n    },\\n    type: \\&quot;Surcharge\\&quot;,\\n    account: \\&quot;BA00000000000000000000001\\&quot;,\\n    reference: \\&quot;Your reference for the surcharge\\&quot;,\\n    description: \\&quot;Your description for the surcharge\\&quot;\\n  }, {\\n    type: \\&quot;PaymentFee\\&quot;,\\n    account: \\&quot;BA00000000000000000000001\\&quot;,\\n    reference: \\&quot;Your reference for the transaction fees\\&quot;,\\n    description: \\&quot;Your description for the transaction fees\\&quot;\\n  } ]\\n}\\n\\n\\\/\\\/ Send the request\\nconst checkoutAPI = new CheckoutAPI(client);\\nconst response = checkoutAPI.PaymentsApi.payments(paymentRequest, { 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.1.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)\\nsplitAmount1 := checkout.SplitAmount{\\n  Value: 39400,\\n}\\n\\nsplitAmount2 := checkout.SplitAmount{\\n  Value: 400,\\n}\\n\\nsplitAmount3 := checkout.SplitAmount{\\n  Value: 200,\\n}\\n\\nsurcharge := checkout.Surcharge{\\n  Value: 200,\\n}\\n\\namount := checkout.Amount{\\n  Currency: \\&quot;EUR\\&quot;,\\n  Value: 40000,\\n}\\n\\nsplit1 := checkout.Split{\\n  Reference: common.PtrString(\\&quot;Your reference for the payment\\&quot;),\\n  Amount: &amp;splitAmount1,\\n  Description: common.PtrString(\\&quot;Your description for the payment\\&quot;),\\n  Type: \\&quot;BalanceAccount\\&quot;,\\n  Account: common.PtrString(\\&quot;BA00000000000000000000001\\&quot;),\\n}\\n\\nsplit2 := checkout.Split{\\n  Reference: common.PtrString(\\&quot;Your reference for the commission\\&quot;),\\n  Amount: &amp;splitAmount2,\\n  Description: common.PtrString(\\&quot;Your description for the commission\\&quot;),\\n  Type: \\&quot;Commission\\&quot;,\\n}\\n\\nsplit3 := checkout.Split{\\n  Reference: common.PtrString(\\&quot;Your reference for the surcharge\\&quot;),\\n  Amount: &amp;splitAmount3,\\n  Description: common.PtrString(\\&quot;Your description for the surcharge\\&quot;),\\n  Type: \\&quot;Surcharge\\&quot;,\\n  Account: common.PtrString(\\&quot;BA00000000000000000000001\\&quot;),\\n}\\n\\nsplit4 := checkout.Split{\\n  Reference: common.PtrString(\\&quot;Your reference for the transaction fees\\&quot;),\\n  Description: common.PtrString(\\&quot;Your description for the transaction fees\\&quot;),\\n  Type: \\&quot;PaymentFee\\&quot;,\\n  Account: common.PtrString(\\&quot;BA00000000000000000000001\\&quot;),\\n}\\n\\ncardDetails := checkout.CardDetails{\\n  Number: common.PtrString(\\&quot;4111111111111111\\&quot;),\\n  Cvc: common.PtrString(\\&quot;737\\&quot;),\\n  HolderName: common.PtrString(\\&quot;John Smith\\&quot;),\\n  ExpiryMonth: common.PtrString(\\&quot;03\\&quot;),\\n  ExpiryYear: common.PtrString(\\&quot;2030\\&quot;),\\n  Type: common.PtrString(\\&quot;scheme\\&quot;),\\n}\\n\\npaymentRequest := checkout.PaymentRequest{\\n  Surcharge: &amp;surcharge,\\n  Reference: \\&quot;YOUR_ORDER_NUMBER\\&quot;,\\n  Amount: amount,\\n  Splits: []checkout.Split{\\n      split1, split2, split3, split4,\\n  },\\n  MerchantAccount: \\&quot;YOUR_MERCHANT_ACCOUNT\\&quot;,\\n  PaymentMethod: checkout.CardDetailsAsCheckoutPaymentMethod(&amp;cardDetails),\\n  ReturnUrl: \\&quot;https:\\\/\\\/your-company.example.com\\\/...\\&quot;,\\n}\\n\\n\\\/\\\/ Send the request\\nservice := client.Checkout()\\nreq := service.PaymentsApi.PaymentsInput().IdempotencyKey(\\&quot;UUID\\&quot;).PaymentRequest(paymentRequest)\\nres, httpRes, err := service.PaymentsApi.Payments(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;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;value\\&quot;: 40000,\\n    \\&quot;currency\\&quot;: \\&quot;EUR\\&quot;\\n  },\\n  \\&quot;surcharge\\&quot;: {\\n    \\&quot;value\\&quot;: 200\\n  },\\n  \\&quot;reference\\&quot;: \\&quot;YOUR_ORDER_NUMBER\\&quot;,\\n  \\&quot;merchantAccount\\&quot;: \\&quot;YOUR_MERCHANT_ACCOUNT\\&quot;,\\n  \\&quot;returnUrl\\&quot;: \\&quot;https:\\\/\\\/your-company.example.com\\\/...\\&quot;,\\n  \\&quot;splits\\&quot;: [ {\\n    \\&quot;amount\\&quot;: {\\n      \\&quot;value\\&quot;: 39400\\n    },\\n    \\&quot;type\\&quot;: \\&quot;BalanceAccount\\&quot;,\\n    \\&quot;account\\&quot;: \\&quot;BA00000000000000000000001\\&quot;,\\n    \\&quot;reference\\&quot;: \\&quot;Your reference for the payment\\&quot;,\\n    \\&quot;description\\&quot;: \\&quot;Your description for the payment\\&quot;\\n  }, {\\n    \\&quot;amount\\&quot;: {\\n      \\&quot;value\\&quot;: 400\\n    },\\n    \\&quot;type\\&quot;: \\&quot;Commission\\&quot;,\\n    \\&quot;reference\\&quot;: \\&quot;Your reference for the commission\\&quot;,\\n    \\&quot;description\\&quot;: \\&quot;Your description for the commission\\&quot;\\n  }, {\\n    \\&quot;amount\\&quot;: {\\n      \\&quot;value\\&quot;: 200\\n    },\\n    \\&quot;type\\&quot;: \\&quot;Surcharge\\&quot;,\\n    \\&quot;account\\&quot;: \\&quot;BA00000000000000000000001\\&quot;,\\n    \\&quot;reference\\&quot;: \\&quot;Your reference for the surcharge\\&quot;,\\n    \\&quot;description\\&quot;: \\&quot;Your description for the surcharge\\&quot;\\n  }, {\\n    \\&quot;type\\&quot;: \\&quot;PaymentFee\\&quot;,\\n    \\&quot;account\\&quot;: \\&quot;BA00000000000000000000001\\&quot;,\\n    \\&quot;reference\\&quot;: \\&quot;Your reference for the transaction fees\\&quot;,\\n    \\&quot;description\\&quot;: \\&quot;Your description for the transaction fees\\&quot;\\n  } ]\\n}\\n\\n# Send the request\\nresult = adyen.checkout.payments_api.payments(request=json_request, 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.0.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  :paymentMethod =&gt; {\\n    :type =&gt; 'scheme',\\n    :number =&gt; '4111111111111111',\\n    :cvc =&gt; '737',\\n    :expiryMonth =&gt; '03',\\n    :expiryYear =&gt; '2030',\\n    :holderName =&gt; 'John Smith'\\n  },\\n  :amount =&gt; {\\n    :value =&gt; 40000,\\n    :currency =&gt; 'EUR'\\n  },\\n  :surcharge =&gt; {\\n    :value =&gt; 200\\n  },\\n  :reference =&gt; 'YOUR_ORDER_NUMBER',\\n  :merchantAccount =&gt; 'YOUR_MERCHANT_ACCOUNT',\\n  :returnUrl =&gt; 'https:\\\/\\\/your-company.example.com\\\/...',\\n  :splits =&gt; [ {\\n    :amount =&gt; {\\n      :value =&gt; 39400\\n    },\\n    :type =&gt; 'BalanceAccount',\\n    :account =&gt; 'BA00000000000000000000001',\\n    :reference =&gt; 'Your reference for the payment',\\n    :description =&gt; 'Your description for the payment'\\n  }, {\\n    :amount =&gt; {\\n      :value =&gt; 400\\n    },\\n    :type =&gt; 'Commission',\\n    :reference =&gt; 'Your reference for the commission',\\n    :description =&gt; 'Your description for the commission'\\n  }, {\\n    :amount =&gt; {\\n      :value =&gt; 200\\n    },\\n    :type =&gt; 'Surcharge',\\n    :account =&gt; 'BA00000000000000000000001',\\n    :reference =&gt; 'Your reference for the surcharge',\\n    :description =&gt; 'Your description for the surcharge'\\n  }, {\\n    :type =&gt; 'PaymentFee',\\n    :account =&gt; 'BA00000000000000000000001',\\n    :reference =&gt; 'Your reference for the transaction fees',\\n    :description =&gt; 'Your description for the transaction fees'\\n  } ]\\n}\\n\\n# Send the request\\nresult = adyen.checkout.payments_api.payments(request_body, 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.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)\\nconst splitAmount1: Types.checkout.SplitAmount = {\\n  value: 39400\\n};\\n\\nconst splitAmount2: Types.checkout.SplitAmount = {\\n  value: 400\\n};\\n\\nconst splitAmount3: Types.checkout.SplitAmount = {\\n  value: 200\\n};\\n\\nconst surcharge: Types.checkout.Surcharge = {\\n  value: 200\\n};\\n\\nconst amount: Types.checkout.Amount = {\\n  currency: \\&quot;EUR\\&quot;,\\n  value: 40000\\n};\\n\\nconst split1: Types.checkout.Split = {\\n  reference: \\&quot;Your reference for the payment\\&quot;,\\n  amount: splitAmount1,\\n  description: \\&quot;Your description for the payment\\&quot;,\\n  type: Types.checkout.Split.TypeEnum.BalanceAccount,\\n  account: \\&quot;BA00000000000000000000001\\&quot;\\n};\\n\\nconst split2: Types.checkout.Split = {\\n  reference: \\&quot;Your reference for the commission\\&quot;,\\n  amount: splitAmount2,\\n  description: \\&quot;Your description for the commission\\&quot;,\\n  type: Types.checkout.Split.TypeEnum.Commission\\n};\\n\\nconst split3: Types.checkout.Split = {\\n  reference: \\&quot;Your reference for the surcharge\\&quot;,\\n  amount: splitAmount3,\\n  description: \\&quot;Your description for the surcharge\\&quot;,\\n  type: Types.checkout.Split.TypeEnum.Surcharge,\\n  account: \\&quot;BA00000000000000000000001\\&quot;\\n};\\n\\nconst split4: Types.checkout.Split = {\\n  reference: \\&quot;Your reference for the transaction fees\\&quot;,\\n  description: \\&quot;Your description for the transaction fees\\&quot;,\\n  type: Types.checkout.Split.TypeEnum.PaymentFee,\\n  account: \\&quot;BA00000000000000000000001\\&quot;\\n};\\n\\nconst cardDetails: Types.checkout.CardDetails = {\\n  number: \\&quot;4111111111111111\\&quot;,\\n  cvc: \\&quot;737\\&quot;,\\n  holderName: \\&quot;John Smith\\&quot;,\\n  expiryMonth: \\&quot;03\\&quot;,\\n  expiryYear: \\&quot;2030\\&quot;,\\n  type: Types.checkout.CardDetails.TypeEnum.Scheme\\n};\\n\\nconst paymentRequest: Types.checkout.PaymentRequest = {\\n  surcharge: surcharge,\\n  reference: \\&quot;YOUR_ORDER_NUMBER\\&quot;,\\n  amount: amount,\\n  splits: [split1, split2, split3, split4],\\n  merchantAccount: \\&quot;YOUR_MERCHANT_ACCOUNT\\&quot;,\\n  paymentMethod: cardDetails,\\n  returnUrl: \\&quot;https:\\\/\\\/your-company.example.com\\\/...\\&quot;\\n};\\n\\n\\\/\\\/ Send the request\\nconst checkoutAPI = new CheckoutAPI(client);\\nconst response = checkoutAPI.PaymentsApi.payments(paymentRequest, { idempotencyKey: \\&quot;UUID\\&quot; });&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<p>In the response, note that your <code>reference<\/code> from the request is returned as the <code>merchantReference<\/code>. You need this information for reconciliation.<\/p>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Response'\" :id=\"'response-split-at-payment'\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n    \\\"additionalData\\\": {...},\\n    \\\"pspReference\\\": \\\"HGGKZCD6J3RZNN82\\\",\\n    \\\"resultCode\\\": \\\"Authorised\\\",\\n    \\\"amount\\\": {\\n        \\\"currency\\\": \\\"EUR\\\",\\n        \\\"value\\\": 40000\\n    },\\n    ...\\n    \\\"merchantReference\\\": \\\"YOUR_ORDER_NUMBER\\\",\\n    \\\"paymentMethod\\\": {\\n        \\\"brand\\\": \\\"visa\\\",\\n        \\\"type\\\": \\\"scheme\\\"\\n    }\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<h2>Track fund movements<\/h2>\n<p>To track the status of the fund transfers initiated by a surcharge:<\/p>\n<ol>\n<li>Listen to the following webhooks:\n<ul>\n<li> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/transfer-webhooks\/latest\/overview\" class=\" external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Transfer webhooks<\/a>: Adyen sends a  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/transfer-webhooks\/latest\/post\/balancePlatform.transfer.created\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">balancePlatform.transfer.created<\/a> webhook to inform your server that funds will be credited to balance accounts, and  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/transfer-webhooks\/latest\/post\/balancePlatform.transfer.updated\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">balancePlatform.transfer.updated<\/a> webhooks after every status change.<\/li>\n<li> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/transaction-webhooks\/latest\/overview\" class=\" external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Transaction webhooks<\/a>: Adyen sends a  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/transaction-webhooks\/latest\/post\/balancePlatform.transaction.created\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">balancePlatform.transaction.created<\/a> webhook to inform your server that funds have been credited to a balance account.<\/li>\n<\/ul><\/li>\n<li>Acknowledge the webhooks. We send these webhooks for every split item in the payment.<\/li>\n<li>In the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/transfer-webhooks\/latest\/post\/balancePlatform.transfer.updated\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">balancePlatform.transfer.updated<\/a> webhook payload, note that the <code>event<\/code> array includes all previous transfer events, and the <code>sequenceNumber<\/code> defines the number of webhooks sent for the transfer, including the current one.<\/li>\n<\/ol>\n<h3>Webhook examples<\/h3>\n<p>The following examples show the webhooks you receive for a surcharge. We send webhooks for each balance account involved in the payment, and each split of the payment amount, including the surcharge.<\/p>\n<p>You can identify surcharge-related transfer webhooks by the following values:<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Parameter<\/th>\n<th style=\"text-align: left;\">Description<\/th>\n<th style=\"text-align: left;\">Value<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/transfer-webhooks\/latest\/post\/balancePlatform.transfer.created#request-data-category\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">category<\/a><\/td>\n<td style=\"text-align: left;\">Specifies the category of the transfer.<\/td>\n<td style=\"text-align: left;\"><strong>platformPayment<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/transfer-webhooks\/latest\/post\/balancePlatform.transfer.created#request-data-direction\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">direction<\/a><\/td>\n<td style=\"text-align: left;\">The direction of the transfer based on the balance account.<\/td>\n<td style=\"text-align: left;\"><strong>incoming<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/transfer-webhooks\/latest\/post\/balancePlatform.transfer.created#request-data-type\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">type<\/a><\/td>\n<td style=\"text-align: left;\">Specifies the type of the transfer.<\/td>\n<td style=\"text-align: left;\"><strong>payment<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/transfer-webhooks\/latest\/post\/balancePlatform.transfer.created#request-data-categoryData-PlatformPayment-platformPaymentType\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">platformPaymentType<\/a><\/td>\n<td style=\"text-align: left;\">Specifies the nature of each transfer on the balance platform. This parameter helps categorize transfers so you can reconcile transactions at a later time using the <a href=\"\/pt\/marketplaces\/reports-and-fees\/balance-platform-accounting-report\/\">Balance Platform Accounting Report<\/a>.<\/td>\n<td style=\"text-align: left;\"><strong>Surcharge<\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n    <div class=\"faqs\">\n        <div class=\"adl-accordion adl-accordion--max-height-transition\" style=\"margin-bottom:24px\">\n                                                            <div class=\"adl-accordion__item\">\n                    <div tabindex=\"1\" role=\"question\" aria-expanded=\"true\" class=\"adl-accordion__header\" data-accordion=\"#1-incoming-transfer-received\">\n                        <i class=\"adl-accordion__toggle adl-icon-chevron-down\"><\/i>\n                        <div class=\"adl-accordion__title-wrapper\">\n                            <h3 class=\"adl-accordion__title no-anchor\">\n                                1. Incoming transfer received <div class=\"faq-link-icon adl-icon adl-icon-chain\"><\/div>\n                            <\/h3>\n                                                    <\/div>\n                    <\/div>\n                    <div role=\"answer\" class=\"adl-accordion__content\">\n                        <p>When a transfer request is received to credit funds for the surcharge to your user's balance account, Adyen sends a  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/transfer-webhooks\/latest\/post\/balancePlatform.transfer.created\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">balancePlatform.transfer.created<\/a> webhook with <code>status<\/code> <strong>received<\/strong> and <code>direction<\/code> <strong>incoming<\/strong>. The webhook provides information about the transfer, such as the payment and split references and which user and balance account is credited with the funds.<\/p>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Transfer received'\" :id=\"'received-ba1'\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n    \\\"data\\\": {\\n        \\\"accountHolder\\\": {\\n            \\\"description\\\": \\\"Your description for the account holder\\\",\\n            \\\"id\\\": \\\"AH00000000000000000000001\\\",\\n            \\\"reference\\\": \\\"Your reference for the account holder\\\"\\n        },\\n        \\\"amount\\\": {\\n            \\\"currency\\\": \\\"EUR\\\",\\n            \\\"value\\\": 200\\n        },\\n        \\\"balanceAccount\\\": {\\n            \\\"description\\\": \\\"Your description for the balance account\\\",\\n            \\\"id\\\": \\\"BA00000000000000000000001\\\",\\n            \\\"reference\\\": \\\"Your reference for the balance account\\\"\\n        },\\n        \\\"balancePlatform\\\": \\\"YOUR_BALANCE_PLATFORM\\\",\\n        \\\"balances\\\": [\\n            {\\n                \\\"currency\\\": \\\"EUR\\\",\\n                \\\"received\\\": 200\\n            }\\n        ],\\n        \\\"category\\\": \\\"platformPayment\\\",\\n        \\\"categoryData\\\": {\\n            \\\"modificationMerchantReference\\\": \\\"MRef#000001\\\",\\n            \\\"modificationPspReference\\\": \\\"PPKFQ89R6QRXGN82\\\",\\n            \\\"paymentMerchantReference\\\": \\\"Payment reference\\\",\\n            \\\"platformPaymentType\\\": \\\"Surcharge\\\",\\n            \\\"pspPaymentReference\\\": \\\"CWBC43ZX2VTFWR82\\\",\\n            \\\"type\\\": \\\"platformPayment\\\"\\n        },\\n        \\\"creationDate\\\": \\\"2025-10-20T13:30:05+02:00\\\",\\n        \\\"description\\\": \\\"Your description for the surcharge\\\",\\n        \\\"direction\\\": \\\"incoming\\\",\\n        \\\"events\\\": [\\n            {\\n                \\\"bookingDate\\\": \\\"2025-10-20T13:30:18+02:00\\\",\\n                \\\"id\\\": \\\"SKRL00000000000000000000000001\\\",\\n                \\\"mutations\\\": [\\n                    {\\n                        \\\"currency\\\": \\\"EUR\\\",\\n                        \\\"received\\\": 200\\n                    }\\n                ],\\n                \\\"status\\\": \\\"received\\\",\\n                \\\"type\\\": \\\"accounting\\\"\\n            }\\n        ],\\n        \\\"id\\\": \\\"JN4227222422265\\\",\\n        \\\"reason\\\": \\\"approved\\\",\\n        \\\"reference\\\": \\\"Your reference for the surcharge\\\",\\n        \\\"sequenceNumber\\\": 1,\\n        \\\"status\\\": \\\"received\\\",\\n        \\\"type\\\": \\\"payment\\\"\\n    },\\n    \\\"environment\\\": \\\"test\\\",\\n    \\\"type\\\": \\\"balancePlatform.transfer.created\\\"\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n                    <\/div>\n                <\/div>\n                                                            <div class=\"adl-accordion__item\">\n                    <div tabindex=\"2\" role=\"question\" aria-expanded=\"true\" class=\"adl-accordion__header\" data-accordion=\"#2-incoming-transfer-authorized\">\n                        <i class=\"adl-accordion__toggle adl-icon-chevron-down\"><\/i>\n                        <div class=\"adl-accordion__title-wrapper\">\n                            <h3 class=\"adl-accordion__title no-anchor\">\n                                2. Incoming transfer authorized <div class=\"faq-link-icon adl-icon adl-icon-chain\"><\/div>\n                            <\/h3>\n                                                    <\/div>\n                    <\/div>\n                    <div role=\"answer\" class=\"adl-accordion__content\">\n                        <p>When the transfer request is authorized, Adyen sends a  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/transfer-webhooks\/latest\/post\/balancePlatform.transfer.updated\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">balancePlatform.transfer.updated<\/a> webhook with <code>status<\/code> <strong>authorised<\/strong>.<\/p>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Transfer authorized'\" :id=\"'authorised-ba1'\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n    \\\"data\\\": {\\n        \\\"accountHolder\\\": {\\n            \\\"description\\\": \\\"Your description for the account holder\\\",\\n            \\\"id\\\": \\\"AH00000000000000000000001\\\",\\n            \\\"reference\\\": \\\"Your reference for the account holder\\\"\\n        },\\n        \\\"amount\\\": {\\n            \\\"currency\\\": \\\"EUR\\\",\\n            \\\"value\\\": 200\\n        },\\n        \\\"balanceAccount\\\": {\\n            \\\"description\\\": \\\"Your description for the balance account\\\",\\n            \\\"id\\\": \\\"BA00000000000000000000001\\\",\\n            \\\"reference\\\": \\\"Your reference for the balance account\\\"\\n        },\\n        \\\"balancePlatform\\\": \\\"YOUR_BALANCE_PLATFORM\\\",\\n        \\\"balances\\\": [\\n            {\\n                \\\"currency\\\": \\\"EUR\\\",\\n                \\\"received\\\": 0,\\n                \\\"reserved\\\": 200\\n            }\\n        ],\\n        \\\"category\\\": \\\"platformPayment\\\",\\n        \\\"categoryData\\\": {\\n            \\\"modificationMerchantReference\\\": \\\"MRef#000001\\\",\\n            \\\"modificationPspReference\\\": \\\"PPKFQ89R6QRXGN82\\\",\\n            \\\"paymentMerchantReference\\\": \\\"Payment reference\\\",\\n            \\\"platformPaymentType\\\": \\\"Surcharge\\\",\\n            \\\"pspPaymentReference\\\": \\\"CWBC43ZX2VTFWR82\\\",\\n            \\\"type\\\": \\\"platformPayment\\\"\\n        },\\n        \\\"creationDate\\\": \\\"2025-10-20T13:30:05+02:00\\\",\\n        \\\"description\\\": \\\"Your description for the surcharge\\\",\\n        \\\"direction\\\": \\\"incoming\\\",\\n        \\\"events\\\": [\\n            {\\n                \\\"bookingDate\\\": \\\"2025-10-20T13:30:18+02:00\\\",\\n                \\\"id\\\": \\\"SKRL00000000000000000000000001\\\",\\n                \\\"mutations\\\": [\\n                    {\\n                        \\\"currency\\\": \\\"EUR\\\",\\n                        \\\"received\\\": 200\\n                    }\\n                ],\\n                \\\"status\\\": \\\"received\\\",\\n                \\\"type\\\": \\\"accounting\\\"\\n            },\\n            {\\n                \\\"bookingDate\\\": \\\"2025-10-20T13:30:18+02:00\\\",\\n                \\\"id\\\": \\\"SKRL00000000000000000000000002\\\",\\n                \\\"mutations\\\": [\\n                    {\\n                        \\\"currency\\\": \\\"EUR\\\",\\n                        \\\"received\\\": -200,\\n                        \\\"reserved\\\": 200\\n                    }\\n                ],\\n                \\\"status\\\": \\\"authorised\\\",\\n                \\\"type\\\": \\\"accounting\\\"\\n            }\\n        ],\\n        \\\"id\\\": \\\"JN4227222422265\\\",\\n        \\\"reason\\\": \\\"approved\\\",\\n        \\\"reference\\\": \\\"Your reference for the surcharge\\\",\\n        \\\"sequenceNumber\\\": 2,\\n        \\\"status\\\": \\\"authorised\\\",\\n        \\\"type\\\": \\\"payment\\\"\\n    },\\n    \\\"environment\\\": \\\"test\\\",\\n    \\\"type\\\": \\\"balancePlatform.transfer.updated\\\"\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n                    <\/div>\n                <\/div>\n                                                            <div class=\"adl-accordion__item\">\n                    <div tabindex=\"3\" role=\"question\" aria-expanded=\"true\" class=\"adl-accordion__header\" data-accordion=\"#3-incoming-transfer-captured\">\n                        <i class=\"adl-accordion__toggle adl-icon-chevron-down\"><\/i>\n                        <div class=\"adl-accordion__title-wrapper\">\n                            <h3 class=\"adl-accordion__title no-anchor\">\n                                3. Incoming transfer captured <div class=\"faq-link-icon adl-icon adl-icon-chain\"><\/div>\n                            <\/h3>\n                                                    <\/div>\n                    <\/div>\n                    <div role=\"answer\" class=\"adl-accordion__content\">\n                        <p>When the funds are credited to your user's balance account, Adyen sends a  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/transfer-webhooks\/latest\/post\/balancePlatform.transfer.updated\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">balancePlatform.transfer.updated<\/a> webhook with <code>status<\/code> <strong>captured<\/strong> and the <code>transactionId<\/code>.<\/p>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Transfer captured'\" :id=\"'captured-ba1'\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n    \\\"data\\\": {\\n        \\\"accountHolder\\\": {\\n            \\\"description\\\": \\\"Your description for the account holder\\\",\\n            \\\"id\\\": \\\"AH00000000000000000000001\\\",\\n            \\\"reference\\\": \\\"Your reference for the account holder\\\"\\n        },\\n        \\\"amount\\\": {\\n            \\\"currency\\\": \\\"EUR\\\",\\n            \\\"value\\\": 200\\n        },\\n        \\\"balanceAccount\\\": {\\n            \\\"description\\\": \\\"Your description for the balance account\\\",\\n            \\\"id\\\": \\\"BA00000000000000000000001\\\",\\n            \\\"reference\\\": \\\"Your reference for the balance account\\\"\\n        },\\n        \\\"balancePlatform\\\": \\\"YOUR_BALANCE_PLATFORM\\\",\\n        \\\"balances\\\": [\\n            {\\n                \\\"balance\\\": 200,\\n                \\\"currency\\\": \\\"EUR\\\",\\n                \\\"received\\\": 0,\\n                \\\"reserved\\\": 0\\n            }\\n        ],\\n        \\\"category\\\": \\\"platformPayment\\\",\\n        \\\"categoryData\\\": {\\n            \\\"modificationMerchantReference\\\": \\\"MRef#000001\\\",\\n            \\\"modificationPspReference\\\": \\\"PPKFQ89R6QRXGN82\\\",\\n            \\\"paymentMerchantReference\\\": \\\"Payment reference\\\",\\n            \\\"platformPaymentType\\\": \\\"Surcharge\\\",\\n            \\\"pspPaymentReference\\\": \\\"CWBC43ZX2VTFWR82\\\",\\n            \\\"type\\\": \\\"platformPayment\\\"\\n        },\\n        \\\"creationDate\\\": \\\"2025-10-20T13:30:05+02:00\\\",\\n        \\\"description\\\": \\\"Your description for the surcharge\\\",\\n        \\\"direction\\\": \\\"incoming\\\",\\n        \\\"events\\\": [\\n            {\\n                \\\"bookingDate\\\": \\\"2025-10-20T13:30:18+02:00\\\",\\n                \\\"id\\\": \\\"SKRL00000000000000000000000001\\\",\\n                \\\"mutations\\\": [\\n                    {\\n                        \\\"currency\\\": \\\"EUR\\\",\\n                        \\\"received\\\": 200\\n                    }\\n                ],\\n                \\\"status\\\": \\\"received\\\",\\n                \\\"type\\\": \\\"accounting\\\"\\n            },\\n            {\\n                \\\"bookingDate\\\": \\\"2025-10-20T13:30:18+02:00\\\",\\n                \\\"id\\\": \\\"SKRL00000000000000000000000002\\\",\\n                \\\"mutations\\\": [\\n                    {\\n                        \\\"currency\\\": \\\"EUR\\\",\\n                        \\\"received\\\": -200,\\n                        \\\"reserved\\\": 200\\n                    }\\n                ],\\n                \\\"status\\\": \\\"authorised\\\",\\n                \\\"type\\\": \\\"accounting\\\"\\n            },\\n            {\\n                \\\"bookingDate\\\": \\\"2025-10-20T13:30:20+02:00\\\",\\n                \\\"id\\\": \\\"SKRL00000000000000000000000003\\\",\\n                \\\"mutations\\\": [\\n                    {\\n                        \\\"balance\\\": 200,\\n                        \\\"currency\\\": \\\"EUR\\\",\\n                        \\\"received\\\": 0,\\n                        \\\"reserved\\\": -200\\n                    }\\n                ],\\n                \\\"status\\\": \\\"captured\\\",\\n                \\\"transactionId\\\": \\\"EVJN42272224222B5JB8BRC84N686ZEUR\\\",\\n                \\\"type\\\": \\\"accounting\\\",\\n                \\\"valueDate\\\": \\\"2023-03-01T00:00:00+02:00\\\"\\n            }\\n        ],\\n        \\\"id\\\": \\\"JN4227222422265\\\",\\n        \\\"reason\\\": \\\"approved\\\",\\n        \\\"reference\\\": \\\"Your reference for the surcharge\\\",\\n        \\\"sequenceNumber\\\": 3,\\n        \\\"status\\\": \\\"captured\\\",\\n        \\\"type\\\": \\\"payment\\\"\\n    },\\n    \\\"environment\\\": \\\"test\\\",\\n    \\\"type\\\": \\\"balancePlatform.transfer.updated\\\"\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n                    <\/div>\n                <\/div>\n                                                            <div class=\"adl-accordion__item\">\n                    <div tabindex=\"4\" role=\"question\" aria-expanded=\"true\" class=\"adl-accordion__header\" data-accordion=\"#4-transaction-booked\">\n                        <i class=\"adl-accordion__toggle adl-icon-chevron-down\"><\/i>\n                        <div class=\"adl-accordion__title-wrapper\">\n                            <h3 class=\"adl-accordion__title no-anchor\">\n                                4. Transaction booked <div class=\"faq-link-icon adl-icon adl-icon-chain\"><\/div>\n                            <\/h3>\n                                                    <\/div>\n                    <\/div>\n                    <div role=\"answer\" class=\"adl-accordion__content\">\n                        <p>When the funds are credited, Adyen also sends a  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/transaction-webhooks\/latest\/post\/balancePlatform.transaction.created\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">balancePlatform.transaction.created<\/a> webhook, which includes information about the related transaction.<\/p>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Transaction created'\" :id=\"'booked-transaction-ba1'\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n    \\\"data\\\": {\\n        \\\"id\\\": \\\"EVJN42272224222B5JB8BRC84N686ZEUR\\\",\\n        \\\"amount\\\": {\\n            \\\"value\\\": 200,\\n            \\\"currency\\\": \\\"EUR\\\"\\n        },\\n        \\\"status\\\": \\\"booked\\\",\\n        \\\"transfer\\\": {\\n            \\\"id\\\": \\\"JN4227222422265\\\",\\n            \\\"categoryData\\\": {\\n                \\\"modificationMerchantReference\\\": \\\"MRef#000001\\\",\\n                \\\"modificationPspReference\\\": \\\"PPKFQ89R6QRXGN82\\\",\\n                \\\"paymentMerchantReference\\\": \\\"Payment reference\\\",\\n                \\\"platformPaymentType\\\": \\\"Surcharge\\\",\\n                \\\"pspPaymentReference\\\": \\\"CWBC43ZX2VTFWR82\\\",\\n                \\\"type\\\": \\\"platformPayment\\\"\\n            },\\n            \\\"reference\\\": \\\"Your reference for the surcharge\\\"\\n        },\\n        \\\"valueDate\\\": \\\"2023-03-01T00:00:00+02:00\\\",\\n        \\\"bookingDate\\\": \\\"2025-10-20T13:30:20+02:00\\\",\\n        \\\"creationDate\\\": \\\"2025-10-20T13:30:05+02:00\\\",\\n        \\\"accountHolder\\\": {\\n            \\\"id\\\": \\\"AH00000000000000000000001\\\",\\n            \\\"description\\\": \\\"Your description for the account holder\\\",\\n            \\\"reference\\\": \\\"Your reference for the account holder\\\"\\n        },\\n        \\\"balanceAccount\\\": {\\n            \\\"id\\\": \\\"BA00000000000000000000001\\\",\\n            \\\"description\\\": \\\"Your description for the balance account\\\",\\n            \\\"reference\\\": \\\"Your reference for the balance account\\\"\\n        },\\n        \\\"balancePlatform\\\": \\\"YOUR_BALANCE_PLATFORM\\\"\\n    },\\n    \\\"type\\\": \\\"balancePlatform.transaction.created\\\",\\n    \\\"environment\\\": \\\"test\\\"\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n                    <\/div>\n                <\/div>\n                    <\/div>\n    <\/div>\n\n<h2>Reports and reconciliation<\/h2>\n<p>To have full visibility of the surcharge amounts that were added to payments, we strongly recommend you <a href=\"\/pt\/reporting\/invoice-reconciliation\/payment-accounting-report\/#configure-report-columns\">add an extra column<\/a> <strong>Surcharge Amount<\/strong> to the following reports:<\/p>\n<ul>\n<li><a href=\"\/pt\/reporting\/invoice-reconciliation\/payment-accounting-report\">Payment Accounting Report<\/a> (PAR)<\/li>\n<li><a href=\"\/pt\/reporting\/settlement-reconciliation\/transaction-level\/settlement-details-report\">Settlement Detail Report<\/a> (SDR)<\/li>\n<\/ul>\n<p>If you specify the split type <strong>Surcharge<\/strong> in the payment request , a separate incoming transfer is generated for the surcharge amount. The following reports are affected:<\/p>\n<ul>\n<li>The <a href=\"\/pt\/platforms\/reports-and-fees\/balance-platform-accounting-report\">Balance Platform Accounting Report<\/a> (BPAR) contains extra lines with information related to surcharges.<\/li>\n<li>The <a href=\"\/pt\/platforms\/reports-and-fees\/statement-report\">Balance Platform Statement Report<\/a> (BPSR) contains extra lines showing the impact of the surcharges on the balance account.\n<\/li>\n<\/ul>\n<h2>See also<\/h2>\n<div class=\"see-also-links output-inline\" id=\"see-also\">\n<ul><li><a href=\"\/development-resources\/surcharge-compliance\"\n                        target=\"_self\"\n                        >\n                    Surcharge compliance guide\n                <\/a><\/li><\/ul><\/div>\n","url":"https:\/\/docs.adyen.com\/pt\/marketplaces\/surcharge","articleFields":{"description":"Enable your users to pass on payment acceptance fees to their customers as a surcharge to their payments.","feedback_component":true,"parameters":{"directoryPath":"\/marketplaces","model":"marketplace","channel":"online"},"filters_component":false},"algolia":{"url":"https:\/\/docs.adyen.com\/pt\/marketplaces\/surcharge","title":"Surcharge","content":"Payment brands, such as card schemes and debit network providers, charge a fee for accepting payments on their payment network, called a payment acceptance fee. As a marketplace, you must have agreements in place with your users about how the payment acceptance fee is charged for each payment. Your users can pass on these costs to their customers by adding a surcharge to their payments.\nSimilar to the other transaction fees, you can use split instructions to define how to book the surcharge. By default, the surcharge amount on a payment is booked to your liable balance account. However, you can book this amount directly to your user's balance account.\nRequirements\n\n\n\nRequirement\nDescription\n\n\n\n\nIntegration type\nMake sure that you have an Adyen for Platforms implementation with an API-only online payments integration that can accept card payments with either: Raw card dataEncrypted card data\n\n\nAPI credential roles\nYou need an API credential with an API key and the Checkout webservice role.\n\n\n\nWebhooks\nEnsure that your server can receive and accept standard webhooks.To track fund movements in your marketplace, you can subscribe to any of the following webhooks:  Transfer webhooks: Notifies you of all fund movements and transfer status changes. Transaction webhooks: Notifies you when funds are credited to or debited from a balance account.\n\n\n\nLimitations\nMake sure that you take into account the following: The surcharge feature is in pilot, and restrictions may apply. Reach out to your Adyen contact to be part of the pilot.Surcharges cannot be applied to authorization adjustments or overcaptures. The surcharge amount cannot be higher than the surcharge amount that was shown to the customer at the moment of purchase.\n\n\nSetup steps\nBefore you begin: Make sure you comply with the general and regional compliance requirements mentioned in our Surcharge compliance guide.We recommend consulting your own legal advisor on compliance with regulatory requirements, and reviewing the scheme rules for the latest information.\n\n\n\nCompliance\nSurcharges must comply with legal, regulatory, and card scheme requirements. For example, schemes require that you provide signage to inform customers about the payment methods that are subject to surcharges, and the related costs such as the surcharge percentage.\nSurcharging is also subject to specific local\/jurisdictional restrictions. For example, in the European Economic Area (EEA) surcharges are not allowed on payments made with a consumer card that was issued in the EEA. And in the US surcharges are not allowed on payments made with a debit card.\nThe Adyen surcharge feature does not include automated global compliance enforcement. You must validate your setup against the compliance considerations and local mandates. We strongly recommend you consult your own legal advisor on compliance with regulatory and legal implications and use the correct settings based on our Surcharge compliance guide.\nHow it works\nWhen your user's customer pays:\n\nYou collect the customer's card details on your checkout page.\nFrom your server, you make a  \/cardDetails request using the customer's card details, to get the information that helps to make a decision about the surcharge.\nThe logic you implemented decides if a surcharge is allowed and calculates the surcharge amount, using the data from the  \/cardDetails response.\nYou display the surcharge amount on your checkout page.\nWhen the customer proceeds to pay, you make a  \/payments request that includes the surcharge amount.\n\nGet card details\nUse the customer's raw or encrypted card number to make an API request that retrieves the details of the card that helps to determine whether you can apply surcharge to a payment.\n\n\nIn your payment form, collect the card number of the customer with either of the following:\n\nCustom payment form to collect raw card data\nCustom Card Component integration to collect encrypted card data\n\n\n\nFrom your server, make a  \/cardDetails request, including:\n\n    \n\n\n\nParameter\nRequired\nDescription\n\n\n\n\n cardNumber\n\nIf you accept card payments using raw card data, pass this field.  Minimum length: first eight digits of the card number. We recommend to pass the full card number for the best result.   You must be fully PCI compliant to collect raw card data. \n\n\n encryptedCardNumber\n\nIf you accept card payments using our Custom Card Component with encrypted card data, pass this field.  The encrypted card number you get in the state.data when the Component calls the onSubmit event.\n\n\n merchantAccount\n\nThe name of your merchant account.\n\n\n\n\n\n\n\n\n\n\n\nIn the response, note the following data to:\n\nDetermine whether a surcharge is applicable for a payment.\nCalculate the surcharge amount that you can apply.\n\n\n    \n\n\n\nResponse parameter\nDescription\n\n\n\n\n brands.type\nThe name of the card brand.\n\n\n fundingSource\nThe funding source of the card, for example, DEBIT, CREDIT, or PREPAID.\n\n\n isCardCommercial\nIndicates if this is a commercial card or a consumer card. When true, it is a commercial card. When false, it is a consumer card.\n\n\n issuingCountryCode\nThe two-letter country code of the country where the card was issued.\n\n\n\n\n\n\n\n\n\n\n\nUse the data from the response to build your logic that determines whether you can apply surcharge on a payment with this card, and calculate the surcharge amount. Refer to our Surcharge compliance guide when determining to which transactions you can apply a surcharge.\n\n\nMake a payment with a surcharge\nA surcharge is a type of transaction fee imposed by the card scheme, paid by your user's customer. Similar to the other transaction fees, you can use split instructions to define how to book the surcharge. You can book the surcharge amount either to your user's balance account, or to your liable balance account.\n\nMake a  \/payments request with your API only with raw card data integration, or with your API only with encrypted card data integration.\nIn your request include a  surcharge object, that specifies the value of the surcharge you apply to the transaction.\nCalculate the value you need to pass in the amount.value field in your  \/payments request by adding the surcharge amount to the original transaction amount.\nIn the  splits array, add a split item for the surcharge.\n\nFor the split item of the surcharge, specify the following fields:\n\n\n\nParameter\nRequired\nDescription\n\n\n\n\n account\n\nThe balanceAccountId of one of your user's balance accounts that will receive the surcharge amount.\n\n\n amount.currency\n\nThe currency of the part of the surcharge you want to book the specified account.\n\n\n amount.value\n\nThe value of the surcharge you want to book to the specified account.\n\n\n type\n\nDefines the part of the payment you want to book to the specified account.Set to Surcharge.\n\n\n reference\n\nYour reference for the surcharge, reflected in the Balance Platform Accounting Report. You need this for reconciliation purposes.\n\n\n description\n\nYour description for the surcharge, reflected in the Balance Platform Accounting Report.\n\n\n\n\n\nExample split payment with surcharge\nHere is an example of how you can split the payment and surcharge amount at the time of payment, when a customer pays EUR 400.00.\n\nEUR 394.00 are booked to your user's balance account as payment for the goods or services.\nEUR 2.00 are booked to your user's balance account as the surcharge.\nEUR 4.00 are booked to your liable balance account as your marketplace's commission.\nAll transaction fees are booked to your user's balance account, deducted from the sale amount.\n\n\n    \n\nIn the response, note that your reference from the request is returned as the merchantReference. You need this information for reconciliation.\n\n    \n\nTrack fund movements\nTo track the status of the fund transfers initiated by a surcharge:\n\nListen to the following webhooks:\n\n Transfer webhooks: Adyen sends a  balancePlatform.transfer.created webhook to inform your server that funds will be credited to balance accounts, and  balancePlatform.transfer.updated webhooks after every status change.\n Transaction webhooks: Adyen sends a  balancePlatform.transaction.created webhook to inform your server that funds have been credited to a balance account.\n\nAcknowledge the webhooks. We send these webhooks for every split item in the payment.\nIn the  balancePlatform.transfer.updated webhook payload, note that the event array includes all previous transfer events, and the sequenceNumber defines the number of webhooks sent for the transfer, including the current one.\n\nWebhook examples\nThe following examples show the webhooks you receive for a surcharge. We send webhooks for each balance account involved in the payment, and each split of the payment amount, including the surcharge.\nYou can identify surcharge-related transfer webhooks by the following values:\n\n\n\nParameter\nDescription\nValue\n\n\n\n\n category\nSpecifies the category of the transfer.\nplatformPayment\n\n\n direction\nThe direction of the transfer based on the balance account.\nincoming\n\n\n type\nSpecifies the type of the transfer.\npayment\n\n\n platformPaymentType\nSpecifies the nature of each transfer on the balance platform. This parameter helps categorize transfers so you can reconcile transactions at a later time using the Balance Platform Accounting Report.\nSurcharge\n\n\n\n    \n        \n                                                            \n                    \n                        \n                        \n                            \n                                1. Incoming transfer received \n                            \n                                                    \n                    \n                    \n                        When a transfer request is received to credit funds for the surcharge to your user's balance account, Adyen sends a  balancePlatform.transfer.created webhook with status received and direction incoming. The webhook provides information about the transfer, such as the payment and split references and which user and balance account is credited with the funds.\n\n    \n\n                    \n                \n                                                            \n                    \n                        \n                        \n                            \n                                2. Incoming transfer authorized \n                            \n                                                    \n                    \n                    \n                        When the transfer request is authorized, Adyen sends a  balancePlatform.transfer.updated webhook with status authorised.\n\n    \n\n                    \n                \n                                                            \n                    \n                        \n                        \n                            \n                                3. Incoming transfer captured \n                            \n                                                    \n                    \n                    \n                        When the funds are credited to your user's balance account, Adyen sends a  balancePlatform.transfer.updated webhook with status captured and the transactionId.\n\n    \n\n                    \n                \n                                                            \n                    \n                        \n                        \n                            \n                                4. Transaction booked \n                            \n                                                    \n                    \n                    \n                        When the funds are credited, Adyen also sends a  balancePlatform.transaction.created webhook, which includes information about the related transaction.\n\n    \n\n                    \n                \n                    \n    \n\nReports and reconciliation\nTo have full visibility of the surcharge amounts that were added to payments, we strongly recommend you add an extra column Surcharge Amount to the following reports:\n\nPayment Accounting Report (PAR)\nSettlement Detail Report (SDR)\n\nIf you specify the split type Surcharge in the payment request , a separate incoming transfer is generated for the surcharge amount. The following reports are affected:\n\nThe Balance Platform Accounting Report (BPAR) contains extra lines with information related to surcharges.\nThe Balance Platform Statement Report (BPSR) contains extra lines showing the impact of the surcharges on the balance account.\n\n\nSee also\n\n\n                    Surcharge compliance guide\n                \n","type":"page","locale":"pt","boost":18,"hierarchy":{"lvl0":"Home","lvl1":"Marketplaces","lvl2":"Surcharge"},"hierarchy_url":{"lvl0":"https:\/\/docs.adyen.com\/pt","lvl1":"https:\/\/docs.adyen.com\/pt\/marketplaces","lvl2":"\/pt\/marketplaces\/surcharge"},"levels":3,"category":"Marketplaces","category_color":"green","tags":["Surcharge"]}}
