{"title":"SCA for funds transfers","category":"default","creationDate":1669827120,"content":"<p>Each time a user in the European Economic Area (EEA) wants to transfer funds, you must authenticate them using SCA. To do so:<\/p>\n<ol>\n<li><a href=\"#initiate-authentication\">Check SCA eligibility<\/a>.<\/li>\n<li><a href=\"#initiate-transfer\">Initiate the transfer<\/a> using the <code>sdkOutput<\/code> that you got when you checked the device for SCA eligibility.<\/li>\n<li><a href=\"#authenticate-user\">Authenticate your user<\/a> with the Authentication SDK.<\/li>\n<li><a href=\"#finalize-transfer\">Finalize the transfer<\/a> using the <code>sdkOutput<\/code> from the authentication step.<\/li>\n<\/ol>\n<h2>Requirements<\/h2>\n<ul>\n<li>Make sure that you have <a href=\"\/pt\/business-accounts\/install-auth-sdk\">installed the Authentication SDK<\/a>.<br \/>\nMake sure that you have <a href=\"\/pt\/business-accounts\/register-sca-devices\">registered a device<\/a> for your user.<\/li>\n<li>Make sure that your <a href=\"\/pt\/business-accounts\/manage-access#manage-api-credentials\">API credential<\/a> has the following role:\n<ul>\n<li><strong>TransferService Webservice Initiate role<\/strong><\/li>\n<\/ul><\/li>\n<\/ul>\n<h2 id=\"initiate-authentication\">Check SCA eligibility<\/h2>\n<p>Before initiating a transfer, you must check for SCA eligibility and initiate the process to authenticate your users.<\/p>\n<p>The following tabs explain how to check for SCA eligibility and initiate authentication using Kotlin, Swift, or JavaScript.<\/p>\n\n<div id=\"tabvkG7J\">\n    <div data-component-wrapper=\"tabs\">\n        <tabs\n                        :items=\"[{&quot;title&quot;:&quot;Android (Kotlin)&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;To check if the Android device is eligible for SCA:&lt;\\\/p&gt;\\n&lt;ol&gt;\\n&lt;li&gt;\\n&lt;p&gt;Initiate the &lt;code&gt;AdyenAuthentication&lt;\\\/code&gt; class in your Activity or Fragment.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Initiate authentication&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;kotlin\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;private lateinit var adyenAuthentication: AdyenAuthentication\\\\n\\\\noverride fun onCreate(savedInstanceState: Bundle?) {\\\\n    super.onCreate(savedInstanceState)\\\\n    adyenAuthentication = AdyenAuthentication(this)\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;Check if SCA is available on the device.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Check SCA eligibility&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;kotlin\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;lifecycleScope.launch {\\\\n    val availabilityResult: AvailabilityResult = adyenAuthentication.checkAvailability()\\\\n    if (availabilityResult is AvailabilityResult.Available) {\\\\n        availabilityResult.sdkOutput\\\\n    }\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;p&gt;The function returns an &lt;code&gt;sdkOutput&lt;\\\/code&gt;.&lt;\\\/p&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;Pass the &lt;code&gt;sdkOutput&lt;\\\/code&gt; to your server.&lt;\\\/p&gt;\\n&lt;\\\/li&gt;\\n&lt;\\\/ol&gt;\\n&quot;,&quot;altTitle&quot;:&quot;kotlin&quot;,&quot;oldTabId&quot;:&quot;sca-eligibility-kotlin_1&quot;,&quot;relation&quot;:&quot;kotlin&quot;},{&quot;title&quot;:&quot;iOS (Swift)&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;To check if the iOS device is eligible for SCA:&lt;\\\/p&gt;\\n&lt;ol&gt;\\n&lt;li&gt;\\n&lt;p&gt;Initialize the &lt;code&gt;AuthenticationService&lt;\\\/code&gt; class.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Initialize authentication service&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;swift\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;let configuration = AuthenticationService.Configuration(\\\\n    localizedRegistrationReason: registrationReason,\\\\n    localizedAuthenticationReason: authenticationReason,\\\\n    appleTeamIdendtifier: appleTeamIdentifier\\\\n)\\\\nlet authenticationService = AuthenticationService(configuration: configuration)\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;Check if SCA is available on the device.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Check SCA eligibility&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;swift\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;let sdkOutput = try authenticationService.checkSupport()\\\\n\\\\\\\/\\\\\\\/\\\\\\\/ send the sdkOutput to your backend\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;p&gt;The function returns an &lt;code&gt;sdkOutput&lt;\\\/code&gt;.&lt;\\\/p&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;Pass the &lt;code&gt;sdkOutput&lt;\\\/code&gt; to your server.&lt;\\\/p&gt;\\n&lt;\\\/li&gt;\\n&lt;\\\/ol&gt;\\n&quot;,&quot;altTitle&quot;:&quot;swift&quot;,&quot;oldTabId&quot;:&quot;sca-eligibility-swift_2&quot;,&quot;relation&quot;:&quot;swift&quot;},{&quot;title&quot;:&quot;Web (JavaScript)&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;To check if the web browser on your web-enabled device is eligible for SCA:&lt;\\\/p&gt;\\n&lt;ol&gt;\\n&lt;li&gt;\\n&lt;p&gt;Import the node package in your application. &lt;\\\/p&gt;\\n&lt;p&gt;&lt;code&gt;RelyingPartyName&lt;\\\/code&gt; is the name the user will be presented with when creating or validating a &lt;code&gt;WebAuthn&lt;\\\/code&gt; operation. We recommend that the value of the &lt;code&gt;RelyingPartyName&lt;\\\/code&gt; be the merchant name or the URL domain.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Import web sdk and initiate authentication&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=\\&quot;[{&amp;quot;language&amp;quot;:&amp;quot;javascript&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import ScaWebauthn from &#039;@adyen\\\\\\\/bpscaweb&#039;;\\\\n\\\\nconst scaWebauthn = ScaWebauthn.create({ \\\\n    relyingPartyName: &#039;merchant&#039;,\\\\n});\\\\n\\\\nconst sdkOutput = await scaWebauthn.checkAvailability().catch((error) =&amp;gt; \\\\\\\/* SCA_UNAVAILABLE error*\\\\\\\/);&amp;quot;}]\\&quot; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;p&gt;If the user&#039;s browser supports SCA, the function returns &lt;code&gt;sdkOutput&lt;\\\/code&gt; to exchange in requests to the server. If SCA is not supported, the method throws an &lt;code&gt;SCA_UNAVAILABLE&lt;\\\/code&gt; error.&lt;\\\/p&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;Pass the &lt;code&gt;sdkOutput&lt;\\\/code&gt; to your server.&lt;\\\/p&gt;\\n&lt;\\\/li&gt;\\n&lt;\\\/ol&gt;\\n&quot;,&quot;altTitle&quot;:&quot;javascript&quot;,&quot;oldTabId&quot;:&quot;sca-eligibility-javascript_3&quot;,&quot;relation&quot;:&quot;javascript&quot;}]\"\n            :should-update-when-url-changes='true'>\n        <\/tabs>\n    <\/div>\n<\/div>\n\n<p>You will use the <code>sdkOutput<\/code> when <a href=\"#initiate-transfer\">initiating the transfer<\/a>.<\/p>\n<h2 id=\"initiate-transfer\">Initiate transfer<\/h2>\n<p>The steps to initiate a transfer depend on whether you want to:<\/p>\n<ul>\n<li>Authenticate the user when initiating a transfer request.<\/li>\n<li>Authenticate the reviewer when approving a transfer request.<\/li>\n<\/ul>\n<p>Because a reviewer can approve multiple transfers at the same time, performing SCA during approval allows you to satisfy the authentication requirements for multiple transfers with a single SCA process.<\/p>\n<p>The following tabs explain both methods for initiating a transfer that requires SCA.<\/p>\n\n<div id=\"tabEN1lZ\">\n    <div data-component-wrapper=\"tabs\">\n        <tabs\n                        :items=\"[{&quot;title&quot;:&quot;Authenticate during initiation&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;To initiate a funds transfer for your user and trigger SCA, do the following:&lt;\\\/p&gt;\\n&lt;ol&gt;\\n&lt;li&gt;\\n&lt;p&gt;Make a POST  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/transfers\\\/latest\\\/post\\\/transfers\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/transfers&lt;\\\/a&gt; request, specifying the following parameters:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th&gt;Parameter&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: center;\\&quot;&gt;Type&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: center;\\&quot;&gt;Required&lt;\\\/th&gt;\\n&lt;th&gt;Description&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/transfers\\\/latest\\\/post\\\/transfers#header-WWW_Authenticate\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;WWW-Authenticate&lt;\\\/a&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;Header&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td&gt;&lt;code&gt;SCA realm&lt;\\\/code&gt;: &lt;strong&gt;Transfer&lt;\\\/strong&gt;.&lt;br&gt;&lt;code&gt;auth-param1&lt;\\\/code&gt;: Base64-encoded value of &lt;strong&gt;sdkOutput&lt;\\\/strong&gt; you get when you &lt;a href=\\&quot;#initiate-authentication\\&quot;&gt;initiate authentication&lt;\\\/a&gt;.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/transfers\\\/latest\\\/post\\\/transfers#request-amount\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;amount&lt;\\\/a&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;Body&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td&gt;The amount of the transfer.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/transfers\\\/latest\\\/post\\\/transfers#request-balanceAccountId\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;balanceAccountId&lt;\\\/a&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;Body&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td&gt;The unique identifier of the source balance account.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/transfers\\\/latest\\\/post\\\/transfers#request-category\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;category&lt;\\\/a&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;Body&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td&gt;Set to &lt;strong&gt;bank&lt;\\\/strong&gt;.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/transfers\\\/latest\\\/post\\\/transfers#request-counterparty-bankAccount\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;counterparty.bankAccount&lt;\\\/a&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;Body&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td&gt;Contains information about the target bank account.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/transfers\\\/latest\\\/post\\\/transfers#request-description\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;description&lt;\\\/a&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;Body&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;\\\/td&gt;\\n&lt;td&gt;A human-readable description for the transfer.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/transfers\\\/latest\\\/post\\\/transfers#request-reference\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;reference&lt;\\\/a&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;Body&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;\\\/td&gt;\\n&lt;td&gt;A reference of the transfer, only used internally within your balance platform.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/transfers\\\/latest\\\/post\\\/transfers#request-referenceForBeneficiary\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;referenceForBeneficiary&lt;\\\/a&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;Body&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;\\\/td&gt;\\n&lt;td&gt;A reference that is sent to the recipient.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Initiate funds transfer and trigger SCA&#039;\\&quot; :id=\\&quot;&#039;initiate-transfer-sca&#039;\\&quot; :code-data=\\&quot;[{&amp;quot;language&amp;quot;:&amp;quot;bash&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;curl&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;curl https:\\\\\\\/\\\\\\\/balanceplatform-api-test.adyen.com\\\\\\\/btl\\\\\\\/v4\\\\\\\/transfers \\\\\\\\\\\\n-H &#039;x-api-key: ADYEN_BALANCE_PLATFORM_API_KEY&#039; \\\\\\\\\\\\n-H &#039;content-type: application\\\\\\\/json&#039; \\\\\\\\\\\\n-H &#039;WWW-Authenticate: SCA realm=\\\\&amp;quot;Transfer\\\\&amp;quot; auth-param1=\\\\&amp;quot;eyJjaGFsbGVuZ2UiOiJiVlV6ZW5wek0waFNl...\\\\&amp;quot;&#039; \\\\\\\\\\\\n-X POST \\\\\\\\\\\\n-d &#039;{\\\\n    \\\\&amp;quot;amount\\\\&amp;quot;: {\\\\n        \\\\&amp;quot;currency\\\\&amp;quot;: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n        \\\\&amp;quot;value\\\\&amp;quot;: 1000\\\\n    },\\\\n    \\\\&amp;quot;balanceAccountId\\\\&amp;quot;: \\\\&amp;quot;BA00000000000000000000001\\\\&amp;quot;,\\\\n    \\\\&amp;quot;category\\\\&amp;quot;: \\\\&amp;quot;bank\\\\&amp;quot;,\\\\n    \\\\&amp;quot;description\\\\&amp;quot;: \\\\&amp;quot;YOUR_DESCRIPTION_FOR_THE_TRANSFER\\\\&amp;quot;,\\\\n    \\\\&amp;quot;reference\\\\&amp;quot;: \\\\&amp;quot;YOUR_UNIQUE_REFERENCE_FOR_THE_TRANSFER\\\\&amp;quot;,\\\\n    \\\\&amp;quot;referenceForBeneficiary\\\\&amp;quot;: \\\\&amp;quot;YOUR_REFERENCE_SENT_TO_BENEFICIARY\\\\&amp;quot;,\\\\n    \\\\&amp;quot;counterparty\\\\&amp;quot;: {\\\\n        \\\\&amp;quot;bankAccount\\\\&amp;quot;: {\\\\n            \\\\&amp;quot;accountHolder\\\\&amp;quot;: {\\\\n                \\\\&amp;quot;fullName\\\\&amp;quot;: \\\\&amp;quot;A. Klaassen\\\\&amp;quot;\\\\n            },\\\\n            \\\\&amp;quot;accountIdentification\\\\&amp;quot;: {\\\\n                \\\\&amp;quot;type\\\\&amp;quot;: \\\\&amp;quot;iban\\\\&amp;quot;,\\\\n                \\\\&amp;quot;iban\\\\&amp;quot;: \\\\&amp;quot;NL91ABNA0417164300\\\\&amp;quot;\\\\n            }\\\\n        }\\\\n    }\\\\n}&#039;&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;java&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Java&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Java API Library v33.0.0\\\\nimport com.adyen.Client;\\\\nimport com.adyen.enums.Environment;\\\\nimport com.adyen.model.transfers.*;\\\\nimport java.time.OffsetDateTime;\\\\nimport java.util.*;\\\\nimport com.adyen.model.RequestOptions;\\\\nimport com.adyen.service.transfers.*;\\\\n\\\\nClient client = new Client(\\\\&amp;quot;ADYEN_BALANCE_PLATFORM_API_KEY\\\\&amp;quot;, Environment.TEST);\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nPartyIdentification partyIdentification3 = new PartyIdentification()\\\\n  .fullName(\\\\&amp;quot;A. Klaassen\\\\&amp;quot;);\\\\n\\\\nIbanAccountIdentification ibanAccountIdentification = new IbanAccountIdentification()\\\\n  .iban(\\\\&amp;quot;NL91ABNA0417164300\\\\&amp;quot;)\\\\n  .type(IbanAccountIdentification.TypeEnum.IBAN);\\\\n\\\\nBankAccountV3 bankAccountV33 = new BankAccountV3()\\\\n  .accountHolder(partyIdentification3)\\\\n  .accountIdentification(new TransferInfoAccountIdentification(ibanAccountIdentification));\\\\n\\\\nAmount amount = new Amount()\\\\n  .currency(\\\\&amp;quot;EUR\\\\&amp;quot;)\\\\n  .value(1000L);\\\\n\\\\nCounterpartyInfoV3 counterpartyInfoV3 = new CounterpartyInfoV3()\\\\n  .bankAccount(bankAccountV33);\\\\n\\\\nTransferInfo transferInfo = new TransferInfo()\\\\n  .balanceAccountId(\\\\&amp;quot;BA00000000000000000000001\\\\&amp;quot;)\\\\n  .reference(\\\\&amp;quot;YOUR_UNIQUE_REFERENCE_FOR_THE_TRANSFER\\\\&amp;quot;)\\\\n  .amount(amount)\\\\n  .referenceForBeneficiary(\\\\&amp;quot;YOUR_REFERENCE_SENT_TO_BENEFICIARY\\\\&amp;quot;)\\\\n  .description(\\\\&amp;quot;YOUR_DESCRIPTION_FOR_THE_TRANSFER\\\\&amp;quot;)\\\\n  .counterparty(counterpartyInfoV3)\\\\n  .category(TransferInfo.CategoryEnum.BANK);\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nTransfersApi service = new TransfersApi(client);\\\\nTransfer response = service.transferFunds(transferInfo, new RequestOptions().idempotencyKey(\\\\&amp;quot;UUID\\\\&amp;quot;));&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;php&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;PHP&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;?php\\\\n\\\\\\\/\\\\\\\/ Adyen PHP API Library v24.0.0\\\\nuse Adyen\\\\\\\\Client;\\\\nuse Adyen\\\\\\\\Environment;\\\\nuse Adyen\\\\\\\\Model\\\\\\\\Transfers\\\\\\\\Amount;\\\\nuse Adyen\\\\\\\\Model\\\\\\\\Transfers\\\\\\\\CounterpartyInfoV3;\\\\nuse Adyen\\\\\\\\Model\\\\\\\\Transfers\\\\\\\\PartyIdentification;\\\\nuse Adyen\\\\\\\\Model\\\\\\\\Transfers\\\\\\\\TransferInfoAccountIdentification;\\\\nuse Adyen\\\\\\\\Model\\\\\\\\Transfers\\\\\\\\BankAccountV3;\\\\nuse Adyen\\\\\\\\Service\\\\\\\\Transfers\\\\\\\\TransfersApi;\\\\n\\\\n$client = new Client();\\\\n$client-&amp;gt;setXApiKey(\\\\&amp;quot;ADYEN_BALANCE_PLATFORM_API_KEY\\\\&amp;quot;);\\\\n$client-&amp;gt;setEnvironment(Environment::TEST);\\\\n\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\n$partyIdentification3 = new PartyIdentification();\\\\n$partyIdentification3\\\\n  -&amp;gt;setFullName(\\\\&amp;quot;A. Klaassen\\\\&amp;quot;);\\\\n\\\\n$transferInfoAccountIdentification = new TransferInfoAccountIdentification();\\\\n$transferInfoAccountIdentification\\\\n  -&amp;gt;setIban(\\\\&amp;quot;NL91ABNA0417164300\\\\&amp;quot;)\\\\n  -&amp;gt;setType(\\\\&amp;quot;iban\\\\&amp;quot;);\\\\n\\\\n$bankAccountV33 = new BankAccountV3();\\\\n$bankAccountV33\\\\n  -&amp;gt;setAccountHolder($partyIdentification3)\\\\n  -&amp;gt;setAccountIdentification($transferInfoAccountIdentification);\\\\n\\\\n$amount = new Amount();\\\\n$amount\\\\n  -&amp;gt;setCurrency(\\\\&amp;quot;EUR\\\\&amp;quot;)\\\\n  -&amp;gt;setValue(1000);\\\\n\\\\n$counterpartyInfoV3 = new CounterpartyInfoV3();\\\\n$counterpartyInfoV3\\\\n  -&amp;gt;setBankAccount($bankAccountV33);\\\\n\\\\n$transferInfo = new TransferInfo();\\\\n$transferInfo\\\\n  -&amp;gt;setBalanceAccountId(\\\\&amp;quot;BA00000000000000000000001\\\\&amp;quot;)\\\\n  -&amp;gt;setReference(\\\\&amp;quot;YOUR_UNIQUE_REFERENCE_FOR_THE_TRANSFER\\\\&amp;quot;)\\\\n  -&amp;gt;setAmount($amount)\\\\n  -&amp;gt;setReferenceForBeneficiary(\\\\&amp;quot;YOUR_REFERENCE_SENT_TO_BENEFICIARY\\\\&amp;quot;)\\\\n  -&amp;gt;setDescription(\\\\&amp;quot;YOUR_DESCRIPTION_FOR_THE_TRANSFER\\\\&amp;quot;)\\\\n  -&amp;gt;setCounterparty($counterpartyInfoV3)\\\\n  -&amp;gt;setCategory(\\\\&amp;quot;bank\\\\&amp;quot;);\\\\n\\\\n$requestOptions[&#039;idempotencyKey&#039;] = &#039;UUID&#039;;\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\n$service = new TransfersApi($client);\\\\n$response = $service-&amp;gt;transferFunds($transferInfo, $requestOptions);&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;cs&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;C#&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen .net API Library v28.0.0\\\\nusing Adyen;\\\\nusing Environment = Adyen.Model.Environment;\\\\nusing Adyen.Model;\\\\nusing Adyen.Model.Transfers;\\\\nusing Adyen.Service.Transfers;\\\\n\\\\nvar config = new Config()\\\\n{\\\\n    XApiKey = \\\\&amp;quot;ADYEN_BALANCE_PLATFORM_API_KEY\\\\&amp;quot;,\\\\n    Environment = Environment.Test\\\\n};\\\\nvar client = new Client(config);\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nPartyIdentification partyIdentification3 = new PartyIdentification\\\\n{\\\\n  FullName = \\\\&amp;quot;A. Klaassen\\\\&amp;quot;\\\\n};\\\\n\\\\nIbanAccountIdentification ibanAccountIdentification = new IbanAccountIdentification\\\\n{\\\\n  Iban = \\\\&amp;quot;NL91ABNA0417164300\\\\&amp;quot;,\\\\n  Type = IbanAccountIdentification.TypeEnum.Iban\\\\n};\\\\n\\\\nBankAccountV3 bankAccountV33 = new BankAccountV3\\\\n{\\\\n  AccountHolder = partyIdentification3,\\\\n  AccountIdentification = new TransferInfoAccountIdentification(ibanAccountIdentification)\\\\n};\\\\n\\\\nAmount amount = new Amount\\\\n{\\\\n  Currency = \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n  Value = 1000\\\\n};\\\\n\\\\nCounterpartyInfoV3 counterpartyInfoV3 = new CounterpartyInfoV3\\\\n{\\\\n  BankAccount = bankAccountV33\\\\n};\\\\n\\\\nTransferInfo transferInfo = new TransferInfo\\\\n{\\\\n  BalanceAccountId = \\\\&amp;quot;BA00000000000000000000001\\\\&amp;quot;,\\\\n  Reference = \\\\&amp;quot;YOUR_UNIQUE_REFERENCE_FOR_THE_TRANSFER\\\\&amp;quot;,\\\\n  Amount = amount,\\\\n  ReferenceForBeneficiary = \\\\&amp;quot;YOUR_REFERENCE_SENT_TO_BENEFICIARY\\\\&amp;quot;,\\\\n  Description = \\\\&amp;quot;YOUR_DESCRIPTION_FOR_THE_TRANSFER\\\\&amp;quot;,\\\\n  Counterparty = counterpartyInfoV3,\\\\n  Category = TransferInfo.CategoryEnum.Bank\\\\n};\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nvar service = new TransfersService(client);\\\\nvar response = service.TransferFunds(transferInfo, requestOptions: new RequestOptions { IdempotencyKey = \\\\&amp;quot;UUID\\\\&amp;quot;});&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;js&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;NodeJS (JavaScript)&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Node API Library v23.3.0\\\\nconst { Client, TransfersAPI } = require(&#039;@adyen\\\\\\\/api-library&#039;);\\\\n\\\\nconst client = new Client({ apiKey: \\\\&amp;quot;ADYEN_BALANCE_PLATFORM_API_KEY\\\\&amp;quot;, environment: \\\\&amp;quot;TEST\\\\&amp;quot; });\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nconst transferInfo = {\\\\n  amount: {\\\\n    currency: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n    value: 1000\\\\n  },\\\\n  balanceAccountId: \\\\&amp;quot;BA00000000000000000000001\\\\&amp;quot;,\\\\n  category: \\\\&amp;quot;bank\\\\&amp;quot;,\\\\n  description: \\\\&amp;quot;YOUR_DESCRIPTION_FOR_THE_TRANSFER\\\\&amp;quot;,\\\\n  reference: \\\\&amp;quot;YOUR_UNIQUE_REFERENCE_FOR_THE_TRANSFER\\\\&amp;quot;,\\\\n  referenceForBeneficiary: \\\\&amp;quot;YOUR_REFERENCE_SENT_TO_BENEFICIARY\\\\&amp;quot;,\\\\n  counterparty: {\\\\n    bankAccount: {\\\\n      accountHolder: {\\\\n        fullName: \\\\&amp;quot;A. Klaassen\\\\&amp;quot;\\\\n      },\\\\n      accountIdentification: {\\\\n        type: \\\\&amp;quot;iban\\\\&amp;quot;,\\\\n        iban: \\\\&amp;quot;NL91ABNA0417164300\\\\&amp;quot;\\\\n      }\\\\n    }\\\\n  }\\\\n}\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nconst transfersAPI = new TransfersAPI(client);\\\\nconst response = transfersAPI.TransfersApi.transferFunds(transferInfo, { idempotencyKey: \\\\&amp;quot;UUID\\\\&amp;quot; });&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;go&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Go&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Go API Library v17.0.0\\\\nimport (\\\\n  \\\\&amp;quot;context\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v17\\\\\\\/src\\\\\\\/common\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v17\\\\\\\/src\\\\\\\/adyen\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v17\\\\\\\/src\\\\\\\/transfers\\\\&amp;quot;\\\\n)\\\\nclient := adyen.NewClient(&amp;amp;common.Config{\\\\n  ApiKey:      \\\\&amp;quot;ADYEN_BALANCE_PLATFORM_API_KEY\\\\&amp;quot;,\\\\n  Environment: common.TestEnv,\\\\n})\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\npartyIdentification3 := transfers.PartyIdentification{\\\\n  FullName: common.PtrString(\\\\&amp;quot;A. Klaassen\\\\&amp;quot;),\\\\n}\\\\n\\\\nibanAccountIdentification := transfers.IbanAccountIdentification{\\\\n  Iban: \\\\&amp;quot;NL91ABNA0417164300\\\\&amp;quot;,\\\\n  Type: \\\\&amp;quot;iban\\\\&amp;quot;,\\\\n}\\\\n\\\\nbankAccountV33 := transfers.BankAccountV3{\\\\n  AccountHolder: partyIdentification3,\\\\n  AccountIdentification: transfers.IbanAccountIdentificationAsTransferInfoAccountIdentification(&amp;amp;ibanAccountIdentification),\\\\n}\\\\n\\\\namount := transfers.Amount{\\\\n  Currency: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n  Value: 1000,\\\\n}\\\\n\\\\ncounterpartyInfoV3 := transfers.CounterpartyInfoV3{\\\\n  BankAccount: &amp;amp;bankAccountV33,\\\\n}\\\\n\\\\ntransferInfo := transfers.TransferInfo{\\\\n  BalanceAccountId: common.PtrString(\\\\&amp;quot;BA00000000000000000000001\\\\&amp;quot;),\\\\n  Reference: common.PtrString(\\\\&amp;quot;YOUR_UNIQUE_REFERENCE_FOR_THE_TRANSFER\\\\&amp;quot;),\\\\n  Amount: amount,\\\\n  ReferenceForBeneficiary: common.PtrString(\\\\&amp;quot;YOUR_REFERENCE_SENT_TO_BENEFICIARY\\\\&amp;quot;),\\\\n  Description: common.PtrString(\\\\&amp;quot;YOUR_DESCRIPTION_FOR_THE_TRANSFER\\\\&amp;quot;),\\\\n  Counterparty: counterpartyInfoV3,\\\\n  Category: \\\\&amp;quot;bank\\\\&amp;quot;,\\\\n}\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nservice := client.Transfers()\\\\nreq := service.TransfersApi.TransferFundsInput().IdempotencyKey(\\\\&amp;quot;UUID\\\\&amp;quot;).TransferInfo(transferInfo)\\\\nres, httpRes, err := service.TransfersApi.TransferFunds(context.Background(), req)&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;py&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Python&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;# Adyen Python API Library v13.3.0\\\\nimport Adyen\\\\n\\\\nadyen = Adyen.Adyen()\\\\nadyen.client.xapikey = \\\\&amp;quot;ADYEN_BALANCE_PLATFORM_API_KEY\\\\&amp;quot;\\\\nadyen.client.platform = \\\\&amp;quot;test\\\\&amp;quot; # The environment to use library in.\\\\n\\\\n# Create the request object(s)\\\\njson_request = {\\\\n  \\\\&amp;quot;amount\\\\&amp;quot;: {\\\\n    \\\\&amp;quot;currency\\\\&amp;quot;: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n    \\\\&amp;quot;value\\\\&amp;quot;: 1000\\\\n  },\\\\n  \\\\&amp;quot;balanceAccountId\\\\&amp;quot;: \\\\&amp;quot;BA00000000000000000000001\\\\&amp;quot;,\\\\n  \\\\&amp;quot;category\\\\&amp;quot;: \\\\&amp;quot;bank\\\\&amp;quot;,\\\\n  \\\\&amp;quot;description\\\\&amp;quot;: \\\\&amp;quot;YOUR_DESCRIPTION_FOR_THE_TRANSFER\\\\&amp;quot;,\\\\n  \\\\&amp;quot;reference\\\\&amp;quot;: \\\\&amp;quot;YOUR_UNIQUE_REFERENCE_FOR_THE_TRANSFER\\\\&amp;quot;,\\\\n  \\\\&amp;quot;referenceForBeneficiary\\\\&amp;quot;: \\\\&amp;quot;YOUR_REFERENCE_SENT_TO_BENEFICIARY\\\\&amp;quot;,\\\\n  \\\\&amp;quot;counterparty\\\\&amp;quot;: {\\\\n    \\\\&amp;quot;bankAccount\\\\&amp;quot;: {\\\\n      \\\\&amp;quot;accountHolder\\\\&amp;quot;: {\\\\n        \\\\&amp;quot;fullName\\\\&amp;quot;: \\\\&amp;quot;A. Klaassen\\\\&amp;quot;\\\\n      },\\\\n      \\\\&amp;quot;accountIdentification\\\\&amp;quot;: {\\\\n        \\\\&amp;quot;type\\\\&amp;quot;: \\\\&amp;quot;iban\\\\&amp;quot;,\\\\n        \\\\&amp;quot;iban\\\\&amp;quot;: \\\\&amp;quot;NL91ABNA0417164300\\\\&amp;quot;\\\\n      }\\\\n    }\\\\n  }\\\\n}\\\\n\\\\n# Send the request\\\\nresult = adyen.transfers.transfers_api.transfer_funds(request=json_request, idempotency_key=\\\\&amp;quot;UUID\\\\&amp;quot;)&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;rb&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Ruby&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;# Adyen Ruby API Library v10.1.1\\\\nrequire \\\\&amp;quot;adyen-ruby-api-library\\\\&amp;quot;\\\\n\\\\nadyen = Adyen::Client.new\\\\nadyen.api_key = &#039;ADYEN_BALANCE_PLATFORM_API_KEY&#039;\\\\nadyen.env = :test # Set to \\\\&amp;quot;live\\\\&amp;quot; for live environment\\\\n\\\\n# Create the request object(s)\\\\nrequest_body = {\\\\n  :amount =&amp;gt; {\\\\n    :currency =&amp;gt; &#039;EUR&#039;,\\\\n    :value =&amp;gt; 1000\\\\n  },\\\\n  :balanceAccountId =&amp;gt; &#039;BA00000000000000000000001&#039;,\\\\n  :category =&amp;gt; &#039;bank&#039;,\\\\n  :description =&amp;gt; &#039;YOUR_DESCRIPTION_FOR_THE_TRANSFER&#039;,\\\\n  :reference =&amp;gt; &#039;YOUR_UNIQUE_REFERENCE_FOR_THE_TRANSFER&#039;,\\\\n  :referenceForBeneficiary =&amp;gt; &#039;YOUR_REFERENCE_SENT_TO_BENEFICIARY&#039;,\\\\n  :counterparty =&amp;gt; {\\\\n    :bankAccount =&amp;gt; {\\\\n      :accountHolder =&amp;gt; {\\\\n        :fullName =&amp;gt; &#039;A. Klaassen&#039;\\\\n      },\\\\n      :accountIdentification =&amp;gt; {\\\\n        :type =&amp;gt; &#039;iban&#039;,\\\\n        :iban =&amp;gt; &#039;NL91ABNA0417164300&#039;\\\\n      }\\\\n    }\\\\n  }\\\\n}\\\\n\\\\n# Send the request\\\\nresult = adyen.transfers.transfers_api.transfer_funds(request_body, headers: { &#039;Idempotency-Key&#039; =&amp;gt; &#039;UUID&#039; })&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;ts&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;NodeJS (TypeScript)&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Node API Library v23.3.0\\\\nimport { Client, TransfersAPI, Types } from \\\\&amp;quot;@adyen\\\\\\\/api-library\\\\&amp;quot;;\\\\n\\\\nconst client = new Client({ apiKey: \\\\&amp;quot;ADYEN_BALANCE_PLATFORM_API_KEY\\\\&amp;quot;, environment: \\\\&amp;quot;TEST\\\\&amp;quot; });\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nconst partyIdentification3: Types.transfers.PartyIdentification = {\\\\n  fullName: \\\\&amp;quot;A. Klaassen\\\\&amp;quot;\\\\n};\\\\n\\\\nconst ibanAccountIdentification: Types.transfers.IbanAccountIdentification = {\\\\n  iban: \\\\&amp;quot;NL91ABNA0417164300\\\\&amp;quot;,\\\\n  type: Types.transfers.IbanAccountIdentification.TypeEnum.Iban\\\\n};\\\\n\\\\nconst bankAccountV33: Types.transfers.BankAccountV3 = {\\\\n  accountHolder: partyIdentification3,\\\\n  accountIdentification: ibanAccountIdentification\\\\n};\\\\n\\\\nconst amount: Types.transfers.Amount = {\\\\n  currency: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n  value: 1000\\\\n};\\\\n\\\\nconst counterpartyInfoV3: Types.transfers.CounterpartyInfoV3 = {\\\\n  bankAccount: bankAccountV33\\\\n};\\\\n\\\\nconst transferInfo: Types.transfers.TransferInfo = {\\\\n  balanceAccountId: \\\\&amp;quot;BA00000000000000000000001\\\\&amp;quot;,\\\\n  reference: \\\\&amp;quot;YOUR_UNIQUE_REFERENCE_FOR_THE_TRANSFER\\\\&amp;quot;,\\\\n  amount: amount,\\\\n  referenceForBeneficiary: \\\\&amp;quot;YOUR_REFERENCE_SENT_TO_BENEFICIARY\\\\&amp;quot;,\\\\n  description: \\\\&amp;quot;YOUR_DESCRIPTION_FOR_THE_TRANSFER\\\\&amp;quot;,\\\\n  counterparty: counterpartyInfoV3,\\\\n  category: Types.transfers.TransferInfo.CategoryEnum.Bank\\\\n};\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nconst transfersAPI = new TransfersAPI(client);\\\\nconst response = transfersAPI.TransfersApi.transferFunds(transferInfo, { idempotencyKey: \\\\&amp;quot;UUID\\\\&amp;quot; });&amp;quot;}]\\&quot; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;Verify that the response header contains the following fields:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;&lt;code&gt;status&lt;\\\/code&gt;: &lt;strong&gt;401&lt;\\\/strong&gt;&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;auth-param1&lt;\\\/code&gt;: Base64-encoded blob of data. You will need &lt;code&gt;auth-param1&lt;\\\/code&gt; when you &lt;a href=\\&quot;#authenticate-user\\&quot;&gt;authenticate your user&lt;\\\/a&gt;.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Response header&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;\\\\\\&quot;WWW-Authenticate: SCA realm=\\\\\\&quot;Transfer\\\\\\&quot; auth-param1=\\\\\\&quot;eyJjaGFsbGVuZ2UiOiJiVlV6ZW5wek0waFNl...\\\\\\&quot;\\\\\\&quot;\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;Verify that the response body contains the following fields:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;&lt;code&gt;amount&lt;\\\/code&gt;: An object containing the amount and currency of the funds that will be transferred.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;counterparty&lt;\\\/code&gt;: An object containing information about the counterparty that will receive the funds.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;p&gt;You must show this data to your user when you &lt;a href=\\&quot;#authenticate-user\\&quot;&gt;authenticate your user&lt;\\\/a&gt;.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Response for initiating a fund transfer&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n  \\\\\\&quot;type\\\\\\&quot;: \\\\\\&quot;https:\\\\\\\/\\\\\\\/docs.adyen.com\\\\\\\/errors\\\\\\\/unauthorized\\\\\\&quot;,\\\\n  \\\\\\&quot;title\\\\\\&quot;: \\\\\\&quot;Unauthorized\\\\\\&quot;,\\\\n  \\\\\\&quot;status\\\\\\&quot;: 401,\\\\n  \\\\\\&quot;response\\\\\\&quot;: {\\\\n      \\\\\\&quot;amount\\\\\\&quot;: {\\\\n          \\\\\\&quot;currency\\\\\\&quot;: \\\\\\&quot;EUR\\\\\\&quot;,\\\\n          \\\\\\&quot;value\\\\\\&quot;: 1000\\\\n      },\\\\n      \\\\\\&quot;balanceAccountId\\\\\\&quot;: \\\\\\&quot;BA00000000000000000000001\\\\\\&quot;,\\\\n      \\\\\\&quot;category\\\\\\&quot;: \\\\\\&quot;bank\\\\\\&quot;,\\\\n      \\\\\\&quot;description\\\\\\&quot;: \\\\\\&quot;YOUR_DESCRIPTION_FOR_THE_TRANSFER\\\\\\&quot;,\\\\n      \\\\\\&quot;reference\\\\\\&quot;: \\\\\\&quot;YOUR_UNIQUE_REFERENCE_FOR_THE_TRANSFER\\\\\\&quot;,\\\\n      \\\\\\&quot;referenceForBeneficiary\\\\\\&quot;: \\\\\\&quot;YOUR_REFERENCE_SENT_TO_BENEFICIARY\\\\\\&quot;,\\\\n      \\\\\\&quot;counterparty\\\\\\&quot;: {\\\\n          \\\\\\&quot;bankAccount\\\\\\&quot;: {\\\\n              \\\\\\&quot;accountHolder\\\\\\&quot;: {\\\\n                  \\\\\\&quot;fullName\\\\\\&quot;: \\\\\\&quot;A. Klaassen\\\\\\&quot;\\\\n              },\\\\n              \\\\\\&quot;accountIdentification\\\\\\&quot;: {\\\\n                  \\\\\\&quot;type\\\\\\&quot;: \\\\\\&quot;iban\\\\\\&quot;,\\\\n                  \\\\\\&quot;iban\\\\\\&quot;: \\\\\\&quot;NL91ABNA0417164300\\\\\\&quot;\\\\n              }\\\\n          }\\\\n      },\\\\n  },\\\\n  \\\\\\&quot;errorCode\\\\\\&quot;: \\\\\\&quot;00_401\\\\\\&quot;\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;Pass &lt;code&gt;auth-param1&lt;\\\/code&gt; to the SDK as &lt;code&gt;sdkInput&lt;\\\/code&gt;.&lt;\\\/p&gt;\\n&lt;\\\/li&gt;\\n&lt;\\\/ol&gt;\\n&quot;,&quot;altTitle&quot;:&quot;initiation&quot;,&quot;oldTabId&quot;:&quot;initiate-sca-initiation_1&quot;,&quot;relation&quot;:&quot;initiation&quot;},{&quot;title&quot;:&quot;Authenticate during approval&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;To initiate a funds transfer for your user and trigger SCA during approval, do the following:&lt;\\\/p&gt;\\n&lt;ol&gt;\\n&lt;li&gt;\\n&lt;p&gt;Make a POST  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/transfers\\\/latest\\\/post\\\/transfers\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/transfers&lt;\\\/a&gt; request, specifying the following parameters:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th&gt;Parameter&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: center;\\&quot;&gt;Type&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: center;\\&quot;&gt;Required&lt;\\\/th&gt;\\n&lt;th&gt;Description&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/transfers\\\/latest\\\/post\\\/transfers#request-amount\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;amount&lt;\\\/a&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;Body&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td&gt;The amount of the transfer.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/transfers\\\/latest\\\/post\\\/transfers#request-balanceAccountId\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;balanceAccountId&lt;\\\/a&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;Body&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td&gt;The unique identifier of the source balance account.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/transfers\\\/latest\\\/post\\\/transfers#request-category\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;category&lt;\\\/a&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;Body&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td&gt;Set to &lt;strong&gt;bank&lt;\\\/strong&gt;.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/transfers\\\/latest\\\/post\\\/transfers#request-counterparty-bankAccount\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;counterparty.bankAccount&lt;\\\/a&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;Body&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td&gt;Contains information about the target bank account.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/transfers\\\/latest\\\/post\\\/transfers#request-description\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;description&lt;\\\/a&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;Body&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;\\\/td&gt;\\n&lt;td&gt;A human-readable description for the transfer.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/transfers\\\/latest\\\/post\\\/transfers#request-reference\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;reference&lt;\\\/a&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;Body&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;\\\/td&gt;\\n&lt;td&gt;A reference of the transfer, only used internally within your balance platform.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/transfers\\\/latest\\\/post\\\/transfers#request-referenceForBeneficiary\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;referenceForBeneficiary&lt;\\\/a&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;Body&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;\\\/td&gt;\\n&lt;td&gt;A reference that is sent to the recipient.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/transfers\\\/latest\\\/post\\\/transfers#request-review-numberOfApprovalsRequired\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;review.numberOfApprovalsRequired&lt;\\\/a&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;Body&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td&gt;Specifies the number of approvals required to process the transfer.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/transfers\\\/latest\\\/post\\\/transfers#request-review-scaOnApproval\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;review.scaOnApproval&lt;\\\/a&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;Body&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td&gt;Set to &lt;strong&gt;true&lt;\\\/strong&gt;.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Initiate funds transfer&#039;\\&quot; :id=\\&quot;&#039;initiate-transfer-sca-approval&#039;\\&quot; :code-data=\\&quot;[{&amp;quot;language&amp;quot;:&amp;quot;bash&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;curl&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;curl https:\\\\\\\/\\\\\\\/balanceplatform-api-test.adyen.com\\\\\\\/btl\\\\\\\/v4\\\\\\\/transfers \\\\\\\\\\\\n-H &#039;x-api-key: YOUR_BALANCE_PLATFORM_API_KEY&#039; \\\\\\\\\\\\n-H &#039;content-type: application\\\\\\\/json&#039; \\\\\\\\\\\\n-X POST \\\\\\\\\\\\n-d &#039;{\\\\n    \\\\&amp;quot;amount\\\\&amp;quot;: {\\\\n        \\\\&amp;quot;currency\\\\&amp;quot;: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n        \\\\&amp;quot;value\\\\&amp;quot;: 1000\\\\n    },\\\\n    \\\\&amp;quot;balanceAccountId\\\\&amp;quot;: \\\\&amp;quot;BA00000000000000000000001\\\\&amp;quot;,\\\\n    \\\\&amp;quot;category\\\\&amp;quot;: \\\\&amp;quot;bank\\\\&amp;quot;,\\\\n    \\\\&amp;quot;description\\\\&amp;quot;: \\\\&amp;quot;YOUR_DESCRIPTION_FOR_THE_TRANSFER\\\\&amp;quot;,\\\\n    \\\\&amp;quot;reference\\\\&amp;quot;: \\\\&amp;quot;YOUR_UNIQUE_REFERENCE_FOR_THE_TRANSFER\\\\&amp;quot;,\\\\n    \\\\&amp;quot;referenceForBeneficiary\\\\&amp;quot;: \\\\&amp;quot;YOUR_REFERENCE_SENT_TO_BENEFICIARY\\\\&amp;quot;,\\\\n    \\\\&amp;quot;counterparty\\\\&amp;quot;: {\\\\n        \\\\&amp;quot;bankAccount\\\\&amp;quot;: {\\\\n            \\\\&amp;quot;accountHolder\\\\&amp;quot;: {\\\\n                \\\\&amp;quot;fullName\\\\&amp;quot;: \\\\&amp;quot;A. Klaassen\\\\&amp;quot;\\\\n            },\\\\n            \\\\&amp;quot;accountIdentification\\\\&amp;quot;: {\\\\n                \\\\&amp;quot;type\\\\&amp;quot;: \\\\&amp;quot;iban\\\\&amp;quot;,\\\\n                \\\\&amp;quot;iban\\\\&amp;quot;: \\\\&amp;quot;NL91ABNA0417164300\\\\&amp;quot;\\\\n            }\\\\n        }\\\\n    },\\\\n    \\\\&amp;quot;review\\\\&amp;quot;: {\\\\n        \\\\&amp;quot;numberOfApprovalsRequired\\\\&amp;quot;: 1,\\\\n        \\\\&amp;quot;scaOnApproval\\\\&amp;quot;: true\\\\n    }\\\\n}&#039;&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;java&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Java&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Java API Library v33.0.0\\\\nimport com.adyen.Client;\\\\nimport com.adyen.enums.Environment;\\\\nimport com.adyen.model.transfers.*;\\\\nimport java.time.OffsetDateTime;\\\\nimport java.util.*;\\\\nimport com.adyen.model.RequestOptions;\\\\nimport com.adyen.service.transfers.*;\\\\n\\\\nClient client = new Client(\\\\&amp;quot;YOUR_BALANCE_PLATFORM_API_KEY\\\\&amp;quot;, Environment.TEST);\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nPartyIdentification partyIdentification3 = new PartyIdentification()\\\\n  .fullName(\\\\&amp;quot;A. Klaassen\\\\&amp;quot;);\\\\n\\\\nIbanAccountIdentification ibanAccountIdentification = new IbanAccountIdentification()\\\\n  .iban(\\\\&amp;quot;NL91ABNA0417164300\\\\&amp;quot;)\\\\n  .type(IbanAccountIdentification.TypeEnum.IBAN);\\\\n\\\\nBankAccountV3 bankAccountV33 = new BankAccountV3()\\\\n  .accountHolder(partyIdentification3)\\\\n  .accountIdentification(new TransferInfoAccountIdentification(ibanAccountIdentification));\\\\n\\\\nAmount amount = new Amount()\\\\n  .currency(\\\\&amp;quot;EUR\\\\&amp;quot;)\\\\n  .value(1000L);\\\\n\\\\nTransferRequestReview transferRequestReview = new TransferRequestReview()\\\\n  .numberOfApprovalsRequired(1)\\\\n  .scaOnApproval(true);\\\\n\\\\nCounterpartyInfoV3 counterpartyInfoV3 = new CounterpartyInfoV3()\\\\n  .bankAccount(bankAccountV33);\\\\n\\\\nTransferInfo transferInfo = new TransferInfo()\\\\n  .balanceAccountId(\\\\&amp;quot;BA00000000000000000000001\\\\&amp;quot;)\\\\n  .reference(\\\\&amp;quot;YOUR_UNIQUE_REFERENCE_FOR_THE_TRANSFER\\\\&amp;quot;)\\\\n  .amount(amount)\\\\n  .referenceForBeneficiary(\\\\&amp;quot;YOUR_REFERENCE_SENT_TO_BENEFICIARY\\\\&amp;quot;)\\\\n  .review(transferRequestReview)\\\\n  .description(\\\\&amp;quot;YOUR_DESCRIPTION_FOR_THE_TRANSFER\\\\&amp;quot;)\\\\n  .counterparty(counterpartyInfoV3)\\\\n  .category(TransferInfo.CategoryEnum.BANK);\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nTransfersApi service = new TransfersApi(client);\\\\nTransfer response = service.transferFunds(transferInfo, new RequestOptions().idempotencyKey(\\\\&amp;quot;UUID\\\\&amp;quot;));&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;php&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;PHP&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;?php\\\\n\\\\\\\/\\\\\\\/ Adyen PHP API Library v24.0.0\\\\nuse Adyen\\\\\\\\Client;\\\\nuse Adyen\\\\\\\\Environment;\\\\nuse Adyen\\\\\\\\Model\\\\\\\\Transfers\\\\\\\\Amount;\\\\nuse Adyen\\\\\\\\Model\\\\\\\\Transfers\\\\\\\\TransferRequestReview;\\\\nuse Adyen\\\\\\\\Model\\\\\\\\Transfers\\\\\\\\CounterpartyInfoV3;\\\\nuse Adyen\\\\\\\\Model\\\\\\\\Transfers\\\\\\\\PartyIdentification;\\\\nuse Adyen\\\\\\\\Model\\\\\\\\Transfers\\\\\\\\TransferInfoAccountIdentification;\\\\nuse Adyen\\\\\\\\Model\\\\\\\\Transfers\\\\\\\\BankAccountV3;\\\\nuse Adyen\\\\\\\\Service\\\\\\\\Transfers\\\\\\\\TransfersApi;\\\\n\\\\n$client = new Client();\\\\n$client-&amp;gt;setXApiKey(\\\\&amp;quot;YOUR_BALANCE_PLATFORM_API_KEY\\\\&amp;quot;);\\\\n$client-&amp;gt;setEnvironment(Environment::TEST);\\\\n\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\n$partyIdentification3 = new PartyIdentification();\\\\n$partyIdentification3\\\\n  -&amp;gt;setFullName(\\\\&amp;quot;A. Klaassen\\\\&amp;quot;);\\\\n\\\\n$transferInfoAccountIdentification = new TransferInfoAccountIdentification();\\\\n$transferInfoAccountIdentification\\\\n  -&amp;gt;setIban(\\\\&amp;quot;NL91ABNA0417164300\\\\&amp;quot;)\\\\n  -&amp;gt;setType(\\\\&amp;quot;iban\\\\&amp;quot;);\\\\n\\\\n$bankAccountV33 = new BankAccountV3();\\\\n$bankAccountV33\\\\n  -&amp;gt;setAccountHolder($partyIdentification3)\\\\n  -&amp;gt;setAccountIdentification($transferInfoAccountIdentification);\\\\n\\\\n$amount = new Amount();\\\\n$amount\\\\n  -&amp;gt;setCurrency(\\\\&amp;quot;EUR\\\\&amp;quot;)\\\\n  -&amp;gt;setValue(1000);\\\\n\\\\n$transferRequestReview = new TransferRequestReview();\\\\n$transferRequestReview\\\\n  -&amp;gt;setNumberOfApprovalsRequired(1)\\\\n  -&amp;gt;setScaOnApproval(true);\\\\n\\\\n$counterpartyInfoV3 = new CounterpartyInfoV3();\\\\n$counterpartyInfoV3\\\\n  -&amp;gt;setBankAccount($bankAccountV33);\\\\n\\\\n$transferInfo = new TransferInfo();\\\\n$transferInfo\\\\n  -&amp;gt;setBalanceAccountId(\\\\&amp;quot;BA00000000000000000000001\\\\&amp;quot;)\\\\n  -&amp;gt;setReference(\\\\&amp;quot;YOUR_UNIQUE_REFERENCE_FOR_THE_TRANSFER\\\\&amp;quot;)\\\\n  -&amp;gt;setAmount($amount)\\\\n  -&amp;gt;setReferenceForBeneficiary(\\\\&amp;quot;YOUR_REFERENCE_SENT_TO_BENEFICIARY\\\\&amp;quot;)\\\\n  -&amp;gt;setReview($transferRequestReview)\\\\n  -&amp;gt;setDescription(\\\\&amp;quot;YOUR_DESCRIPTION_FOR_THE_TRANSFER\\\\&amp;quot;)\\\\n  -&amp;gt;setCounterparty($counterpartyInfoV3)\\\\n  -&amp;gt;setCategory(\\\\&amp;quot;bank\\\\&amp;quot;);\\\\n\\\\n$requestOptions[&#039;idempotencyKey&#039;] = &#039;UUID&#039;;\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\n$service = new TransfersApi($client);\\\\n$response = $service-&amp;gt;transferFunds($transferInfo, $requestOptions);&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;cs&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;C#&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen .net API Library v28.0.0\\\\nusing Adyen;\\\\nusing Environment = Adyen.Model.Environment;\\\\nusing Adyen.Model;\\\\nusing Adyen.Model.Transfers;\\\\nusing Adyen.Service.Transfers;\\\\n\\\\nvar config = new Config()\\\\n{\\\\n    XApiKey = \\\\&amp;quot;YOUR_BALANCE_PLATFORM_API_KEY\\\\&amp;quot;,\\\\n    Environment = Environment.Test\\\\n};\\\\nvar client = new Client(config);\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nPartyIdentification partyIdentification3 = new PartyIdentification\\\\n{\\\\n  FullName = \\\\&amp;quot;A. Klaassen\\\\&amp;quot;\\\\n};\\\\n\\\\nIbanAccountIdentification ibanAccountIdentification = new IbanAccountIdentification\\\\n{\\\\n  Iban = \\\\&amp;quot;NL91ABNA0417164300\\\\&amp;quot;,\\\\n  Type = IbanAccountIdentification.TypeEnum.Iban\\\\n};\\\\n\\\\nBankAccountV3 bankAccountV33 = new BankAccountV3\\\\n{\\\\n  AccountHolder = partyIdentification3,\\\\n  AccountIdentification = new TransferInfoAccountIdentification(ibanAccountIdentification)\\\\n};\\\\n\\\\nAmount amount = new Amount\\\\n{\\\\n  Currency = \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n  Value = 1000\\\\n};\\\\n\\\\nTransferRequestReview transferRequestReview = new TransferRequestReview\\\\n{\\\\n  NumberOfApprovalsRequired = 1,\\\\n  ScaOnApproval = true\\\\n};\\\\n\\\\nCounterpartyInfoV3 counterpartyInfoV3 = new CounterpartyInfoV3\\\\n{\\\\n  BankAccount = bankAccountV33\\\\n};\\\\n\\\\nTransferInfo transferInfo = new TransferInfo\\\\n{\\\\n  BalanceAccountId = \\\\&amp;quot;BA00000000000000000000001\\\\&amp;quot;,\\\\n  Reference = \\\\&amp;quot;YOUR_UNIQUE_REFERENCE_FOR_THE_TRANSFER\\\\&amp;quot;,\\\\n  Amount = amount,\\\\n  ReferenceForBeneficiary = \\\\&amp;quot;YOUR_REFERENCE_SENT_TO_BENEFICIARY\\\\&amp;quot;,\\\\n  Review = transferRequestReview,\\\\n  Description = \\\\&amp;quot;YOUR_DESCRIPTION_FOR_THE_TRANSFER\\\\&amp;quot;,\\\\n  Counterparty = counterpartyInfoV3,\\\\n  Category = TransferInfo.CategoryEnum.Bank\\\\n};\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nvar service = new TransfersService(client);\\\\nvar response = service.TransferFunds(transferInfo, requestOptions: new RequestOptions { IdempotencyKey = \\\\&amp;quot;UUID\\\\&amp;quot;});&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;js&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;NodeJS (JavaScript)&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Node API Library v23.3.0\\\\nconst { Client, TransfersAPI } = require(&#039;@adyen\\\\\\\/api-library&#039;);\\\\n\\\\nconst client = new Client({ apiKey: \\\\&amp;quot;YOUR_BALANCE_PLATFORM_API_KEY\\\\&amp;quot;, environment: \\\\&amp;quot;TEST\\\\&amp;quot; });\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nconst transferInfo = {\\\\n  amount: {\\\\n    currency: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n    value: 1000\\\\n  },\\\\n  balanceAccountId: \\\\&amp;quot;BA00000000000000000000001\\\\&amp;quot;,\\\\n  category: \\\\&amp;quot;bank\\\\&amp;quot;,\\\\n  description: \\\\&amp;quot;YOUR_DESCRIPTION_FOR_THE_TRANSFER\\\\&amp;quot;,\\\\n  reference: \\\\&amp;quot;YOUR_UNIQUE_REFERENCE_FOR_THE_TRANSFER\\\\&amp;quot;,\\\\n  referenceForBeneficiary: \\\\&amp;quot;YOUR_REFERENCE_SENT_TO_BENEFICIARY\\\\&amp;quot;,\\\\n  counterparty: {\\\\n    bankAccount: {\\\\n      accountHolder: {\\\\n        fullName: \\\\&amp;quot;A. Klaassen\\\\&amp;quot;\\\\n      },\\\\n      accountIdentification: {\\\\n        type: \\\\&amp;quot;iban\\\\&amp;quot;,\\\\n        iban: \\\\&amp;quot;NL91ABNA0417164300\\\\&amp;quot;\\\\n      }\\\\n    }\\\\n  },\\\\n  review: {\\\\n    numberOfApprovalsRequired: 1,\\\\n    scaOnApproval: true\\\\n  }\\\\n}\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nconst transfersAPI = new TransfersAPI(client);\\\\nconst response = transfersAPI.TransfersApi.transferFunds(transferInfo, { idempotencyKey: \\\\&amp;quot;UUID\\\\&amp;quot; });&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;go&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Go&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Go API Library v17.0.0\\\\nimport (\\\\n  \\\\&amp;quot;context\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v17\\\\\\\/src\\\\\\\/common\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v17\\\\\\\/src\\\\\\\/adyen\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v17\\\\\\\/src\\\\\\\/transfers\\\\&amp;quot;\\\\n)\\\\nclient := adyen.NewClient(&amp;amp;common.Config{\\\\n  ApiKey:      \\\\&amp;quot;YOUR_BALANCE_PLATFORM_API_KEY\\\\&amp;quot;,\\\\n  Environment: common.TestEnv,\\\\n})\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\npartyIdentification3 := transfers.PartyIdentification{\\\\n  FullName: common.PtrString(\\\\&amp;quot;A. Klaassen\\\\&amp;quot;),\\\\n}\\\\n\\\\nibanAccountIdentification := transfers.IbanAccountIdentification{\\\\n  Iban: \\\\&amp;quot;NL91ABNA0417164300\\\\&amp;quot;,\\\\n  Type: \\\\&amp;quot;iban\\\\&amp;quot;,\\\\n}\\\\n\\\\nbankAccountV33 := transfers.BankAccountV3{\\\\n  AccountHolder: partyIdentification3,\\\\n  AccountIdentification: transfers.IbanAccountIdentificationAsTransferInfoAccountIdentification(&amp;amp;ibanAccountIdentification),\\\\n}\\\\n\\\\namount := transfers.Amount{\\\\n  Currency: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n  Value: 1000,\\\\n}\\\\n\\\\ntransferRequestReview := transfers.TransferRequestReview{\\\\n  NumberOfApprovalsRequired: common.PtrInt32(1),\\\\n  ScaOnApproval: common.PtrBool(true),\\\\n}\\\\n\\\\ncounterpartyInfoV3 := transfers.CounterpartyInfoV3{\\\\n  BankAccount: &amp;amp;bankAccountV33,\\\\n}\\\\n\\\\ntransferInfo := transfers.TransferInfo{\\\\n  BalanceAccountId: common.PtrString(\\\\&amp;quot;BA00000000000000000000001\\\\&amp;quot;),\\\\n  Reference: common.PtrString(\\\\&amp;quot;YOUR_UNIQUE_REFERENCE_FOR_THE_TRANSFER\\\\&amp;quot;),\\\\n  Amount: amount,\\\\n  ReferenceForBeneficiary: common.PtrString(\\\\&amp;quot;YOUR_REFERENCE_SENT_TO_BENEFICIARY\\\\&amp;quot;),\\\\n  Review: &amp;amp;transferRequestReview,\\\\n  Description: common.PtrString(\\\\&amp;quot;YOUR_DESCRIPTION_FOR_THE_TRANSFER\\\\&amp;quot;),\\\\n  Counterparty: counterpartyInfoV3,\\\\n  Category: \\\\&amp;quot;bank\\\\&amp;quot;,\\\\n}\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nservice := client.Transfers()\\\\nreq := service.TransfersApi.TransferFundsInput().IdempotencyKey(\\\\&amp;quot;UUID\\\\&amp;quot;).TransferInfo(transferInfo)\\\\nres, httpRes, err := service.TransfersApi.TransferFunds(context.Background(), req)&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;py&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Python&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;# Adyen Python API Library v13.3.0\\\\nimport Adyen\\\\n\\\\nadyen = Adyen.Adyen()\\\\nadyen.client.xapikey = \\\\&amp;quot;YOUR_BALANCE_PLATFORM_API_KEY\\\\&amp;quot;\\\\nadyen.client.platform = \\\\&amp;quot;test\\\\&amp;quot; # The environment to use library in.\\\\n\\\\n# Create the request object(s)\\\\njson_request = {\\\\n  \\\\&amp;quot;amount\\\\&amp;quot;: {\\\\n    \\\\&amp;quot;currency\\\\&amp;quot;: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n    \\\\&amp;quot;value\\\\&amp;quot;: 1000\\\\n  },\\\\n  \\\\&amp;quot;balanceAccountId\\\\&amp;quot;: \\\\&amp;quot;BA00000000000000000000001\\\\&amp;quot;,\\\\n  \\\\&amp;quot;category\\\\&amp;quot;: \\\\&amp;quot;bank\\\\&amp;quot;,\\\\n  \\\\&amp;quot;description\\\\&amp;quot;: \\\\&amp;quot;YOUR_DESCRIPTION_FOR_THE_TRANSFER\\\\&amp;quot;,\\\\n  \\\\&amp;quot;reference\\\\&amp;quot;: \\\\&amp;quot;YOUR_UNIQUE_REFERENCE_FOR_THE_TRANSFER\\\\&amp;quot;,\\\\n  \\\\&amp;quot;referenceForBeneficiary\\\\&amp;quot;: \\\\&amp;quot;YOUR_REFERENCE_SENT_TO_BENEFICIARY\\\\&amp;quot;,\\\\n  \\\\&amp;quot;counterparty\\\\&amp;quot;: {\\\\n    \\\\&amp;quot;bankAccount\\\\&amp;quot;: {\\\\n      \\\\&amp;quot;accountHolder\\\\&amp;quot;: {\\\\n        \\\\&amp;quot;fullName\\\\&amp;quot;: \\\\&amp;quot;A. Klaassen\\\\&amp;quot;\\\\n      },\\\\n      \\\\&amp;quot;accountIdentification\\\\&amp;quot;: {\\\\n        \\\\&amp;quot;type\\\\&amp;quot;: \\\\&amp;quot;iban\\\\&amp;quot;,\\\\n        \\\\&amp;quot;iban\\\\&amp;quot;: \\\\&amp;quot;NL91ABNA0417164300\\\\&amp;quot;\\\\n      }\\\\n    }\\\\n  },\\\\n  \\\\&amp;quot;review\\\\&amp;quot;: {\\\\n    \\\\&amp;quot;numberOfApprovalsRequired\\\\&amp;quot;: 1,\\\\n    \\\\&amp;quot;scaOnApproval\\\\&amp;quot;: True\\\\n  }\\\\n}\\\\n\\\\n# Send the request\\\\nresult = adyen.transfers.transfers_api.transfer_funds(request=json_request, idempotency_key=\\\\&amp;quot;UUID\\\\&amp;quot;)&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;rb&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Ruby&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;# Adyen Ruby API Library v10.1.1\\\\nrequire \\\\&amp;quot;adyen-ruby-api-library\\\\&amp;quot;\\\\n\\\\nadyen = Adyen::Client.new\\\\nadyen.api_key = &#039;YOUR_BALANCE_PLATFORM_API_KEY&#039;\\\\nadyen.env = :test # Set to \\\\&amp;quot;live\\\\&amp;quot; for live environment\\\\n\\\\n# Create the request object(s)\\\\nrequest_body = {\\\\n  :amount =&amp;gt; {\\\\n    :currency =&amp;gt; &#039;EUR&#039;,\\\\n    :value =&amp;gt; 1000\\\\n  },\\\\n  :balanceAccountId =&amp;gt; &#039;BA00000000000000000000001&#039;,\\\\n  :category =&amp;gt; &#039;bank&#039;,\\\\n  :description =&amp;gt; &#039;YOUR_DESCRIPTION_FOR_THE_TRANSFER&#039;,\\\\n  :reference =&amp;gt; &#039;YOUR_UNIQUE_REFERENCE_FOR_THE_TRANSFER&#039;,\\\\n  :referenceForBeneficiary =&amp;gt; &#039;YOUR_REFERENCE_SENT_TO_BENEFICIARY&#039;,\\\\n  :counterparty =&amp;gt; {\\\\n    :bankAccount =&amp;gt; {\\\\n      :accountHolder =&amp;gt; {\\\\n        :fullName =&amp;gt; &#039;A. Klaassen&#039;\\\\n      },\\\\n      :accountIdentification =&amp;gt; {\\\\n        :type =&amp;gt; &#039;iban&#039;,\\\\n        :iban =&amp;gt; &#039;NL91ABNA0417164300&#039;\\\\n      }\\\\n    }\\\\n  },\\\\n  :review =&amp;gt; {\\\\n    :numberOfApprovalsRequired =&amp;gt; 1,\\\\n    :scaOnApproval =&amp;gt; true\\\\n  }\\\\n}\\\\n\\\\n# Send the request\\\\nresult = adyen.transfers.transfers_api.transfer_funds(request_body, headers: { &#039;Idempotency-Key&#039; =&amp;gt; &#039;UUID&#039; })&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;ts&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;NodeJS (TypeScript)&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Node API Library v23.3.0\\\\nimport { Client, TransfersAPI, Types } from \\\\&amp;quot;@adyen\\\\\\\/api-library\\\\&amp;quot;;\\\\n\\\\nconst client = new Client({ apiKey: \\\\&amp;quot;YOUR_BALANCE_PLATFORM_API_KEY\\\\&amp;quot;, environment: \\\\&amp;quot;TEST\\\\&amp;quot; });\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nconst partyIdentification3: Types.transfers.PartyIdentification = {\\\\n  fullName: \\\\&amp;quot;A. Klaassen\\\\&amp;quot;\\\\n};\\\\n\\\\nconst ibanAccountIdentification: Types.transfers.IbanAccountIdentification = {\\\\n  iban: \\\\&amp;quot;NL91ABNA0417164300\\\\&amp;quot;,\\\\n  type: Types.transfers.IbanAccountIdentification.TypeEnum.Iban\\\\n};\\\\n\\\\nconst bankAccountV33: Types.transfers.BankAccountV3 = {\\\\n  accountHolder: partyIdentification3,\\\\n  accountIdentification: ibanAccountIdentification\\\\n};\\\\n\\\\nconst amount: Types.transfers.Amount = {\\\\n  currency: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n  value: 1000\\\\n};\\\\n\\\\nconst transferRequestReview: Types.transfers.TransferRequestReview = {\\\\n  numberOfApprovalsRequired: 1,\\\\n  scaOnApproval: true\\\\n};\\\\n\\\\nconst counterpartyInfoV3: Types.transfers.CounterpartyInfoV3 = {\\\\n  bankAccount: bankAccountV33\\\\n};\\\\n\\\\nconst transferInfo: Types.transfers.TransferInfo = {\\\\n  balanceAccountId: \\\\&amp;quot;BA00000000000000000000001\\\\&amp;quot;,\\\\n  reference: \\\\&amp;quot;YOUR_UNIQUE_REFERENCE_FOR_THE_TRANSFER\\\\&amp;quot;,\\\\n  amount: amount,\\\\n  referenceForBeneficiary: \\\\&amp;quot;YOUR_REFERENCE_SENT_TO_BENEFICIARY\\\\&amp;quot;,\\\\n  review: transferRequestReview,\\\\n  description: \\\\&amp;quot;YOUR_DESCRIPTION_FOR_THE_TRANSFER\\\\&amp;quot;,\\\\n  counterparty: counterpartyInfoV3,\\\\n  category: Types.transfers.TransferInfo.CategoryEnum.Bank\\\\n};\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nconst transfersAPI = new TransfersAPI(client);\\\\nconst response = transfersAPI.TransfersApi.transferFunds(transferInfo, { idempotencyKey: \\\\&amp;quot;UUID\\\\&amp;quot; });&amp;quot;}]\\&quot; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;Verify that you receive an &lt;strong&gt;HTTP 202&lt;\\\/strong&gt; response that includes the following parameters:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;&lt;code&gt;amount&lt;\\\/code&gt;: You must show this data to your user during &lt;a href=\\&quot;#authenticate-user\\&quot;&gt;authentication&lt;\\\/a&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;counterparty&lt;\\\/code&gt;: You must show this data to your user during authentication.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;id&lt;\\\/code&gt;: You must include the transfer ID in the POST &lt;code&gt;\\\/transfers\\\/approve&lt;\\\/code&gt; request.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;Make a POST  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/transfers\\\/latest\\\/post\\\/transfers\\\/approve\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/transfers\\\/approve&lt;\\\/a&gt; request, specifying the following parameters:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th&gt;&lt;strong&gt;Parameter name&lt;\\\/strong&gt;&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: center;\\&quot;&gt;&lt;strong&gt;Type&lt;\\\/strong&gt;&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: center;\\&quot;&gt;&lt;strong&gt;Required&lt;\\\/strong&gt;&lt;\\\/th&gt;\\n&lt;th&gt;&lt;strong&gt;Description&lt;\\\/strong&gt;&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/transfers\\\/latest\\\/post\\\/transfers\\\/approve#header-WWW_Authenticate\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;WWW-Authenticate&lt;\\\/a&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;Header&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td&gt;&lt;code&gt;SCA realm&lt;\\\/code&gt;: &lt;strong&gt;ApproveTransfers&lt;\\\/strong&gt;.&lt;br&gt;&lt;code&gt;auth-param1&lt;\\\/code&gt;: Base64-encoded value of &lt;strong&gt;sdkOutput&lt;\\\/strong&gt; you get when you &lt;a href=\\&quot;#initiate-authentication\\&quot;&gt;initiate the SCA authentication process&lt;\\\/a&gt;.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/transfers\\\/latest\\\/post\\\/transfers\\\/approve#request-transferIds\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;transferIds&lt;\\\/a&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;Body&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td&gt;An array containing the unique identifiers of the transfers that you decide to approve.&lt;br\\\/&gt;You can include the IDs of all transfers that have:&lt;br\\\/&gt;\\u2014 &lt;code&gt;status&lt;\\\/code&gt;: &lt;strong&gt;received&lt;\\\/strong&gt;&lt;br\\\/&gt;\\u2014 &lt;code&gt;reason&lt;\\\/code&gt;: &lt;strong&gt;pendingApproval&lt;\\\/strong&gt;&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Approve funds transfer and trigger SCA&#039;\\&quot; :id=\\&quot;&#039;approve-transfer-sca&#039;\\&quot; :code-data=\\&quot;[{&amp;quot;language&amp;quot;:&amp;quot;bash&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;curl&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;curl https:\\\\\\\/\\\\\\\/balanceplatform-api-test.adyen.com\\\\\\\/btl\\\\\\\/v4\\\\\\\/transfers\\\\\\\/approve \\\\\\\\\\\\n-H &#039;x-api-key: ADYEN_BALANCE_PLATFORM_API_KEY&#039; \\\\\\\\\\\\n-H &#039;content-type: application\\\\\\\/json&#039; \\\\\\\\\\\\n-H &#039;WWW-Authenticate: SCA realm=\\\\&amp;quot;ApproveTransfers\\\\&amp;quot; auth-param1=\\\\&amp;quot;eyJjaGFsbGVuZ2UiOiJiVlV6ZW5wek0waFNl...\\\\&amp;quot;&#039; \\\\\\\\\\\\n-X POST \\\\\\\\\\\\n-d &#039;{\\\\n    \\\\&amp;quot;transferIds\\\\&amp;quot;: [\\\\n        \\\\&amp;quot;APUFHASUFD4AS\\\\&amp;quot;,\\\\n        \\\\&amp;quot;407ASFPUHASFA\\\\&amp;quot;\\\\n    ]\\\\n}&#039;&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;java&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Java&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Java API Library v33.0.0\\\\nimport com.adyen.Client;\\\\nimport com.adyen.enums.Environment;\\\\nimport com.adyen.model.transfers.*;\\\\nimport java.time.OffsetDateTime;\\\\nimport java.util.*;\\\\nimport com.adyen.model.RequestOptions;\\\\nimport com.adyen.service.transfers.*;\\\\n\\\\nClient client = new Client(\\\\&amp;quot;ADYEN_BALANCE_PLATFORM_API_KEY\\\\&amp;quot;, Environment.TEST);\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nApproveTransfersRequest approveTransfersRequest = new ApproveTransfersRequest()\\\\n  .transferIds(Arrays.asList(\\\\&amp;quot;APUFHASUFD4AS\\\\&amp;quot;, \\\\&amp;quot;407ASFPUHASFA\\\\&amp;quot;));\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nTransfersApi service = new TransfersApi(client);\\\\nservice.approveInitiatedTransfers(approveTransfersRequest, new RequestOptions().idempotencyKey(\\\\&amp;quot;UUID\\\\&amp;quot;));&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;php&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;PHP&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;?php\\\\n\\\\\\\/\\\\\\\/ Adyen PHP API Library v24.0.0\\\\nuse Adyen\\\\\\\\Client;\\\\nuse Adyen\\\\\\\\Environment;\\\\nuse Adyen\\\\\\\\Model\\\\\\\\Transfers\\\\\\\\ApproveTransfersRequest;\\\\nuse Adyen\\\\\\\\Service\\\\\\\\Transfers\\\\\\\\TransfersApi;\\\\n\\\\n$client = new Client();\\\\n$client-&amp;gt;setXApiKey(\\\\&amp;quot;ADYEN_BALANCE_PLATFORM_API_KEY\\\\&amp;quot;);\\\\n$client-&amp;gt;setEnvironment(Environment::TEST);\\\\n\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\n$approveTransfersRequest = new ApproveTransfersRequest();\\\\n$approveTransfersRequest\\\\n  -&amp;gt;setTransferIds(array(\\\\&amp;quot;APUFHASUFD4AS\\\\&amp;quot;, \\\\&amp;quot;407ASFPUHASFA\\\\&amp;quot;));\\\\n\\\\n$requestOptions[&#039;idempotencyKey&#039;] = &#039;UUID&#039;;\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\n$service = new TransfersApi($client);\\\\n$service-&amp;gt;approveInitiatedTransfers($approveTransfersRequest, $requestOptions);&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;cs&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;C#&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen .net API Library v28.0.0\\\\nusing Adyen;\\\\nusing Environment = Adyen.Model.Environment;\\\\nusing Adyen.Model;\\\\nusing Adyen.Model.Transfers;\\\\nusing Adyen.Service.Transfers;\\\\n\\\\nvar config = new Config()\\\\n{\\\\n    XApiKey = \\\\&amp;quot;ADYEN_BALANCE_PLATFORM_API_KEY\\\\&amp;quot;,\\\\n    Environment = Environment.Test\\\\n};\\\\nvar client = new Client(config);\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nApproveTransfersRequest approveTransfersRequest = new ApproveTransfersRequest\\\\n{\\\\n  TransferIds = { \\\\&amp;quot;APUFHASUFD4AS\\\\&amp;quot;, \\\\&amp;quot;407ASFPUHASFA\\\\&amp;quot; }\\\\n};\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nvar service = new TransfersService(client);\\\\nservice.ApproveInitiatedTransfers(approveTransfersRequest, requestOptions: new RequestOptions { IdempotencyKey = \\\\&amp;quot;UUID\\\\&amp;quot;});&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;js&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;NodeJS (JavaScript)&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Node API Library v23.3.0\\\\nconst { Client, TransfersAPI } = require(&#039;@adyen\\\\\\\/api-library&#039;);\\\\n\\\\nconst client = new Client({ apiKey: \\\\&amp;quot;ADYEN_BALANCE_PLATFORM_API_KEY\\\\&amp;quot;, environment: \\\\&amp;quot;TEST\\\\&amp;quot; });\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nconst approveTransfersRequest = {\\\\n  transferIds: [ \\\\&amp;quot;APUFHASUFD4AS\\\\&amp;quot;, \\\\&amp;quot;407ASFPUHASFA\\\\&amp;quot; ]\\\\n}\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nconst transfersAPI = new TransfersAPI(client);\\\\ntransfersAPI.TransfersApi.approveInitiatedTransfers(approveTransfersRequest, { idempotencyKey: \\\\&amp;quot;UUID\\\\&amp;quot; });&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;go&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Go&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Go API Library v17.0.0\\\\nimport (\\\\n  \\\\&amp;quot;context\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v17\\\\\\\/src\\\\\\\/common\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v17\\\\\\\/src\\\\\\\/adyen\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v17\\\\\\\/src\\\\\\\/transfers\\\\&amp;quot;\\\\n)\\\\nclient := adyen.NewClient(&amp;amp;common.Config{\\\\n  ApiKey:      \\\\&amp;quot;ADYEN_BALANCE_PLATFORM_API_KEY\\\\&amp;quot;,\\\\n  Environment: common.TestEnv,\\\\n})\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\napproveTransfersRequest := transfers.ApproveTransfersRequest{\\\\n  TransferIds: []string{\\\\n    \\\\&amp;quot;APUFHASUFD4AS\\\\&amp;quot;, \\\\&amp;quot;407ASFPUHASFA\\\\&amp;quot;,\\\\n  },\\\\n}\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nservice := client.Transfers()\\\\nreq := service.TransfersApi.ApproveInitiatedTransfersInput().IdempotencyKey(\\\\&amp;quot;UUID\\\\&amp;quot;).ApproveTransfersRequest(approveTransfersRequest)\\\\nservice.TransfersApi.ApproveInitiatedTransfers(context.Background(), req)&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;py&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Python&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;# Adyen Python API Library v13.3.0\\\\nimport Adyen\\\\n\\\\nadyen = Adyen.Adyen()\\\\nadyen.client.xapikey = \\\\&amp;quot;ADYEN_BALANCE_PLATFORM_API_KEY\\\\&amp;quot;\\\\nadyen.client.platform = \\\\&amp;quot;test\\\\&amp;quot; # The environment to use library in.\\\\n\\\\n# Create the request object(s)\\\\njson_request = {\\\\n  \\\\&amp;quot;transferIds\\\\&amp;quot;: [ \\\\&amp;quot;APUFHASUFD4AS\\\\&amp;quot;, \\\\&amp;quot;407ASFPUHASFA\\\\&amp;quot; ]\\\\n}\\\\n\\\\n# Send the request\\\\nadyen.transfers.transfers_api.approve_initiated_transfers(request=json_request, idempotency_key=\\\\&amp;quot;UUID\\\\&amp;quot;)&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;rb&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Ruby&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;# Adyen Ruby API Library v10.1.1\\\\nrequire \\\\&amp;quot;adyen-ruby-api-library\\\\&amp;quot;\\\\n\\\\nadyen = Adyen::Client.new\\\\nadyen.api_key = &#039;ADYEN_BALANCE_PLATFORM_API_KEY&#039;\\\\nadyen.env = :test # Set to \\\\&amp;quot;live\\\\&amp;quot; for live environment\\\\n\\\\n# Create the request object(s)\\\\nrequest_body = {\\\\n  :transferIds =&amp;gt; [ &#039;APUFHASUFD4AS&#039;, &#039;407ASFPUHASFA&#039; ]\\\\n}\\\\n\\\\n# Send the request\\\\nadyen.transfers.transfers_api.approve_initiated_transfers(request_body, headers: { &#039;Idempotency-Key&#039; =&amp;gt; &#039;UUID&#039; })&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;ts&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;NodeJS (TypeScript)&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Node API Library v23.3.0\\\\nimport { Client, TransfersAPI, Types } from \\\\&amp;quot;@adyen\\\\\\\/api-library\\\\&amp;quot;;\\\\n\\\\nconst client = new Client({ apiKey: \\\\&amp;quot;ADYEN_BALANCE_PLATFORM_API_KEY\\\\&amp;quot;, environment: \\\\&amp;quot;TEST\\\\&amp;quot; });\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nconst approveTransfersRequest: Types.transfers.ApproveTransfersRequest = {\\\\n  transferIds: [\\\\&amp;quot;APUFHASUFD4AS\\\\&amp;quot;, \\\\&amp;quot;407ASFPUHASFA\\\\&amp;quot;]\\\\n};\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nconst transfersAPI = new TransfersAPI(client);\\\\ntransfersAPI.TransfersApi.approveInitiatedTransfers(approveTransfersRequest, { idempotencyKey: \\\\&amp;quot;UUID\\\\&amp;quot; });&amp;quot;}]\\&quot; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;Verify that the response header contains the following fields:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;&lt;code&gt;status&lt;\\\/code&gt;: &lt;strong&gt;401&lt;\\\/strong&gt;&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;auth-param1&lt;\\\/code&gt;: Base64-encoded blob of data. You will need &lt;code&gt;auth-param1&lt;\\\/code&gt; when you &lt;a href=\\&quot;#authenticate-user\\&quot;&gt;authenticate your user&lt;\\\/a&gt;.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Response header&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;\\\\\\&quot;WWW-Authenticate: SCA realm=\\\\\\&quot;ApproveTransfers\\\\\\&quot; auth-param1=\\\\\\&quot;eyJjaGFsbGVuZ2UiOiJiVlV6ZW5wek0waFNl...\\\\\\&quot;\\\\\\&quot;\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Response for initiating the approval of a fund transfer&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n  \\\\\\&quot;type\\\\\\&quot;: \\\\\\&quot;https:\\\\\\\/\\\\\\\/docs.adyen.com\\\\\\\/errors\\\\\\\/unauthorized\\\\\\&quot;,\\\\n  \\\\\\&quot;title\\\\\\&quot;: \\\\\\&quot;Unauthorized\\\\\\&quot;,\\\\n  \\\\\\&quot;status\\\\\\&quot;: 401,\\\\n  \\\\\\&quot;response\\\\\\&quot;: {\\\\n      \\\\\\&quot;transferIds\\\\\\&quot;: [\\\\n          \\\\\\&quot;APUFHASUFD4AS\\\\\\&quot;,\\\\n          \\\\\\&quot;407ASFPUHASFA\\\\\\&quot;\\\\n      ]\\\\n  },\\\\n  \\\\\\&quot;errorCode\\\\\\&quot;: \\\\\\&quot;00_401\\\\\\&quot;\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;Pass &lt;code&gt;auth-param1&lt;\\\/code&gt; to the SDK as &lt;code&gt;sdkInput&lt;\\\/code&gt;.&lt;\\\/p&gt;\\n&lt;\\\/li&gt;\\n&lt;\\\/ol&gt;\\n&quot;,&quot;altTitle&quot;:&quot;approval&quot;,&quot;oldTabId&quot;:&quot;initiate-sca-approval_2&quot;,&quot;relation&quot;:&quot;approval&quot;}]\"\n            :should-update-when-url-changes='true'>\n        <\/tabs>\n    <\/div>\n<\/div>\n\n<h2 id=\"authenticate-user\">Authenticate user<\/h2>\n<p>After <a href=\"#initiate-transfer\">initiating a transfer<\/a> request, you have 10 minutes to complete the authentication process and <a href=\"#finalize-transfer\">finalize the transfer request<\/a>.<\/p>\n<p>When authenticating your user, PSD2 requires you to show to your user the amount and the counterparty (payee) of the transfer that the user is authenticating for. To comply with these regulations, we recommend that you implement a push notification and use the <code>amount<\/code> and <code>counterparty<\/code> fields from:<\/p>\n<ul>\n<li>The response to the POST  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/transfers\/latest\/post\/transfers\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/transfers<\/a> request you used to create the transfer.<\/li>\n<li>The response to a GET  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/transfers\/latest\/get\/transfers\/(id)\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/transfers\/{id}<\/a> request.<\/li>\n<\/ul>\n<p>To authenticate your user with the Authentication SDK:<\/p>\n<ol>\n<li>\n<p>Trigger the SDK to start user authentication and pass the <code>auth-param1<\/code> value from <a href=\"#initiate-authentication\">the previous step<\/a> as <code>sdkInput<\/code>.<\/p>\n\n<div id=\"tabZhC9k\">\n    <div data-component-wrapper=\"tabs\">\n        <tabs\n                        :items=\"[{&quot;title&quot;:&quot;Android (Kotlin)&quot;,&quot;content&quot;:&quot;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Authenticate with SCA SDK&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;kotlin\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;lifecycleScope.launch {\\\\n        if (adyenAuthentication.hasCredential(\\\\\\&quot;sdkInput\\\\\\&quot;)) {\\\\n            \\\\\\\/\\\\\\\/ Authenticate existing credential\\\\n            val authenticationResult: AuthenticationResult = adyenAuthentication.authenticate(\\\\\\&quot;sdkInput\\\\\\&quot;)\\\\n            when (authenticationResult) {\\\\n                is AuthenticationResult.AuthenticationSuccessful -&amp;gt; {\\\\n                    authenticationResult.sdkOutput\\\\n                }\\\\n                is AuthenticationResult.Canceled -&amp;gt; {\\\\n                    \\\\\\\/\\\\\\\/ User cancelled the authentication flow\\\\n                }\\\\n                is AuthenticationResult.Error -&amp;gt; {\\\\n                    \\\\\\\/\\\\\\\/ Unexpected error\\\\n                    authenticationResult.errorMessage\\\\n                }\\\\n                is AuthenticationResult.AuthenticationError -&amp;gt; {\\\\n                    \\\\\\\/\\\\\\\/ FIDO API Error\\\\n                    authenticationResult.authenticationError\\\\n                }\\\\n            }\\\\n        } else {\\\\n            \\\\\\\/\\\\\\\/ None of the existing credentials exist in this device\\\\n        }\\\\n    }\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;p&gt;If successful, the SDK generates a Base64-encoded &lt;code&gt;sdkOutput&lt;\\\/code&gt; data blob.&lt;\\\/p&gt;\\n&quot;,&quot;altTitle&quot;:&quot;kotlin&quot;,&quot;oldTabId&quot;:&quot;authenticate-user-kotlin_1&quot;,&quot;relation&quot;:&quot;kotlin&quot;},{&quot;title&quot;:&quot;iOS (Swift)&quot;,&quot;content&quot;:&quot;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Authenticate with SCA SDK&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;swift\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;delegatedAuthenticationSession.authenticate(withBase64URLString: sdkInput) { [weak self] result in\\\\n        switch result {\\\\n        case let .success(sdkOutput):\\\\n            \\\\\\\/\\\\\\\/\\\\\\\/ send the sdkOutput to the backend\\\\n        case let .failure(error):\\\\n            \\\\\\\/\\\\\\\/\\\\\\\/ authentication failed\\\\n        }\\\\n    }\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;p&gt;The SDK uses the &lt;a href=\\&quot;https:\\\/\\\/developer.apple.com\\\/documentation\\\/devicecheck\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot; class=\\&quot;external-link no-image\\&quot;&gt;Apple DeviceCheck framework&lt;\\\/a&gt; to generate a Base64-encoded &lt;code&gt;sdkOutput&lt;\\\/code&gt; data blob. To do this, the SDK authenticates the user using Touch ID, Face ID, or the device passcode. To enable Face ID support, add &lt;code&gt;NSFaceIDUsageDescription&lt;\\\/code&gt; to &lt;code&gt;Info.plist&lt;\\\/code&gt;.&lt;\\\/p&gt;\\n&quot;,&quot;altTitle&quot;:&quot;swift&quot;,&quot;oldTabId&quot;:&quot;authenticate-user-swift_2&quot;,&quot;relation&quot;:&quot;swift&quot;},{&quot;title&quot;:&quot;Web (JavaScript)&quot;,&quot;content&quot;:&quot;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Authenticate with SCA SDK&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;javascript\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;const sdkOutput = await scaWebauthn.authenticate(sdkInput);\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;p&gt;If successful, the SDK generates a Base64-encoded &lt;code&gt;sdkOutput&lt;\\\/code&gt; data blob.&lt;\\\/p&gt;\\n&quot;,&quot;altTitle&quot;:&quot;javascript&quot;,&quot;oldTabId&quot;:&quot;authenticate-user-javascript_3&quot;,&quot;relation&quot;:&quot;javascript&quot;}]\"\n            :should-update-when-url-changes='true'>\n        <\/tabs>\n    <\/div>\n<\/div>\n\n<\/li>\n<li>\n<p>Pass <code>sdkOutput<\/code> to your server.<\/p>\n<\/li>\n<\/ol>\n<h2 id=\"finalize-transfer\">Finalize transfer<\/h2>\n<p>The steps to initiate a transfer depend on whether you:<\/p>\n<ul>\n<li>Authenticated the user when initiating a transfer request.<\/li>\n<li>Authenticated the reviewer when approving a transfer request.<\/li>\n<\/ul>\n<p>The following tabs explain both methods for finalizing a transfer after completing SCA.<\/p>\n\n<div id=\"tabcfLM5\">\n    <div data-component-wrapper=\"tabs\">\n        <tabs\n                        :items=\"[{&quot;title&quot;:&quot;Authenticated during initiation&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;To finalize the transfer:&lt;\\\/p&gt;\\n&lt;ol&gt;\\n&lt;li&gt;\\n&lt;p&gt;Make a POST  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/transfers\\\/latest\\\/post\\\/transfers\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/transfers&lt;\\\/a&gt; request, specifying the following parameters:&lt;\\\/p&gt;\\n&lt;div class=\\&quot;notices green\\&quot;&gt;\\n&lt;p&gt;The values of the body parameters must match the ones previously submitted to the &lt;code&gt;\\\/transfers&lt;\\\/code&gt; endpoint &lt;a href=\\&quot;#initiate-transfer\\&quot;&gt;when initiating the transfer&lt;\\\/a&gt;.&lt;\\\/p&gt;\\n&lt;\\\/div&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th&gt;Parameter&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: center;\\&quot;&gt;Type&lt;\\\/th&gt;\\n&lt;th&gt;Description&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/transfers\\\/latest\\\/post\\\/transfers#header-WWW_Authenticate\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;WWW-Authenticate&lt;\\\/a&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;Header&lt;\\\/td&gt;\\n&lt;td&gt;&lt;code&gt;SCA realm&lt;\\\/code&gt;: &lt;strong&gt;Transfer&lt;\\\/strong&gt;.&lt;br&gt;&lt;code&gt;auth-param1&lt;\\\/code&gt;: Base64-encoded value of &lt;strong&gt;sdkOutput&lt;\\\/strong&gt; you get from the Authentication SDK when you &lt;a href=\\&quot;#authenticate-user\\&quot;&gt;authenticate the user&lt;\\\/a&gt;.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/transfers\\\/latest\\\/post\\\/transfers#request-amount\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;amount&lt;\\\/a&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;Body&lt;\\\/td&gt;\\n&lt;td&gt;The amount of the transfer.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/transfers\\\/latest\\\/post\\\/transfers#request-category\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;category&lt;\\\/a&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;Body&lt;\\\/td&gt;\\n&lt;td&gt;Set to &lt;strong&gt;bank&lt;\\\/strong&gt;.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/transfers\\\/latest\\\/post\\\/transfers#request-description\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;description&lt;\\\/a&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;Body&lt;\\\/td&gt;\\n&lt;td&gt;A human-readable description for the transfer.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/transfers\\\/latest\\\/post\\\/transfers#request-balanceAccountId\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;balanceAccountId&lt;\\\/a&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;Body&lt;\\\/td&gt;\\n&lt;td&gt;The unique identifier of the source balance account.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/transfers\\\/latest\\\/post\\\/transfers#request-reference\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;reference&lt;\\\/a&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;Body&lt;\\\/td&gt;\\n&lt;td&gt;A reference of the transfer, only used internally within your balance platform.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/transfers\\\/latest\\\/post\\\/transfers#request-referenceForBeneficiary\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;referenceForBeneficiary&lt;\\\/a&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;Body&lt;\\\/td&gt;\\n&lt;td&gt;A reference that is sent to the recipient.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/transfers\\\/latest\\\/post\\\/transfers#request-counterparty-balanceAccountId\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;counterparty.balanceAccountId&lt;\\\/a&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;Body&lt;\\\/td&gt;\\n&lt;td&gt;The unique identifier of the target balance account.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Finalize funds transfer&#039;\\&quot; :id=\\&quot;&#039;finalize-transfer-sca&#039;\\&quot; :code-data=\\&quot;[{&amp;quot;language&amp;quot;:&amp;quot;bash&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;curl&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;curl &#039;https:\\\\\\\/\\\\\\\/balanceplatform-api-test.adyen.com\\\\\\\/btl\\\\\\\/v4\\\\\\\/transfers&#039; \\\\\\\\\\\\n-H &#039;x-api-key: ADYEN_BALANCE_PLATFORM_API_KEY&#039; \\\\\\\\\\\\n-H &#039;content-type: application\\\\\\\/json&#039; \\\\\\\\\\\\n-H &#039;WWW-Authenticate: SCA realm=\\\\&amp;quot;Transfer\\\\&amp;quot; auth-param1=\\\\&amp;quot;CeCcEEJf2UPC7pB0K7AtEgLZX7cTvnqNznJF...&#039; \\\\\\\\\\\\n-X POST \\\\\\\\\\\\n-d &#039;{\\\\n    \\\\&amp;quot;amount\\\\&amp;quot;: {\\\\n        \\\\&amp;quot;currency\\\\&amp;quot;: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n        \\\\&amp;quot;value\\\\&amp;quot;: 1000\\\\n    },\\\\n    \\\\&amp;quot;balanceAccountId\\\\&amp;quot;: \\\\&amp;quot;BA00000000000000000000001\\\\&amp;quot;,\\\\n    \\\\&amp;quot;category\\\\&amp;quot;: \\\\&amp;quot;internal\\\\&amp;quot;,\\\\n    \\\\&amp;quot;description\\\\&amp;quot;: \\\\&amp;quot;YOUR_DESCRIPTION_FOR_THE_TRANSFER\\\\&amp;quot;,\\\\n    \\\\&amp;quot;reference\\\\&amp;quot;: \\\\&amp;quot;YOUR_UNIQUE_REFERENCE_FOR_THE_TRANSFER\\\\&amp;quot;,\\\\n    \\\\&amp;quot;referenceForBeneficiary\\\\&amp;quot;: \\\\&amp;quot;YOUR_REFERENCE_SENT_TO_BENEFICIARY\\\\&amp;quot;,\\\\n    \\\\&amp;quot;counterparty\\\\&amp;quot;: {\\\\n        \\\\&amp;quot;bankAccount\\\\&amp;quot;: {\\\\n            \\\\&amp;quot;accountHolder\\\\&amp;quot;: {\\\\n                \\\\&amp;quot;fullName\\\\&amp;quot;: \\\\&amp;quot;A. Klaassen\\\\&amp;quot;\\\\n            },\\\\n            \\\\&amp;quot;accountIdentification\\\\&amp;quot;: {\\\\n                \\\\&amp;quot;type\\\\&amp;quot;: \\\\&amp;quot;iban\\\\&amp;quot;,\\\\n                \\\\&amp;quot;iban\\\\&amp;quot;: \\\\&amp;quot;NL91ABNA0417164300\\\\&amp;quot;\\\\n            }\\\\n        }\\\\n    }\\\\n}&#039;&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;java&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Java&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Java API Library v33.0.0\\\\nimport com.adyen.Client;\\\\nimport com.adyen.enums.Environment;\\\\nimport com.adyen.model.transfers.*;\\\\nimport java.time.OffsetDateTime;\\\\nimport java.util.*;\\\\nimport com.adyen.model.RequestOptions;\\\\nimport com.adyen.service.transfers.*;\\\\n\\\\nClient client = new Client(\\\\&amp;quot;ADYEN_BALANCE_PLATFORM_API_KEY\\\\&amp;quot;, Environment.TEST);\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nPartyIdentification partyIdentification3 = new PartyIdentification()\\\\n  .fullName(\\\\&amp;quot;A. Klaassen\\\\&amp;quot;);\\\\n\\\\nIbanAccountIdentification ibanAccountIdentification = new IbanAccountIdentification()\\\\n  .iban(\\\\&amp;quot;NL91ABNA0417164300\\\\&amp;quot;)\\\\n  .type(IbanAccountIdentification.TypeEnum.IBAN);\\\\n\\\\nBankAccountV3 bankAccountV33 = new BankAccountV3()\\\\n  .accountHolder(partyIdentification3)\\\\n  .accountIdentification(new TransferInfoAccountIdentification(ibanAccountIdentification));\\\\n\\\\nAmount amount = new Amount()\\\\n  .currency(\\\\&amp;quot;EUR\\\\&amp;quot;)\\\\n  .value(1000L);\\\\n\\\\nCounterpartyInfoV3 counterpartyInfoV3 = new CounterpartyInfoV3()\\\\n  .bankAccount(bankAccountV33);\\\\n\\\\nTransferInfo transferInfo = new TransferInfo()\\\\n  .balanceAccountId(\\\\&amp;quot;BA00000000000000000000001\\\\&amp;quot;)\\\\n  .reference(\\\\&amp;quot;YOUR_UNIQUE_REFERENCE_FOR_THE_TRANSFER\\\\&amp;quot;)\\\\n  .amount(amount)\\\\n  .referenceForBeneficiary(\\\\&amp;quot;YOUR_REFERENCE_SENT_TO_BENEFICIARY\\\\&amp;quot;)\\\\n  .description(\\\\&amp;quot;YOUR_DESCRIPTION_FOR_THE_TRANSFER\\\\&amp;quot;)\\\\n  .counterparty(counterpartyInfoV3)\\\\n  .category(TransferInfo.CategoryEnum.INTERNAL);\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nTransfersApi service = new TransfersApi(client);\\\\nTransfer response = service.transferFunds(transferInfo, new RequestOptions().idempotencyKey(\\\\&amp;quot;UUID\\\\&amp;quot;));&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;php&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;PHP&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;?php\\\\n\\\\\\\/\\\\\\\/ Adyen PHP API Library v24.0.0\\\\nuse Adyen\\\\\\\\Client;\\\\nuse Adyen\\\\\\\\Environment;\\\\nuse Adyen\\\\\\\\Model\\\\\\\\Transfers\\\\\\\\Amount;\\\\nuse Adyen\\\\\\\\Model\\\\\\\\Transfers\\\\\\\\CounterpartyInfoV3;\\\\nuse Adyen\\\\\\\\Model\\\\\\\\Transfers\\\\\\\\PartyIdentification;\\\\nuse Adyen\\\\\\\\Model\\\\\\\\Transfers\\\\\\\\TransferInfoAccountIdentification;\\\\nuse Adyen\\\\\\\\Model\\\\\\\\Transfers\\\\\\\\BankAccountV3;\\\\nuse Adyen\\\\\\\\Service\\\\\\\\Transfers\\\\\\\\TransfersApi;\\\\n\\\\n$client = new Client();\\\\n$client-&amp;gt;setXApiKey(\\\\&amp;quot;ADYEN_BALANCE_PLATFORM_API_KEY\\\\&amp;quot;);\\\\n$client-&amp;gt;setEnvironment(Environment::TEST);\\\\n\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\n$partyIdentification3 = new PartyIdentification();\\\\n$partyIdentification3\\\\n  -&amp;gt;setFullName(\\\\&amp;quot;A. Klaassen\\\\&amp;quot;);\\\\n\\\\n$transferInfoAccountIdentification = new TransferInfoAccountIdentification();\\\\n$transferInfoAccountIdentification\\\\n  -&amp;gt;setIban(\\\\&amp;quot;NL91ABNA0417164300\\\\&amp;quot;)\\\\n  -&amp;gt;setType(\\\\&amp;quot;iban\\\\&amp;quot;);\\\\n\\\\n$bankAccountV33 = new BankAccountV3();\\\\n$bankAccountV33\\\\n  -&amp;gt;setAccountHolder($partyIdentification3)\\\\n  -&amp;gt;setAccountIdentification($transferInfoAccountIdentification);\\\\n\\\\n$amount = new Amount();\\\\n$amount\\\\n  -&amp;gt;setCurrency(\\\\&amp;quot;EUR\\\\&amp;quot;)\\\\n  -&amp;gt;setValue(1000);\\\\n\\\\n$counterpartyInfoV3 = new CounterpartyInfoV3();\\\\n$counterpartyInfoV3\\\\n  -&amp;gt;setBankAccount($bankAccountV33);\\\\n\\\\n$transferInfo = new TransferInfo();\\\\n$transferInfo\\\\n  -&amp;gt;setBalanceAccountId(\\\\&amp;quot;BA00000000000000000000001\\\\&amp;quot;)\\\\n  -&amp;gt;setReference(\\\\&amp;quot;YOUR_UNIQUE_REFERENCE_FOR_THE_TRANSFER\\\\&amp;quot;)\\\\n  -&amp;gt;setAmount($amount)\\\\n  -&amp;gt;setReferenceForBeneficiary(\\\\&amp;quot;YOUR_REFERENCE_SENT_TO_BENEFICIARY\\\\&amp;quot;)\\\\n  -&amp;gt;setDescription(\\\\&amp;quot;YOUR_DESCRIPTION_FOR_THE_TRANSFER\\\\&amp;quot;)\\\\n  -&amp;gt;setCounterparty($counterpartyInfoV3)\\\\n  -&amp;gt;setCategory(\\\\&amp;quot;internal\\\\&amp;quot;);\\\\n\\\\n$requestOptions[&#039;idempotencyKey&#039;] = &#039;UUID&#039;;\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\n$service = new TransfersApi($client);\\\\n$response = $service-&amp;gt;transferFunds($transferInfo, $requestOptions);&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;cs&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;C#&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen .net API Library v28.0.0\\\\nusing Adyen;\\\\nusing Environment = Adyen.Model.Environment;\\\\nusing Adyen.Model;\\\\nusing Adyen.Model.Transfers;\\\\nusing Adyen.Service.Transfers;\\\\n\\\\nvar config = new Config()\\\\n{\\\\n    XApiKey = \\\\&amp;quot;ADYEN_BALANCE_PLATFORM_API_KEY\\\\&amp;quot;,\\\\n    Environment = Environment.Test\\\\n};\\\\nvar client = new Client(config);\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nPartyIdentification partyIdentification3 = new PartyIdentification\\\\n{\\\\n  FullName = \\\\&amp;quot;A. Klaassen\\\\&amp;quot;\\\\n};\\\\n\\\\nIbanAccountIdentification ibanAccountIdentification = new IbanAccountIdentification\\\\n{\\\\n  Iban = \\\\&amp;quot;NL91ABNA0417164300\\\\&amp;quot;,\\\\n  Type = IbanAccountIdentification.TypeEnum.Iban\\\\n};\\\\n\\\\nBankAccountV3 bankAccountV33 = new BankAccountV3\\\\n{\\\\n  AccountHolder = partyIdentification3,\\\\n  AccountIdentification = new TransferInfoAccountIdentification(ibanAccountIdentification)\\\\n};\\\\n\\\\nAmount amount = new Amount\\\\n{\\\\n  Currency = \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n  Value = 1000\\\\n};\\\\n\\\\nCounterpartyInfoV3 counterpartyInfoV3 = new CounterpartyInfoV3\\\\n{\\\\n  BankAccount = bankAccountV33\\\\n};\\\\n\\\\nTransferInfo transferInfo = new TransferInfo\\\\n{\\\\n  BalanceAccountId = \\\\&amp;quot;BA00000000000000000000001\\\\&amp;quot;,\\\\n  Reference = \\\\&amp;quot;YOUR_UNIQUE_REFERENCE_FOR_THE_TRANSFER\\\\&amp;quot;,\\\\n  Amount = amount,\\\\n  ReferenceForBeneficiary = \\\\&amp;quot;YOUR_REFERENCE_SENT_TO_BENEFICIARY\\\\&amp;quot;,\\\\n  Description = \\\\&amp;quot;YOUR_DESCRIPTION_FOR_THE_TRANSFER\\\\&amp;quot;,\\\\n  Counterparty = counterpartyInfoV3,\\\\n  Category = TransferInfo.CategoryEnum.Internal\\\\n};\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nvar service = new TransfersService(client);\\\\nvar response = service.TransferFunds(transferInfo, requestOptions: new RequestOptions { IdempotencyKey = \\\\&amp;quot;UUID\\\\&amp;quot;});&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;js&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;NodeJS (JavaScript)&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Node API Library v23.3.0\\\\nconst { Client, TransfersAPI } = require(&#039;@adyen\\\\\\\/api-library&#039;);\\\\n\\\\nconst client = new Client({ apiKey: \\\\&amp;quot;ADYEN_BALANCE_PLATFORM_API_KEY\\\\&amp;quot;, environment: \\\\&amp;quot;TEST\\\\&amp;quot; });\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nconst transferInfo = {\\\\n  amount: {\\\\n    currency: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n    value: 1000\\\\n  },\\\\n  balanceAccountId: \\\\&amp;quot;BA00000000000000000000001\\\\&amp;quot;,\\\\n  category: \\\\&amp;quot;internal\\\\&amp;quot;,\\\\n  description: \\\\&amp;quot;YOUR_DESCRIPTION_FOR_THE_TRANSFER\\\\&amp;quot;,\\\\n  reference: \\\\&amp;quot;YOUR_UNIQUE_REFERENCE_FOR_THE_TRANSFER\\\\&amp;quot;,\\\\n  referenceForBeneficiary: \\\\&amp;quot;YOUR_REFERENCE_SENT_TO_BENEFICIARY\\\\&amp;quot;,\\\\n  counterparty: {\\\\n    bankAccount: {\\\\n      accountHolder: {\\\\n        fullName: \\\\&amp;quot;A. Klaassen\\\\&amp;quot;\\\\n      },\\\\n      accountIdentification: {\\\\n        type: \\\\&amp;quot;iban\\\\&amp;quot;,\\\\n        iban: \\\\&amp;quot;NL91ABNA0417164300\\\\&amp;quot;\\\\n      }\\\\n    }\\\\n  }\\\\n}\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nconst transfersAPI = new TransfersAPI(client);\\\\nconst response = transfersAPI.TransfersApi.transferFunds(transferInfo, { idempotencyKey: \\\\&amp;quot;UUID\\\\&amp;quot; });&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;go&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Go&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Go API Library v17.0.0\\\\nimport (\\\\n  \\\\&amp;quot;context\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v17\\\\\\\/src\\\\\\\/common\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v17\\\\\\\/src\\\\\\\/adyen\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v17\\\\\\\/src\\\\\\\/transfers\\\\&amp;quot;\\\\n)\\\\nclient := adyen.NewClient(&amp;amp;common.Config{\\\\n  ApiKey:      \\\\&amp;quot;ADYEN_BALANCE_PLATFORM_API_KEY\\\\&amp;quot;,\\\\n  Environment: common.TestEnv,\\\\n})\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\npartyIdentification3 := transfers.PartyIdentification{\\\\n  FullName: common.PtrString(\\\\&amp;quot;A. Klaassen\\\\&amp;quot;),\\\\n}\\\\n\\\\nibanAccountIdentification := transfers.IbanAccountIdentification{\\\\n  Iban: \\\\&amp;quot;NL91ABNA0417164300\\\\&amp;quot;,\\\\n  Type: \\\\&amp;quot;iban\\\\&amp;quot;,\\\\n}\\\\n\\\\nbankAccountV33 := transfers.BankAccountV3{\\\\n  AccountHolder: partyIdentification3,\\\\n  AccountIdentification: transfers.IbanAccountIdentificationAsTransferInfoAccountIdentification(&amp;amp;ibanAccountIdentification),\\\\n}\\\\n\\\\namount := transfers.Amount{\\\\n  Currency: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n  Value: 1000,\\\\n}\\\\n\\\\ncounterpartyInfoV3 := transfers.CounterpartyInfoV3{\\\\n  BankAccount: &amp;amp;bankAccountV33,\\\\n}\\\\n\\\\ntransferInfo := transfers.TransferInfo{\\\\n  BalanceAccountId: common.PtrString(\\\\&amp;quot;BA00000000000000000000001\\\\&amp;quot;),\\\\n  Reference: common.PtrString(\\\\&amp;quot;YOUR_UNIQUE_REFERENCE_FOR_THE_TRANSFER\\\\&amp;quot;),\\\\n  Amount: amount,\\\\n  ReferenceForBeneficiary: common.PtrString(\\\\&amp;quot;YOUR_REFERENCE_SENT_TO_BENEFICIARY\\\\&amp;quot;),\\\\n  Description: common.PtrString(\\\\&amp;quot;YOUR_DESCRIPTION_FOR_THE_TRANSFER\\\\&amp;quot;),\\\\n  Counterparty: counterpartyInfoV3,\\\\n  Category: \\\\&amp;quot;internal\\\\&amp;quot;,\\\\n}\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nservice := client.Transfers()\\\\nreq := service.TransfersApi.TransferFundsInput().IdempotencyKey(\\\\&amp;quot;UUID\\\\&amp;quot;).TransferInfo(transferInfo)\\\\nres, httpRes, err := service.TransfersApi.TransferFunds(context.Background(), req)&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;py&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Python&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;# Adyen Python API Library v13.3.0\\\\nimport Adyen\\\\n\\\\nadyen = Adyen.Adyen()\\\\nadyen.client.xapikey = \\\\&amp;quot;ADYEN_BALANCE_PLATFORM_API_KEY\\\\&amp;quot;\\\\nadyen.client.platform = \\\\&amp;quot;test\\\\&amp;quot; # The environment to use library in.\\\\n\\\\n# Create the request object(s)\\\\njson_request = {\\\\n  \\\\&amp;quot;amount\\\\&amp;quot;: {\\\\n    \\\\&amp;quot;currency\\\\&amp;quot;: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n    \\\\&amp;quot;value\\\\&amp;quot;: 1000\\\\n  },\\\\n  \\\\&amp;quot;balanceAccountId\\\\&amp;quot;: \\\\&amp;quot;BA00000000000000000000001\\\\&amp;quot;,\\\\n  \\\\&amp;quot;category\\\\&amp;quot;: \\\\&amp;quot;internal\\\\&amp;quot;,\\\\n  \\\\&amp;quot;description\\\\&amp;quot;: \\\\&amp;quot;YOUR_DESCRIPTION_FOR_THE_TRANSFER\\\\&amp;quot;,\\\\n  \\\\&amp;quot;reference\\\\&amp;quot;: \\\\&amp;quot;YOUR_UNIQUE_REFERENCE_FOR_THE_TRANSFER\\\\&amp;quot;,\\\\n  \\\\&amp;quot;referenceForBeneficiary\\\\&amp;quot;: \\\\&amp;quot;YOUR_REFERENCE_SENT_TO_BENEFICIARY\\\\&amp;quot;,\\\\n  \\\\&amp;quot;counterparty\\\\&amp;quot;: {\\\\n    \\\\&amp;quot;bankAccount\\\\&amp;quot;: {\\\\n      \\\\&amp;quot;accountHolder\\\\&amp;quot;: {\\\\n        \\\\&amp;quot;fullName\\\\&amp;quot;: \\\\&amp;quot;A. Klaassen\\\\&amp;quot;\\\\n      },\\\\n      \\\\&amp;quot;accountIdentification\\\\&amp;quot;: {\\\\n        \\\\&amp;quot;type\\\\&amp;quot;: \\\\&amp;quot;iban\\\\&amp;quot;,\\\\n        \\\\&amp;quot;iban\\\\&amp;quot;: \\\\&amp;quot;NL91ABNA0417164300\\\\&amp;quot;\\\\n      }\\\\n    }\\\\n  }\\\\n}\\\\n\\\\n# Send the request\\\\nresult = adyen.transfers.transfers_api.transfer_funds(request=json_request, idempotency_key=\\\\&amp;quot;UUID\\\\&amp;quot;)&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;rb&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Ruby&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;# Adyen Ruby API Library v10.1.1\\\\nrequire \\\\&amp;quot;adyen-ruby-api-library\\\\&amp;quot;\\\\n\\\\nadyen = Adyen::Client.new\\\\nadyen.api_key = &#039;ADYEN_BALANCE_PLATFORM_API_KEY&#039;\\\\nadyen.env = :test # Set to \\\\&amp;quot;live\\\\&amp;quot; for live environment\\\\n\\\\n# Create the request object(s)\\\\nrequest_body = {\\\\n  :amount =&amp;gt; {\\\\n    :currency =&amp;gt; &#039;EUR&#039;,\\\\n    :value =&amp;gt; 1000\\\\n  },\\\\n  :balanceAccountId =&amp;gt; &#039;BA00000000000000000000001&#039;,\\\\n  :category =&amp;gt; &#039;internal&#039;,\\\\n  :description =&amp;gt; &#039;YOUR_DESCRIPTION_FOR_THE_TRANSFER&#039;,\\\\n  :reference =&amp;gt; &#039;YOUR_UNIQUE_REFERENCE_FOR_THE_TRANSFER&#039;,\\\\n  :referenceForBeneficiary =&amp;gt; &#039;YOUR_REFERENCE_SENT_TO_BENEFICIARY&#039;,\\\\n  :counterparty =&amp;gt; {\\\\n    :bankAccount =&amp;gt; {\\\\n      :accountHolder =&amp;gt; {\\\\n        :fullName =&amp;gt; &#039;A. Klaassen&#039;\\\\n      },\\\\n      :accountIdentification =&amp;gt; {\\\\n        :type =&amp;gt; &#039;iban&#039;,\\\\n        :iban =&amp;gt; &#039;NL91ABNA0417164300&#039;\\\\n      }\\\\n    }\\\\n  }\\\\n}\\\\n\\\\n# Send the request\\\\nresult = adyen.transfers.transfers_api.transfer_funds(request_body, headers: { &#039;Idempotency-Key&#039; =&amp;gt; &#039;UUID&#039; })&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;ts&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;NodeJS (TypeScript)&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Node API Library v23.3.0\\\\nimport { Client, TransfersAPI, Types } from \\\\&amp;quot;@adyen\\\\\\\/api-library\\\\&amp;quot;;\\\\n\\\\nconst client = new Client({ apiKey: \\\\&amp;quot;ADYEN_BALANCE_PLATFORM_API_KEY\\\\&amp;quot;, environment: \\\\&amp;quot;TEST\\\\&amp;quot; });\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nconst partyIdentification3: Types.transfers.PartyIdentification = {\\\\n  fullName: \\\\&amp;quot;A. Klaassen\\\\&amp;quot;\\\\n};\\\\n\\\\nconst ibanAccountIdentification: Types.transfers.IbanAccountIdentification = {\\\\n  iban: \\\\&amp;quot;NL91ABNA0417164300\\\\&amp;quot;,\\\\n  type: Types.transfers.IbanAccountIdentification.TypeEnum.Iban\\\\n};\\\\n\\\\nconst bankAccountV33: Types.transfers.BankAccountV3 = {\\\\n  accountHolder: partyIdentification3,\\\\n  accountIdentification: ibanAccountIdentification\\\\n};\\\\n\\\\nconst amount: Types.transfers.Amount = {\\\\n  currency: \\\\&amp;quot;EUR\\\\&amp;quot;,\\\\n  value: 1000\\\\n};\\\\n\\\\nconst counterpartyInfoV3: Types.transfers.CounterpartyInfoV3 = {\\\\n  bankAccount: bankAccountV33\\\\n};\\\\n\\\\nconst transferInfo: Types.transfers.TransferInfo = {\\\\n  balanceAccountId: \\\\&amp;quot;BA00000000000000000000001\\\\&amp;quot;,\\\\n  reference: \\\\&amp;quot;YOUR_UNIQUE_REFERENCE_FOR_THE_TRANSFER\\\\&amp;quot;,\\\\n  amount: amount,\\\\n  referenceForBeneficiary: \\\\&amp;quot;YOUR_REFERENCE_SENT_TO_BENEFICIARY\\\\&amp;quot;,\\\\n  description: \\\\&amp;quot;YOUR_DESCRIPTION_FOR_THE_TRANSFER\\\\&amp;quot;,\\\\n  counterparty: counterpartyInfoV3,\\\\n  category: Types.transfers.TransferInfo.CategoryEnum.Internal\\\\n};\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nconst transfersAPI = new TransfersAPI(client);\\\\nconst response = transfersAPI.TransfersApi.transferFunds(transferInfo, { idempotencyKey: \\\\&amp;quot;UUID\\\\&amp;quot; });&amp;quot;}]\\&quot; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;Verify that the response header contains &lt;code&gt;status&lt;\\\/code&gt; &lt;strong&gt;authorised&lt;\\\/strong&gt;. This means that the authentication and transfer request were successful.&lt;br \\\/&gt;\\nThe following example shows a response for a successful funds transfer.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Finalize funds transfer response&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n    \\\\\\&quot;id\\\\\\&quot;: \\\\\\&quot;1W1UG35U8A9J5ZLG\\\\\\&quot;,\\\\n    \\\\\\&quot;amount\\\\\\&quot;: {\\\\n        \\\\\\&quot;currency\\\\\\&quot;: \\\\\\&quot;EUR\\\\\\&quot;,\\\\n        \\\\\\&quot;value\\\\\\&quot;: 1000\\\\n    },\\\\n    \\\\\\&quot;balanceAccountId\\\\\\&quot;: \\\\\\&quot;BA00000000000000000000001\\\\\\&quot;,\\\\n    \\\\\\&quot;category\\\\\\&quot;: \\\\\\&quot;bank\\\\\\&quot;,\\\\n    \\\\\\&quot;counterparty\\\\\\&quot;: {\\\\n        \\\\\\&quot;bankAccount\\\\\\&quot;: {\\\\n            \\\\\\&quot;accountHolder\\\\\\&quot;: {\\\\n                \\\\\\&quot;fullName\\\\\\&quot;: \\\\\\&quot;A. Klaassen\\\\\\&quot;\\\\n            },\\\\n            \\\\\\&quot;accountIdentification\\\\\\&quot;: {\\\\n                \\\\\\&quot;type\\\\\\&quot;: \\\\\\&quot;iban\\\\\\&quot;,\\\\n                \\\\\\&quot;iban\\\\\\&quot;: \\\\\\&quot;NL91ABNA0417164300\\\\\\&quot;\\\\n            }\\\\n        }\\\\n    },\\\\n    \\\\\\&quot;description\\\\\\&quot;: \\\\\\&quot;YOUR_DESCRIPTION_FOR_THE_TRANSFER\\\\\\&quot;,\\\\n    \\\\\\&quot;reference\\\\\\&quot;: \\\\\\&quot;YOUR_UNIQUE_REFERENCE_FOR_THE_TRANSFER\\\\\\&quot;,\\\\n    \\\\\\&quot;referenceForBeneficiary\\\\\\&quot;: \\\\\\&quot;YOUR_REFERENCE_SENT_TO_BENEFICIARY\\\\\\&quot;,\\\\n    \\\\\\&quot;direction\\\\\\&quot;: \\\\\\&quot;outgoing\\\\\\&quot;,\\\\n    \\\\\\&quot;reason\\\\\\&quot;: \\\\\\&quot;approved\\\\\\&quot;,\\\\n    \\\\\\&quot;status\\\\\\&quot;: \\\\\\&quot;authorised\\\\\\&quot;\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;\\\/li&gt;\\n&lt;\\\/ol&gt;\\n&quot;,&quot;altTitle&quot;:&quot;initiation&quot;,&quot;oldTabId&quot;:&quot;finalize-sca-initiation_1&quot;,&quot;relation&quot;:&quot;initiation&quot;},{&quot;title&quot;:&quot;Authenticated during approval&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;To finalize the transfer:&lt;\\\/p&gt;\\n&lt;ol&gt;\\n&lt;li&gt;\\n&lt;p&gt;Make a POST  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/transfers\\\/latest\\\/post\\\/transfers\\\/approve\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/transfers\\\/approve&lt;\\\/a&gt; request, specifying the following parameters:&lt;\\\/p&gt;\\n&lt;div class=\\&quot;notices green\\&quot;&gt;\\n&lt;p&gt;The values of the body parameters must match the ones previously submitted to the &lt;code&gt;\\\/transfers\\\/approve&lt;\\\/code&gt; endpoint &lt;a href=\\&quot;#initiate-transfer\\&quot;&gt;when initiating the transfer&lt;\\\/a&gt;.&lt;\\\/p&gt;\\n&lt;\\\/div&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th&gt;&lt;strong&gt;Parameter name&lt;\\\/strong&gt;&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: center;\\&quot;&gt;&lt;strong&gt;Type&lt;\\\/strong&gt;&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: center;\\&quot;&gt;&lt;strong&gt;Required&lt;\\\/strong&gt;&lt;\\\/th&gt;\\n&lt;th&gt;&lt;strong&gt;Description&lt;\\\/strong&gt;&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/transfers\\\/latest\\\/post\\\/transfers\\\/approve#header-WWW_Authenticate\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;WWW-Authenticate&lt;\\\/a&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;Header&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td&gt;&lt;code&gt;SCA realm&lt;\\\/code&gt;: &lt;strong&gt;ApproveTransfers&lt;\\\/strong&gt;.&lt;br&gt;&lt;code&gt;auth-param1&lt;\\\/code&gt;: Base64-encoded value of &lt;strong&gt;sdkOutput&lt;\\\/strong&gt; you get when you &lt;a href=\\&quot;#authenticate-user\\&quot;&gt;authenticate the user&lt;\\\/a&gt;.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/transfers\\\/latest\\\/post\\\/transfers\\\/approve#request-transferIds\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;transferIds&lt;\\\/a&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;Body&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td&gt;An array containing the unique identifiers of the transfers that you decide to approve.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Finalize approval of funds transfers&#039;\\&quot; :id=\\&quot;&#039;finalize-transfer-sca-approval&#039;\\&quot; :code-data=\\&quot;[{&amp;quot;language&amp;quot;:&amp;quot;bash&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;curl&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;curl https:\\\\\\\/\\\\\\\/balanceplatform-api-test.adyen.com\\\\\\\/btl\\\\\\\/v4\\\\\\\/transfers\\\\\\\/approve \\\\\\\\\\\\n-H &#039;x-api-key: ADYEN_BALANCE_PLATFORM_API_KEY&#039; \\\\\\\\\\\\n-H &#039;content-type: application\\\\\\\/json&#039; \\\\\\\\\\\\n-H &#039;WWW-Authenticate: SCA realm=\\\\&amp;quot;ApproveTransfers\\\\&amp;quot; auth-param1=\\\\&amp;quot;CeCcEEJf2UPC7pB0K7AtEgLZX7cTvnqNznJF...\\\\&amp;quot;&#039; \\\\\\\\\\\\n-X POST \\\\\\\\\\\\n-d &#039;{\\\\n    \\\\&amp;quot;transferIds\\\\&amp;quot;: [\\\\n        \\\\&amp;quot;APUFHASUFD4AS\\\\&amp;quot;,\\\\n        \\\\&amp;quot;407ASFPUHASFA\\\\&amp;quot;\\\\n    ]\\\\n}&#039;&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;java&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Java&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Java API Library v33.0.0\\\\nimport com.adyen.Client;\\\\nimport com.adyen.enums.Environment;\\\\nimport com.adyen.model.transfers.*;\\\\nimport java.time.OffsetDateTime;\\\\nimport java.util.*;\\\\nimport com.adyen.model.RequestOptions;\\\\nimport com.adyen.service.transfers.*;\\\\n\\\\nClient client = new Client(\\\\&amp;quot;ADYEN_BALANCE_PLATFORM_API_KEY\\\\&amp;quot;, Environment.TEST);\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nApproveTransfersRequest approveTransfersRequest = new ApproveTransfersRequest()\\\\n  .transferIds(Arrays.asList(\\\\&amp;quot;APUFHASUFD4AS\\\\&amp;quot;, \\\\&amp;quot;407ASFPUHASFA\\\\&amp;quot;));\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nTransfersApi service = new TransfersApi(client);\\\\nservice.approveInitiatedTransfers(approveTransfersRequest, new RequestOptions().idempotencyKey(\\\\&amp;quot;UUID\\\\&amp;quot;));&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;php&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;PHP&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;?php\\\\n\\\\\\\/\\\\\\\/ Adyen PHP API Library v24.0.0\\\\nuse Adyen\\\\\\\\Client;\\\\nuse Adyen\\\\\\\\Environment;\\\\nuse Adyen\\\\\\\\Model\\\\\\\\Transfers\\\\\\\\ApproveTransfersRequest;\\\\nuse Adyen\\\\\\\\Service\\\\\\\\Transfers\\\\\\\\TransfersApi;\\\\n\\\\n$client = new Client();\\\\n$client-&amp;gt;setXApiKey(\\\\&amp;quot;ADYEN_BALANCE_PLATFORM_API_KEY\\\\&amp;quot;);\\\\n$client-&amp;gt;setEnvironment(Environment::TEST);\\\\n\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\n$approveTransfersRequest = new ApproveTransfersRequest();\\\\n$approveTransfersRequest\\\\n  -&amp;gt;setTransferIds(array(\\\\&amp;quot;APUFHASUFD4AS\\\\&amp;quot;, \\\\&amp;quot;407ASFPUHASFA\\\\&amp;quot;));\\\\n\\\\n$requestOptions[&#039;idempotencyKey&#039;] = &#039;UUID&#039;;\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\n$service = new TransfersApi($client);\\\\n$service-&amp;gt;approveInitiatedTransfers($approveTransfersRequest, $requestOptions);&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;cs&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;C#&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen .net API Library v28.0.0\\\\nusing Adyen;\\\\nusing Environment = Adyen.Model.Environment;\\\\nusing Adyen.Model;\\\\nusing Adyen.Model.Transfers;\\\\nusing Adyen.Service.Transfers;\\\\n\\\\nvar config = new Config()\\\\n{\\\\n    XApiKey = \\\\&amp;quot;ADYEN_BALANCE_PLATFORM_API_KEY\\\\&amp;quot;,\\\\n    Environment = Environment.Test\\\\n};\\\\nvar client = new Client(config);\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nApproveTransfersRequest approveTransfersRequest = new ApproveTransfersRequest\\\\n{\\\\n  TransferIds = { \\\\&amp;quot;APUFHASUFD4AS\\\\&amp;quot;, \\\\&amp;quot;407ASFPUHASFA\\\\&amp;quot; }\\\\n};\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nvar service = new TransfersService(client);\\\\nservice.ApproveInitiatedTransfers(approveTransfersRequest, requestOptions: new RequestOptions { IdempotencyKey = \\\\&amp;quot;UUID\\\\&amp;quot;});&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;js&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;NodeJS (JavaScript)&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Node API Library v23.3.0\\\\nconst { Client, TransfersAPI } = require(&#039;@adyen\\\\\\\/api-library&#039;);\\\\n\\\\nconst client = new Client({ apiKey: \\\\&amp;quot;ADYEN_BALANCE_PLATFORM_API_KEY\\\\&amp;quot;, environment: \\\\&amp;quot;TEST\\\\&amp;quot; });\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nconst approveTransfersRequest = {\\\\n  transferIds: [ \\\\&amp;quot;APUFHASUFD4AS\\\\&amp;quot;, \\\\&amp;quot;407ASFPUHASFA\\\\&amp;quot; ]\\\\n}\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nconst transfersAPI = new TransfersAPI(client);\\\\ntransfersAPI.TransfersApi.approveInitiatedTransfers(approveTransfersRequest, { idempotencyKey: \\\\&amp;quot;UUID\\\\&amp;quot; });&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;go&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Go&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Go API Library v17.0.0\\\\nimport (\\\\n  \\\\&amp;quot;context\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v17\\\\\\\/src\\\\\\\/common\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v17\\\\\\\/src\\\\\\\/adyen\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v17\\\\\\\/src\\\\\\\/transfers\\\\&amp;quot;\\\\n)\\\\nclient := adyen.NewClient(&amp;amp;common.Config{\\\\n  ApiKey:      \\\\&amp;quot;ADYEN_BALANCE_PLATFORM_API_KEY\\\\&amp;quot;,\\\\n  Environment: common.TestEnv,\\\\n})\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\napproveTransfersRequest := transfers.ApproveTransfersRequest{\\\\n  TransferIds: []string{\\\\n    \\\\&amp;quot;APUFHASUFD4AS\\\\&amp;quot;, \\\\&amp;quot;407ASFPUHASFA\\\\&amp;quot;,\\\\n  },\\\\n}\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nservice := client.Transfers()\\\\nreq := service.TransfersApi.ApproveInitiatedTransfersInput().IdempotencyKey(\\\\&amp;quot;UUID\\\\&amp;quot;).ApproveTransfersRequest(approveTransfersRequest)\\\\nservice.TransfersApi.ApproveInitiatedTransfers(context.Background(), req)&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;py&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Python&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;# Adyen Python API Library v13.3.0\\\\nimport Adyen\\\\n\\\\nadyen = Adyen.Adyen()\\\\nadyen.client.xapikey = \\\\&amp;quot;ADYEN_BALANCE_PLATFORM_API_KEY\\\\&amp;quot;\\\\nadyen.client.platform = \\\\&amp;quot;test\\\\&amp;quot; # The environment to use library in.\\\\n\\\\n# Create the request object(s)\\\\njson_request = {\\\\n  \\\\&amp;quot;transferIds\\\\&amp;quot;: [ \\\\&amp;quot;APUFHASUFD4AS\\\\&amp;quot;, \\\\&amp;quot;407ASFPUHASFA\\\\&amp;quot; ]\\\\n}\\\\n\\\\n# Send the request\\\\nadyen.transfers.transfers_api.approve_initiated_transfers(request=json_request, idempotency_key=\\\\&amp;quot;UUID\\\\&amp;quot;)&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;rb&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Ruby&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;# Adyen Ruby API Library v10.1.1\\\\nrequire \\\\&amp;quot;adyen-ruby-api-library\\\\&amp;quot;\\\\n\\\\nadyen = Adyen::Client.new\\\\nadyen.api_key = &#039;ADYEN_BALANCE_PLATFORM_API_KEY&#039;\\\\nadyen.env = :test # Set to \\\\&amp;quot;live\\\\&amp;quot; for live environment\\\\n\\\\n# Create the request object(s)\\\\nrequest_body = {\\\\n  :transferIds =&amp;gt; [ &#039;APUFHASUFD4AS&#039;, &#039;407ASFPUHASFA&#039; ]\\\\n}\\\\n\\\\n# Send the request\\\\nadyen.transfers.transfers_api.approve_initiated_transfers(request_body, headers: { &#039;Idempotency-Key&#039; =&amp;gt; &#039;UUID&#039; })&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;ts&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;NodeJS (TypeScript)&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Node API Library v23.3.0\\\\nimport { Client, TransfersAPI, Types } from \\\\&amp;quot;@adyen\\\\\\\/api-library\\\\&amp;quot;;\\\\n\\\\nconst client = new Client({ apiKey: \\\\&amp;quot;ADYEN_BALANCE_PLATFORM_API_KEY\\\\&amp;quot;, environment: \\\\&amp;quot;TEST\\\\&amp;quot; });\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nconst approveTransfersRequest: Types.transfers.ApproveTransfersRequest = {\\\\n  transferIds: [\\\\&amp;quot;APUFHASUFD4AS\\\\&amp;quot;, \\\\&amp;quot;407ASFPUHASFA\\\\&amp;quot;]\\\\n};\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nconst transfersAPI = new TransfersAPI(client);\\\\ntransfersAPI.TransfersApi.approveInitiatedTransfers(approveTransfersRequest, { idempotencyKey: \\\\&amp;quot;UUID\\\\&amp;quot; });&amp;quot;}]\\&quot; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;Verify that you receive an &lt;strong&gt;HTTP 200 OK&lt;\\\/strong&gt; response with a header that contains &lt;code&gt;status&lt;\\\/code&gt; &lt;strong&gt;authorised&lt;\\\/strong&gt;.&lt;\\\/p&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;Verify that you receive a  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/transfer-webhooks\\\/latest\\\/post\\\/balancePlatform.transfer.updated\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;balancePlatform.transfer.updated&lt;\\\/a&gt; webhook with &lt;code&gt;status&lt;\\\/code&gt; &lt;strong&gt;authorised&lt;\\\/strong&gt;. This means that the authentication and transfer approval were successful.&lt;\\\/p&gt;\\n&lt;\\\/li&gt;\\n&lt;\\\/ol&gt;\\n&quot;,&quot;altTitle&quot;:&quot;approval&quot;,&quot;oldTabId&quot;:&quot;finalize-sca-approval_2&quot;,&quot;relation&quot;:&quot;approval&quot;}]\"\n            :should-update-when-url-changes='true'>\n        <\/tabs>\n    <\/div>\n<\/div>\n","url":"https:\/\/docs.adyen.com\/pt\/business-accounts\/sca-for-funds-transfers","articleFields":{"description":"Learn how to use our Authentication SDK to authenticate your users when they make transfers.","feedback_component":true,"type":"page","_expandable":{"operations":""},"status":"current","parameters":{"directoryPath":"\/business-accounts","model":"balance platform"},"last_edit_on":"30-11-2022 17:52"},"algolia":{"url":"https:\/\/docs.adyen.com\/pt\/business-accounts\/sca-for-funds-transfers","title":"SCA for funds transfers","content":"Each time a user in the European Economic Area (EEA) wants to transfer funds, you must authenticate them using SCA. To do so:\n\nCheck SCA eligibility.\nInitiate the transfer using the sdkOutput that you got when you checked the device for SCA eligibility.\nAuthenticate your user with the Authentication SDK.\nFinalize the transfer using the sdkOutput from the authentication step.\n\nRequirements\n\nMake sure that you have installed the Authentication SDK.\nMake sure that you have registered a device for your user.\nMake sure that your API credential has the following role:\n\nTransferService Webservice Initiate role\n\n\nCheck SCA eligibility\nBefore initiating a transfer, you must check for SCA eligibility and initiate the process to authenticate your users.\nThe following tabs explain how to check for SCA eligibility and initiate authentication using Kotlin, Swift, or JavaScript.\n\n\n    \n        \n        \n    \n\n\nYou will use the sdkOutput when initiating the transfer.\nInitiate transfer\nThe steps to initiate a transfer depend on whether you want to:\n\nAuthenticate the user when initiating a transfer request.\nAuthenticate the reviewer when approving a transfer request.\n\nBecause a reviewer can approve multiple transfers at the same time, performing SCA during approval allows you to satisfy the authentication requirements for multiple transfers with a single SCA process.\nThe following tabs explain both methods for initiating a transfer that requires SCA.\n\n\n    \n        \n        \n    \n\n\nAuthenticate user\nAfter initiating a transfer request, you have 10 minutes to complete the authentication process and finalize the transfer request.\nWhen authenticating your user, PSD2 requires you to show to your user the amount and the counterparty (payee) of the transfer that the user is authenticating for. To comply with these regulations, we recommend that you implement a push notification and use the amount and counterparty fields from:\n\nThe response to the POST  \/transfers request you used to create the transfer.\nThe response to a GET  \/transfers\/{id} request.\n\nTo authenticate your user with the Authentication SDK:\n\n\nTrigger the SDK to start user authentication and pass the auth-param1 value from the previous step as sdkInput.\n\n\n    \n        \n        \n    \n\n\n\n\nPass sdkOutput to your server.\n\n\nFinalize transfer\nThe steps to initiate a transfer depend on whether you:\n\nAuthenticated the user when initiating a transfer request.\nAuthenticated the reviewer when approving a transfer request.\n\nThe following tabs explain both methods for finalizing a transfer after completing SCA.\n\n\n    \n        \n        \n    \n\n","type":"page","locale":"pt","boost":18,"hierarchy":{"lvl0":"Home","lvl1":"Business accounts","lvl2":"SCA for funds transfers"},"hierarchy_url":{"lvl0":"https:\/\/docs.adyen.com\/pt","lvl1":"https:\/\/docs.adyen.com\/pt\/business-accounts","lvl2":"\/pt\/business-accounts\/sca-for-funds-transfers"},"levels":3,"category":"","category_color":"","tags":["funds","transfers"]}}
