--- title: "Payouts in stages" description: "Learn how to make payouts in stages to bank accounts or wallets." url: "https://docs.adyen.com/online-payments/online-payouts/payouts-to-bank-accounts-and-wallets" source_url: "https://docs.adyen.com/online-payments/online-payouts/payouts-to-bank-accounts-and-wallets.md" canonical: "https://docs.adyen.com/online-payments/online-payouts/payouts-to-bank-accounts-and-wallets" last_modified: "2021-07-22T10:49:00+02:00" language: "en" --- # Payouts in stages Learn how to make payouts in stages to bank accounts or wallets. We are no longer accepting new integrations with the [Payout API](https://docs.adyen.com/api-explorer/Payout/latest/overview); use the [Transfers API](https://docs.adyen.com/api-explorer/transfers/latest/overview) instead. With the Transfers API, you can: * Handle multiple payout use cases with a single API. * Use new payout functionalities, such as instant payouts. * Receive webhooks with more details and defined transfer states. If you are: * Building a new integration, refer to [Pay out to bank accounts](/payouts/payout-service/pay-out-to-bank-accounts/) to integrate with the Transfers API. * Already integrated with the Payout API, reach out to your Adyen contact for information on how to migrate to the Transfers API. Payouts in stages require a four-eye policy check: each payout has to be confirmed and checked by a user different from the one that submitted the payout. When you have enabled these payouts, you will have two API credentials: * **storePayout\@Company.\[Company Account Code]** – This user can store payout details, and submit payouts. * **reviewPayout\@Company.\[Company Account Code]** – This user can confirm or decline payouts. The examples on this page show payouts to a bank account. See [payouts in stages](/online-payments/online-payouts/payouts-to-bank-accounts-and-wallets) for more examples of payouts in stages to bank accounts and wallets. Using payouts in stages requires compliance approval and additional configuration on our end. To enable this functionality, contact your account manager or our [Support Team](https://ca-test.adyen.com/ca/ca/contactUs/support.shtml?form=other). ## Overview Before you can make a payout, you have to save the account details. You can choose to save the details and then submit the payout, or you can save the details and submit the details in one call. You can use the stored details when you make the next payout to the same account. The last step is to confirm or decline the payout. ### Store details and then submit a payout 1. Make a [/storeDetail](#store-details) call to save the payout details. 2. Make a [/submitThirdParty](#submit-payout) call to submit the payout. 3. [Confirm or decline](#confirm-decline) the payout. ### Store details and immediately submit a payout 1. Make a [/storeDetailAndSubmitThirdParty](#store-and-submit-payout) call to save the payout details and submit the payout. 2. [Confirm or decline](#confirm-decline) the payout. ## Store payout details To submit a payout request, the details of the account receiving the funds need to be part of a [recurring contract](/online-payments/classic-integrations/classic-api-integration/tokenization). The recurring contract is used for subsequent payouts to this account. You can create a recurring contract with the [/storeDetail](https://docs.adyen.com/api-explorer/Payout/latest/post/storeDetail) call. The following example shows how you can store bank account details. You can also [store the details when you submit](#store-and-submit-payout) the first payout. **Store payout details** #### curl ```bash curl https://pal-test.adyen.com/pal/servlet/Payout/v68/storeDetail \ -u "storePayout@Company.[YourCompany]":"YourBasicAuthenticationPassword" \ -H 'content-type: application/json' \ -d '{ "merchantAccount" : "YOUR_MERCHANT_ACCOUNT", "recurring" : { "contract" : "PAYOUT" }, "bank": { "bankName": "AbnAmro", "bic": "ABNANL2A", "countryCode": "NL", "iban": "NL46TEST0136169112", "ownerName": "J. Klaassen", "bankCity": "Amsterdam", "taxId":"bankTaxId" }, "shopperReference" : "YOUR_UNIQUE_SHOPPER_ID", "shopperEmail" : "shopper@example.com", "shopperName" : { "firstName" : "John", "gender" : "MALE", "lastName" : "Klaassen" }, "dateOfBirth" : "1990-01-01", "entityType" : "Company", "nationality" : "NL", "billingAddress": { "houseNumberOrName":"6-50", "street":"Simon Carmiggeltstraat", "city":"Amsterdam", "country" : "NL", "postalCode":"1011 DJ" } } }' ``` #### Java ```java // Adyen Java API Library v25.0.0 import com.adyen.Client; import com.adyen.enums.Environment; import com.adyen.model.payout.*; import java.time.OffsetDateTime; import java.util.*; import com.adyen.service.payout.*; Client client = new Client("ADYEN_API_KEY", Environment.TEST); // Create the request object(s) BankAccount bankAccount = new BankAccount() .ownerName("J. Klaassen") .countryCode("NL") .taxId("bankTaxId") .iban("NL46TEST0136169112") .bankName("AbnAmro") .bic("ABNANL2A") .bankCity("Amsterdam"); Name name = new Name() .firstName("John") .lastName("Klaassen"); Recurring recurring = new Recurring() .contract(Recurring.ContractEnum.PAYOUT); Address address = new Address() .country("NL") .city("Amsterdam") .houseNumberOrName("6-50") .street("Simon Carmiggeltstraat") .postalCode("1011 DJ"); StoreDetailRequest storeDetailRequest = new StoreDetailRequest() .bank(bankAccount) .shopperName(name) .merchantAccount("YOUR_MERCHANT_ACCOUNT") .nationality("NL") .recurring(recurring) .entityType(StoreDetailRequest.EntityTypeEnum.COMPANY) .shopperEmail("shopper@example.com") .billingAddress(address) .shopperReference("YOUR_UNIQUE_SHOPPER_ID"); // Make the API call InitializationApi service = new InitializationApi(client); StoreDetailResponse response = service.storeDetail(storeDetailRequest, null); ``` #### PHP ```php // Adyen PHP API Library v17.4.0 use Adyen\Client; use Adyen\Environment; use Adyen\Model\Payout\BankAccount; use Adyen\Model\Payout\Name; use Adyen\Model\Payout\Recurring; use Adyen\Model\Payout\Address; use Adyen\Model\Payout\StoreDetailRequest; use Adyen\Service\Payout\InitializationApi; $client = new Client(); $client->setXApiKey("ADYEN_API_KEY"); $client->setEnvironment(Environment::TEST); // Create the request object(s) $bankAccount = new BankAccount(); $bankAccount ->setOwnerName("J. Klaassen") ->setCountryCode("NL") ->setTaxId("bankTaxId") ->setIban("NL46TEST0136169112") ->setBankName("AbnAmro") ->setBic("ABNANL2A") ->setBankCity("Amsterdam"); $name = new Name(); $name ->setFirstName("John") ->setLastName("Klaassen"); $recurring = new Recurring(); $recurring ->setContract("PAYOUT"); $address = new Address(); $address ->setCountry("NL") ->setCity("Amsterdam") ->setHouseNumberOrName("6-50") ->setStreet("Simon Carmiggeltstraat") ->setPostalCode("1011 DJ"); $storeDetailRequest = new StoreDetailRequest(); $storeDetailRequest ->setBank($bankAccount) ->setShopperName($name) ->setMerchantAccount("YOUR_MERCHANT_ACCOUNT") ->setNationality("NL") ->setRecurring($recurring) ->setEntityType("Company") ->setShopperEmail("shopper@example.com") ->setBillingAddress($address) ->setShopperReference("YOUR_UNIQUE_SHOPPER_ID"); // Make the API call $service = new InitializationApi($client); $response = $service->storeDetail($storeDetailRequest); ``` #### C\# ```cs // Adyen .net API Library v14.4.0 using Adyen; using Environment = Adyen.Model.Environment; using Adyen.Model; using Adyen.Model.Payout; using Adyen.Service.Payout; var config = new Config() { XApiKey = "ADYEN_API_KEY", Environment = Environment.Test }; var client = new Client(config); // Create the request object(s) BankAccount bankAccount = new BankAccount { OwnerName = "J. Klaassen", CountryCode = "NL", TaxId = "bankTaxId", Iban = "NL46TEST0136169112", BankName = "AbnAmro", Bic = "ABNANL2A", BankCity = "Amsterdam" }; Name name = new Name { FirstName = "John", LastName = "Klaassen" }; Recurring recurring = new Recurring { Contract = Recurring.ContractEnum.PAYOUT }; Address address = new Address { Country = "NL", City = "Amsterdam", HouseNumberOrName = "6-50", Street = "Simon Carmiggeltstraat", PostalCode = "1011 DJ" }; StoreDetailRequest storeDetailRequest = new StoreDetailRequest { Bank = bankAccount, ShopperName = name, MerchantAccount = "YOUR_MERCHANT_ACCOUNT", Nationality = "NL", Recurring = recurring, EntityType = StoreDetailRequest.EntityTypeEnum.Company, ShopperEmail = "shopper@example.com", BillingAddress = address, ShopperReference = "YOUR_UNIQUE_SHOPPER_ID" }; // Make the API call var service = new InitializationService(client); var response = service.StoreDetail(storeDetailRequest); ``` #### NodeJS (JavaScript) ```js // Adyen Node API Library v16.2.0 // Require the parts of the module you want to use const { Client, PayoutAPI } = require('@adyen/api-library'); // Initialize the client object const client = new Client({apiKey: "ADYEN_API_KEY", environment: "TEST"}); // Create the request object(s) const storeDetailRequest = { merchantAccount: "YOUR_MERCHANT_ACCOUNT", recurring: { contract: "PAYOUT" }, bank: { bankName: "AbnAmro", bic: "ABNANL2A", countryCode: "NL", iban: "NL46TEST0136169112", ownerName: "J. Klaassen", bankCity: "Amsterdam", taxId: "bankTaxId" }, shopperReference: "YOUR_UNIQUE_SHOPPER_ID", shopperEmail: "shopper@example.com", shopperName: { firstName: "John", gender: "MALE", lastName: "Klaassen" }, dateOfBirth: new Date("1990-01-01"), entityType: "Company", nationality: "NL", billingAddress: { houseNumberOrName: "6-50", street: "Simon Carmiggeltstraat", city: "Amsterdam", country: "NL", postalCode: "1011 DJ" } } // Make the API call const payoutAPI = new PayoutAPI(client); const response = payoutAPI.InitializationApi.storeDetail(storeDetailRequest); ``` #### Go ```go // Adyen Go API Library v9.3.0 import ( "context" "github.com/adyen/adyen-go-api-library/v9/src/common" "github.com/adyen/adyen-go-api-library/v9/src/adyen" "github.com/adyen/adyen-go-api-library/v9/src/payout" ) client := adyen.NewClient(&common.Config{ ApiKey: "ADYEN_API_KEY", Environment: common.TestEnv, }) // Create the request object(s) bankAccount := payout.BankAccount{ OwnerName: common.PtrString("J. Klaassen"), CountryCode: common.PtrString("NL"), TaxId: common.PtrString("bankTaxId"), Iban: common.PtrString("NL46TEST0136169112"), BankName: common.PtrString("AbnAmro"), Bic: common.PtrString("ABNANL2A"), BankCity: common.PtrString("Amsterdam"), } name := payout.Name{ FirstName: "John", LastName: "Klaassen", } recurring := payout.Recurring{ Contract: common.PtrString("PAYOUT"), } address := payout.Address{ Country: "NL", City: "Amsterdam", HouseNumberOrName: "6-50", Street: "Simon Carmiggeltstraat", PostalCode: "1011 DJ", } storeDetailRequest := payout.StoreDetailRequest{ Bank: &bankAccount, ShopperName: &name, MerchantAccount: "YOUR_MERCHANT_ACCOUNT", Nationality: "NL", Recurring: recurring, EntityType: "Company", ShopperEmail: "shopper@example.com", BillingAddress: &address, ShopperReference: "YOUR_UNIQUE_SHOPPER_ID", } // Make the API call service := client.Payout() req := service.InitializationApi.StoreDetailInput().StoreDetailRequest(storeDetailRequest) res, httpRes, err := service.InitializationApi.StoreDetail(context.Background(), req) ``` #### Python ```py # Adyen Python API Library v12.2.0 import Adyen adyen = Adyen.Adyen() adyen.client.xapikey = "ADYEN_API_KEY" adyen.client.platform = "test" # The environment to use library in. # Create the request object(s) json_request = { "merchantAccount": "YOUR_MERCHANT_ACCOUNT", "recurring": { "contract": "PAYOUT" }, "bank": { "bankName": "AbnAmro", "bic": "ABNANL2A", "countryCode": "NL", "iban": "NL46TEST0136169112", "ownerName": "J. Klaassen", "bankCity": "Amsterdam", "taxId": "bankTaxId" }, "shopperReference": "YOUR_UNIQUE_SHOPPER_ID", "shopperEmail": "shopper@example.com", "shopperName": { "firstName": "John", "gender": "MALE", "lastName": "Klaassen" }, "dateOfBirth": "1990-01-01", "entityType": "Company", "nationality": "NL", "billingAddress": { "houseNumberOrName": "6-50", "street": "Simon Carmiggeltstraat", "city": "Amsterdam", "country": "NL", "postalCode": "1011 DJ" } } # Make the API call result = adyen.payout.initialization_api.store_detail(request=json_request) ``` #### Ruby ```rb # Adyen Ruby API Library v9.3.0 require "adyen-ruby-api-library" adyen = Adyen::Client.new adyen.api_key = 'ADYEN_API_KEY' adyen.env = :test # Set to "live" for live environment # Create the request object(s) request_body = { :merchantAccount => 'YOUR_MERCHANT_ACCOUNT', :recurring => { :contract => 'PAYOUT' }, :bank => { :bankName => 'AbnAmro', :bic => 'ABNANL2A', :countryCode => 'NL', :iban => 'NL46TEST0136169112', :ownerName => 'J. Klaassen', :bankCity => 'Amsterdam', :taxId => 'bankTaxId' }, :shopperReference => 'YOUR_UNIQUE_SHOPPER_ID', :shopperEmail => 'shopper@example.com', :shopperName => { :firstName => 'John', :gender => 'MALE', :lastName => 'Klaassen' }, :dateOfBirth => '1990-01-01', :entityType => 'Company', :nationality => 'NL', :billingAddress => { :houseNumberOrName => '6-50', :street => 'Simon Carmiggeltstraat', :city => 'Amsterdam', :country => 'NL', :postalCode => '1011 DJ' } } # Make the API call result = adyen.payout.initialization_api.store_detail(request_body) ``` #### NodeJS (TypeScript) ```ts // Adyen Node API Library v16.2.0 // Require the parts of the module you want to use import { Client, PayoutAPI, Types } from "@adyen/api-library"; // Initialize the client object const client = new Client({apiKey: "ADYEN_API_KEY", environment: "TEST"}); // Create the request object(s) const bankAccount: Types.payout.BankAccount = { ownerName: "J. Klaassen", countryCode: "NL", taxId: "bankTaxId", iban: "NL46TEST0136169112", bankName: "AbnAmro", bic: "ABNANL2A", bankCity: "Amsterdam" }; const name: Types.payout.Name = { firstName: "John", lastName: "Klaassen" }; const recurring: Types.payout.Recurring = { contract: Types.payout.Recurring.ContractEnum.PAYOUT }; const address: Types.payout.Address = { country: "NL", city: "Amsterdam", houseNumberOrName: "6-50", street: "Simon Carmiggeltstraat", postalCode: "1011 DJ" }; const storeDetailRequest: Types.payout.StoreDetailRequest = { bank: bankAccount, shopperName: name, merchantAccount: "YOUR_MERCHANT_ACCOUNT", nationality: "NL", recurring: recurring, entityType: Types.payout.StoreDetailRequest.EntityTypeEnum.Company, shopperEmail: "shopper@example.com", billingAddress: address, shopperReference: "YOUR_UNIQUE_SHOPPER_ID" }; // Make the API call const payoutAPI = new PayoutAPI(client); const response = payoutAPI.InitializationApi.storeDetail(storeDetailRequest); ``` **Example response** ```json { "pspReference" : "ZC4R4RBFJGXXGN82", "recurringDetailReference" : "2313642467170922", "resultCode" : "Success" } ``` ## Submit a payout After you store the account details, you can submit payouts with a call to  [/submitThirdParty](https://docs.adyen.com/api-explorer/Payout/latest/post/submitThirdParty). You have to use the details of a [recurring contract](/online-payments/classic-integrations/classic-api-integration/tokenization) when you request the payout. To use the latest created recurring contract, use the `LATEST` values in the request. The following example shows how to make a payout to the bank account shown in the previous example. **Submit a payout** #### curl ```bash curl https://pal-test.adyen.com/pal/servlet/Payout/v68/submitThirdParty \ -u "storePayout@Company.[YourCompany]":"YourBasicAuthenticationPassword" \ -H 'content-type: application/json' \ -d '{ "amount":{ "value":1000, "currency":"EUR" }, "merchantAccount":"YOUR_MERCHANT_ACCOUNT", "recurring":{ "contract":"PAYOUT" }, "reference":"YOUR_REFERENCE_TO_THE_RECURRING_PAYMENT", "shopperReference":"YOUR_UNIQUE_SHOPPER_ID", "shopperEmail" : "shopper@example.com", "shopperName":{ "firstName":"John", "lastName":"Klaassen" }, "dateOfBirth":"1990-01-01", "entityType":"Company", "nationality":"NL", "selectedRecurringDetailReference":"LATEST" }' ``` #### Java ```java // Adyen Java API Library v32.0.0 import com.adyen.Client; import com.adyen.enums.Environment; import com.adyen.model.payout.*; import java.time.OffsetDateTime; import java.util.*; import com.adyen.service.payout.*; Client client = new Client("", Environment.TEST); // Create the request object(s) // Send the request InitializationApi service = new InitializationApi(client); SubmitResponse response = service.submitThirdParty(submitRequest, null); ``` #### PHP ```php setXApiKey(""); $client->setEnvironment(Environment::TEST); // Create the request object(s) // Send the request $service = new InitializationApi($client); $response = $service->submitThirdParty($submitRequest); ``` #### C\# ```cs // Adyen .net API Library v26.0.0 using Adyen; using Environment = Adyen.Model.Environment; using Adyen.Model; using Adyen.Model.Payout; using Adyen.Service.Payout; var config = new Config() { XApiKey = "", Environment = Environment.Test }; var client = new Client(config); // Create the request object(s) // Send the request var service = new InitializationService(client); var response = service.SubmitThirdParty(submitRequest); ``` #### NodeJS (JavaScript) ```js // Adyen Node API Library v22.1.0 // Require the parts of the module you want to use const { Client, PayoutAPI } = require('@adyen/api-library'); const client = new Client({ apiKey: "", environment: "TEST" }); // Create the request object(s) const submitRequest = { amount: { value: 1000, currency: "EUR" }, merchantAccount: "YOUR_MERCHANT_ACCOUNT", recurring: { contract: "PAYOUT" }, reference: "YOUR_REFERENCE_TO_THE_RECURRING_PAYMENT", shopperReference: "YOUR_UNIQUE_SHOPPER_ID", shopperEmail: "shopper@example.com", shopperName: { firstName: "John", lastName: "Klaassen" }, dateOfBirth: new Date("1990-01-01"), entityType: "Company", nationality: "NL", selectedRecurringDetailReference: "LATEST" } // Send the request const payoutAPI = new PayoutAPI(client); const response = payoutAPI.InitializationApi.submitThirdParty(submitRequest); ``` #### Go ```go // Adyen Go API Library v16.1.0 import ( "context" "github.com/adyen/adyen-go-api-library/v9/src/common" "github.com/adyen/adyen-go-api-library/v9/src/adyen" "github.com/adyen/adyen-go-api-library/v9/src/payout" ) client := adyen.NewClient(&common.Config{ ApiKey: "", Environment: common.TestEnv, }) // Create the request object(s) // Send the request service := client.Payout() req := service.InitializationApi.SubmitThirdPartyInput().SubmitRequest(submitRequest) res, httpRes, err := service.InitializationApi.SubmitThirdParty(context.Background(), req) ``` #### Python ```py # Adyen Python API Library v13.2.0 import Adyen adyen = Adyen.Adyen() adyen.client.xapikey = "" adyen.client.platform = "test" # The environment to use library in. # Create the request object(s) json_request = { "amount": { "value": 1000, "currency": "EUR" }, "merchantAccount": "YOUR_MERCHANT_ACCOUNT", "recurring": { "contract": "PAYOUT" }, "reference": "YOUR_REFERENCE_TO_THE_RECURRING_PAYMENT", "shopperReference": "YOUR_UNIQUE_SHOPPER_ID", "shopperEmail": "shopper@example.com", "shopperName": { "firstName": "John", "lastName": "Klaassen" }, "dateOfBirth": "1990-01-01", "entityType": "Company", "nationality": "NL", "selectedRecurringDetailReference": "LATEST" } # Send the request result = adyen.payout.initialization_api.submit_third_party(request=json_request) ``` #### Ruby ```rb # Adyen Ruby API Library v10.1.0 require "adyen-ruby-api-library" adyen = Adyen::Client.new adyen.api_key = '' adyen.env = :test # Set to "live" for live environment # Create the request object(s) request_body = { :amount => { :value => 1000, :currency => 'EUR' }, :merchantAccount => 'YOUR_MERCHANT_ACCOUNT', :recurring => { :contract => 'PAYOUT' }, :reference => 'YOUR_REFERENCE_TO_THE_RECURRING_PAYMENT', :shopperReference => 'YOUR_UNIQUE_SHOPPER_ID', :shopperEmail => 'shopper@example.com', :shopperName => { :firstName => 'John', :lastName => 'Klaassen' }, :dateOfBirth => '1990-01-01', :entityType => 'Company', :nationality => 'NL', :selectedRecurringDetailReference => 'LATEST' } # Send the request result = adyen.payout.initialization_api.submit_third_party(request_body) ``` #### NodeJS (TypeScript) ```ts // Adyen Node API Library v22.1.0 // Require the parts of the module you want to use import { Client, PayoutAPI, Types } from "@adyen/api-library"; const client = new Client({ apiKey: "", environment: "TEST" }); // Create the request object(s) // Send the request const payoutAPI = new PayoutAPI(client); const response = payoutAPI.InitializationApi.submitThirdParty(submitRequest); ``` **Example response** ```json { "pspReference" : "R5CZ2NWPJTGV9D82", "resultCode" : "[payout-submit-received]" } ``` ## Store details and submit a payout You can store the account details and make a payout request in a single API call to  [/storeDetailAndSubmitThirdParty](https://docs.adyen.com/api-explorer/Payout/latest/post/storeDetailAndSubmitThirdParty).  To do this, set the `recurring` value to `RECURRING,PAYOUT`. This creates a [recurring contract](/online-payments/classic-integrations/classic-api-integration/tokenization), which can be used for subsequent payouts to this account.  **Store payout details** #### curl ```bash curl https://pal-test.adyen.com/pal/servlet/Payout/v68/storeDetailAndSubmitThirdParty \ -u "storePayout@Company.[YourCompany]":"YourBasicAuthenticationPassword" \ -H 'content-type: application/json' \ -d '{ "amount":{ "value":2000, "currency":"EUR" }, "merchantAccount":"YOUR_MERCHANT_ACCOUNT", "recurring":{ "contract":"RECURRING,PAYOUT" }, "bank": { "bankName" : "Deutsche Bank", "iban" : "DE87123456781234567890", "countryCode" : "DE", "ownerName" : "A. Schneider" }, "reference":"YOUR_REFERENCE_TO_THE_RECURRING_PAYMENT", "shopperReference":"YOUR_UNIQUE_SHOPPER_ID", "shopperEmail":"shopper@example.com", "shopperName":{ "firstName":"A.", "lastName":"Schneider" }, "dateOfBirth":"1990-01-01", "entityType":"Company", "nationality":"NL" }' ``` #### Java ```java // Adyen Java API Library v25.0.0 import com.adyen.Client; import com.adyen.enums.Environment; import com.adyen.model.payout.*; import java.time.OffsetDateTime; import java.util.*; import com.adyen.service.payout.*; Client client = new Client("ADYEN_API_KEY", Environment.TEST); // Create the request object(s) Amount amount = new Amount() .currency("EUR") .value(2000L); BankAccount bankAccount = new BankAccount() .ownerName("A. Schneider") .countryCode("DE") .iban("DE87123456781234567890") .bankName("Deutsche Bank"); Name name = new Name() .firstName("A.") .lastName("Schneider"); Recurring recurring = new Recurring() .contract(Recurring.ContractEnum.RECURRING,PAYOUT); StoreDetailAndSubmitRequest storeDetailAndSubmitRequest = new StoreDetailAndSubmitRequest() .reference("YOUR_REFERENCE_TO_THE_RECURRING_PAYMENT") .amount(amount) .bank(bankAccount) .shopperName(name) .merchantAccount("YOUR_MERCHANT_ACCOUNT") .nationality("NL") .recurring(recurring) .entityType(StoreDetailAndSubmitRequest.EntityTypeEnum.COMPANY) .shopperEmail("shopper@example.com") .shopperReference("YOUR_UNIQUE_SHOPPER_ID"); // Make the API call InitializationApi service = new InitializationApi(client); StoreDetailAndSubmitResponse response = service.storeDetailAndSubmitThirdParty(storeDetailAndSubmitRequest, null); ``` #### PHP ```php // Adyen PHP API Library v17.4.0 use Adyen\Client; use Adyen\Environment; use Adyen\Model\Payout\Amount; use Adyen\Model\Payout\BankAccount; use Adyen\Model\Payout\Name; use Adyen\Model\Payout\Recurring; use Adyen\Model\Payout\StoreDetailAndSubmitRequest; use Adyen\Service\Payout\InitializationApi; $client = new Client(); $client->setXApiKey("ADYEN_API_KEY"); $client->setEnvironment(Environment::TEST); // Create the request object(s) $amount = new Amount(); $amount ->setCurrency("EUR") ->setValue(2000); $bankAccount = new BankAccount(); $bankAccount ->setOwnerName("A. Schneider") ->setCountryCode("DE") ->setIban("DE87123456781234567890") ->setBankName("Deutsche Bank"); $name = new Name(); $name ->setFirstName("A.") ->setLastName("Schneider"); $recurring = new Recurring(); $recurring ->setContract("RECURRING,PAYOUT"); $storeDetailAndSubmitRequest = new StoreDetailAndSubmitRequest(); $storeDetailAndSubmitRequest ->setReference("YOUR_REFERENCE_TO_THE_RECURRING_PAYMENT") ->setAmount($amount) ->setBank($bankAccount) ->setShopperName($name) ->setMerchantAccount("YOUR_MERCHANT_ACCOUNT") ->setNationality("NL") ->setRecurring($recurring) ->setEntityType("Company") ->setShopperEmail("shopper@example.com") ->setShopperReference("YOUR_UNIQUE_SHOPPER_ID"); // Make the API call $service = new InitializationApi($client); $response = $service->storeDetailAndSubmitThirdParty($storeDetailAndSubmitRequest); ``` #### C\# ```cs // Adyen .net API Library v14.4.0 using Adyen; using Environment = Adyen.Model.Environment; using Adyen.Model; using Adyen.Model.Payout; using Adyen.Service.Payout; var config = new Config() { XApiKey = "ADYEN_API_KEY", Environment = Environment.Test }; var client = new Client(config); // Create the request object(s) Amount amount = new Amount { Currency = "EUR", Value = 2000 }; BankAccount bankAccount = new BankAccount { OwnerName = "A. Schneider", CountryCode = "DE", Iban = "DE87123456781234567890", BankName = "Deutsche Bank" }; Name name = new Name { FirstName = "A.", LastName = "Schneider" }; Recurring recurring = new Recurring { Contract = Recurring.ContractEnum.RECURRING,PAYOUT }; StoreDetailAndSubmitRequest storeDetailAndSubmitRequest = new StoreDetailAndSubmitRequest { Reference = "YOUR_REFERENCE_TO_THE_RECURRING_PAYMENT", Amount = amount, Bank = bankAccount, ShopperName = name, MerchantAccount = "YOUR_MERCHANT_ACCOUNT", Nationality = "NL", Recurring = recurring, EntityType = StoreDetailAndSubmitRequest.EntityTypeEnum.Company, ShopperEmail = "shopper@example.com", ShopperReference = "YOUR_UNIQUE_SHOPPER_ID" }; // Make the API call var service = new InitializationService(client); var response = service.StoreDetailAndSubmitThirdParty(storeDetailAndSubmitRequest); ``` #### NodeJS (JavaScript) ```js // Adyen Node API Library v16.2.0 // Require the parts of the module you want to use const { Client, PayoutAPI } = require('@adyen/api-library'); // Initialize the client object const client = new Client({apiKey: "ADYEN_API_KEY", environment: "TEST"}); // Create the request object(s) const storeDetailAndSubmitRequest = { amount: { value: 2000, currency: "EUR" }, merchantAccount: "YOUR_MERCHANT_ACCOUNT", recurring: { contract: "RECURRING,PAYOUT" }, bank: { bankName: "Deutsche Bank", iban: "DE87123456781234567890", countryCode: "DE", ownerName: "A. Schneider" }, reference: "YOUR_REFERENCE_TO_THE_RECURRING_PAYMENT", shopperReference: "YOUR_UNIQUE_SHOPPER_ID", shopperEmail: "shopper@example.com", shopperName: { firstName: "A.", lastName: "Schneider" }, dateOfBirth: new Date("1990-01-01"), entityType: "Company", nationality: "NL" } // Make the API call const payoutAPI = new PayoutAPI(client); const response = payoutAPI.InitializationApi.storeDetailAndSubmitThirdParty(storeDetailAndSubmitRequest); ``` #### Go ```go // Adyen Go API Library v9.3.0 import ( "context" "github.com/adyen/adyen-go-api-library/v9/src/common" "github.com/adyen/adyen-go-api-library/v9/src/adyen" "github.com/adyen/adyen-go-api-library/v9/src/payout" ) client := adyen.NewClient(&common.Config{ ApiKey: "ADYEN_API_KEY", Environment: common.TestEnv, }) // Create the request object(s) amount := payout.Amount{ Currency: "EUR", Value: 2000, } bankAccount := payout.BankAccount{ OwnerName: common.PtrString("A. Schneider"), CountryCode: common.PtrString("DE"), Iban: common.PtrString("DE87123456781234567890"), BankName: common.PtrString("Deutsche Bank"), } name := payout.Name{ FirstName: "A.", LastName: "Schneider", } recurring := payout.Recurring{ Contract: common.PtrString("RECURRING,PAYOUT"), } storeDetailAndSubmitRequest := payout.StoreDetailAndSubmitRequest{ Reference: "YOUR_REFERENCE_TO_THE_RECURRING_PAYMENT", Amount: amount, Bank: &bankAccount, ShopperName: &name, MerchantAccount: "YOUR_MERCHANT_ACCOUNT", Nationality: "NL", Recurring: recurring, EntityType: "Company", ShopperEmail: "shopper@example.com", ShopperReference: "YOUR_UNIQUE_SHOPPER_ID", } // Make the API call service := client.Payout() req := service.InitializationApi.StoreDetailAndSubmitThirdPartyInput().StoreDetailAndSubmitRequest(storeDetailAndSubmitRequest) res, httpRes, err := service.InitializationApi.StoreDetailAndSubmitThirdParty(context.Background(), req) ``` #### Python ```py # Adyen Python API Library v12.2.0 import Adyen adyen = Adyen.Adyen() adyen.client.xapikey = "ADYEN_API_KEY" adyen.client.platform = "test" # The environment to use library in. # Create the request object(s) json_request = { "amount": { "value": 2000, "currency": "EUR" }, "merchantAccount": "YOUR_MERCHANT_ACCOUNT", "recurring": { "contract": "RECURRING,PAYOUT" }, "bank": { "bankName": "Deutsche Bank", "iban": "DE87123456781234567890", "countryCode": "DE", "ownerName": "A. Schneider" }, "reference": "YOUR_REFERENCE_TO_THE_RECURRING_PAYMENT", "shopperReference": "YOUR_UNIQUE_SHOPPER_ID", "shopperEmail": "shopper@example.com", "shopperName": { "firstName": "A.", "lastName": "Schneider" }, "dateOfBirth": "1990-01-01", "entityType": "Company", "nationality": "NL" } # Make the API call result = adyen.payout.initialization_api.store_detail_and_submit_third_party(request=json_request) ``` #### Ruby ```rb # Adyen Ruby API Library v9.3.0 require "adyen-ruby-api-library" adyen = Adyen::Client.new adyen.api_key = 'ADYEN_API_KEY' adyen.env = :test # Set to "live" for live environment # Create the request object(s) request_body = { :amount => { :value => 2000, :currency => 'EUR' }, :merchantAccount => 'YOUR_MERCHANT_ACCOUNT', :recurring => { :contract => 'RECURRING,PAYOUT' }, :bank => { :bankName => 'Deutsche Bank', :iban => 'DE87123456781234567890', :countryCode => 'DE', :ownerName => 'A. Schneider' }, :reference => 'YOUR_REFERENCE_TO_THE_RECURRING_PAYMENT', :shopperReference => 'YOUR_UNIQUE_SHOPPER_ID', :shopperEmail => 'shopper@example.com', :shopperName => { :firstName => 'A.', :lastName => 'Schneider' }, :dateOfBirth => '1990-01-01', :entityType => 'Company', :nationality => 'NL' } # Make the API call result = adyen.payout.initialization_api.store_detail_and_submit_third_party(request_body) ``` #### NodeJS (TypeScript) ```ts // Adyen Node API Library v16.2.0 // Require the parts of the module you want to use import { Client, PayoutAPI, Types } from "@adyen/api-library"; // Initialize the client object const client = new Client({apiKey: "ADYEN_API_KEY", environment: "TEST"}); // Create the request object(s) const amount: Types.payout.Amount = { currency: "EUR", value: 2000 }; const bankAccount: Types.payout.BankAccount = { ownerName: "A. Schneider", countryCode: "DE", iban: "DE87123456781234567890", bankName: "Deutsche Bank" }; const name: Types.payout.Name = { firstName: "A.", lastName: "Schneider" }; const recurring: Types.payout.Recurring = { contract: Types.payout.Recurring.ContractEnum.RECURRING,PAYOUT }; const storeDetailAndSubmitRequest: Types.payout.StoreDetailAndSubmitRequest = { reference: "YOUR_REFERENCE_TO_THE_RECURRING_PAYMENT", amount: amount, bank: bankAccount, shopperName: name, merchantAccount: "YOUR_MERCHANT_ACCOUNT", nationality: "NL", recurring: recurring, entityType: Types.payout.StoreDetailAndSubmitRequest.EntityTypeEnum.Company, shopperEmail: "shopper@example.com", shopperReference: "YOUR_UNIQUE_SHOPPER_ID" }; // Make the API call const payoutAPI = new PayoutAPI(client); const response = payoutAPI.InitializationApi.storeDetailAndSubmitThirdParty(storeDetailAndSubmitRequest); ``` **Example response** ```json { "pspReference" : "GH4R4RBFJGXXGN82", "resultCode" : "[payout-submit-received]" } ``` ## Confirm or decline a payout You need to confirm or decline all payouts within 7 days. After that, the payout expires. You can also confirm and decline payouts manually in your [Customer Area](https://ca-test.adyen.com/) > **Transactions** > **Payouts**. ### Confirm a payout To confirm a payout, call the  [/confirmThirdParty](https://docs.adyen.com/api-explorer/Payout/latest/post/confirmThirdParty) endpoint. In the `originalReference` field, specify the PSP reference from the `/submitThirdParty` or the `/storeDetailAndSubmitThirdParty` response. **Confirm payout** #### curl ```bash curl https://pal-test.adyen.com/pal/servlet/Payout/v68/confirmThirdParty \ -u "reviewPayout@Company.[YourCompany]":"YourBasicAuthenticationPassword" \ -H 'content-type: application/json' \ -d '{ "merchantAccount":"YOUR_MERCHANT_ACCOUNT", "originalReference" : "9935398566023719" }' ``` #### Java ```java // Adyen Java API Library v26.3.0 import com.adyen.Client; import com.adyen.enums.Environment; import com.adyen.model.payout.*; import java.time.OffsetDateTime; import java.util.*; import com.adyen.service.payout.*; Client client = new Client("ADYEN_API_KEY", Environment.TEST); // Create the request object(s) ModifyRequest modifyRequest = new ModifyRequest() .originalReference("9935398566023719") .merchantAccount("YOUR_MERCHANT_ACCOUNT"); // Send the request ReviewingApi service = new ReviewingApi(client); ModifyResponse response = service.confirmThirdParty(modifyRequest, null); ``` #### PHP ```php // Adyen PHP API Library v18.2.1 use Adyen\Client; use Adyen\Environment; use Adyen\Model\Payout\ModifyRequest; use Adyen\Service\Payout\ReviewingApi; $client = new Client(); $client->setXApiKey("ADYEN_API_KEY"); $client->setEnvironment(Environment::TEST); // Create the request object(s) $modifyRequest = new ModifyRequest(); $modifyRequest ->setOriginalReference("9935398566023719") ->setMerchantAccount("YOUR_MERCHANT_ACCOUNT"); // Send the request $service = new ReviewingApi($client); $response = $service->confirmThirdParty($modifyRequest); ``` #### C\# ```cs // Adyen .net API Library v17.0.0 using Adyen; using Environment = Adyen.Model.Environment; using Adyen.Model; using Adyen.Model.Payout; using Adyen.Service.Payout; var config = new Config() { XApiKey = "ADYEN_API_KEY", Environment = Environment.Test }; var client = new Client(config); // Create the request object(s) ModifyRequest modifyRequest = new ModifyRequest { OriginalReference = "9935398566023719", MerchantAccount = "YOUR_MERCHANT_ACCOUNT" }; // Send the request var service = new ReviewingService(client); var response = service.ConfirmThirdParty(modifyRequest); ``` #### NodeJS (JavaScript) ```js // Adyen Node API Library v17.3.0 // Require the parts of the module you want to use const { Client, PayoutAPI } = require('@adyen/api-library'); // Initialize the client object const client = new Client({apiKey: "ADYEN_API_KEY", environment: "TEST"}); // Create the request object(s) const modifyRequest = { merchantAccount: "YOUR_MERCHANT_ACCOUNT", originalReference: "9935398566023719" } // Send the request const payoutAPI = new PayoutAPI(client); const response = payoutAPI.ReviewingApi.confirmThirdParty(modifyRequest); ``` #### Go ```go // Adyen Go API Library v10.4.0 import ( "context" "github.com/adyen/adyen-go-api-library/v9/src/common" "github.com/adyen/adyen-go-api-library/v9/src/adyen" "github.com/adyen/adyen-go-api-library/v9/src/payout" ) client := adyen.NewClient(&common.Config{ ApiKey: "ADYEN_API_KEY", Environment: common.TestEnv, }) // Create the request object(s) modifyRequest := payout.ModifyRequest{ OriginalReference: "9935398566023719", MerchantAccount: "YOUR_MERCHANT_ACCOUNT", } // Send the request service := client.Payout() req := service.ReviewingApi.ConfirmThirdPartyInput().ModifyRequest(modifyRequest) res, httpRes, err := service.ReviewingApi.ConfirmThirdParty(context.Background(), req) ``` #### Python ```py # Adyen Python API Library v12.5.1 import Adyen adyen = Adyen.Adyen() adyen.client.xapikey = "ADYEN_API_KEY" adyen.client.platform = "test" # The environment to use library in. # Create the request object(s) json_request = { "merchantAccount": "YOUR_MERCHANT_ACCOUNT", "originalReference": "9935398566023719" } # Send the request result = adyen.payout.reviewing_api.confirm_third_party(request=json_request) ``` #### Ruby ```rb # Adyen Ruby API Library v9.5.1 require "adyen-ruby-api-library" adyen = Adyen::Client.new adyen.api_key = 'ADYEN_API_KEY' adyen.env = :test # Set to "live" for live environment # Create the request object(s) request_body = { :merchantAccount => 'YOUR_MERCHANT_ACCOUNT', :originalReference => '9935398566023719' } # Send the request result = adyen.payout.reviewing_api.confirm_third_party(request_body) ``` #### NodeJS (TypeScript) ```ts // Adyen Node API Library v17.3.0 // Require the parts of the module you want to use import { Client, PayoutAPI, Types } from "@adyen/api-library"; // Initialize the client object const client = new Client({apiKey: "ADYEN_API_KEY", environment: "TEST"}); // Create the request object(s) const modifyRequest: Types.payout.ModifyRequest = { originalReference: "9935398566023719", merchantAccount: "YOUR_MERCHANT_ACCOUNT" }; // Send the request const payoutAPI = new PayoutAPI(client); const response = payoutAPI.ReviewingApi.confirmThirdParty(modifyRequest); ``` Your admin user assigns the permissions for confirming payment details. If they are unable to assign these permissions, they should contact [Support Team](https://ca-test.adyen.com/ca/ca/contactUs/support.shtml?form=other). ### Decline a payout To decline a payout, call the  [/declineThirdParty](https://docs.adyen.com/api-explorer/Payout/latest/post/declineThirdParty) endpoint. In the `originalReference` field, specify the PSP reference from the `/submitThirdParty` or the `/storeDetailAndSubmitThirdParty` response. **Decline payout** #### curl ```bash curl https://pal-test.adyen.com/pal/servlet/Payout/v68/declineThirdParty \ -u "reviewPayout@Company.[YourCompany]":"YourBasicAuthenticationPassword" \ -H 'content-type: application/json' \ -d '{ "merchantAccount":"YOUR_MERCHANT_ACCOUNT", "originalReference" : "9935398566023719" }' ``` #### Java ```java // Adyen Java API Library v26.3.0 import com.adyen.Client; import com.adyen.enums.Environment; import com.adyen.model.payout.*; import java.time.OffsetDateTime; import java.util.*; import com.adyen.service.payout.*; Client client = new Client("ADYEN_API_KEY", Environment.TEST); // Create the request object(s) ModifyRequest modifyRequest = new ModifyRequest() .originalReference("9935398566023719") .merchantAccount("YOUR_MERCHANT_ACCOUNT"); // Send the request ReviewingApi service = new ReviewingApi(client); ModifyResponse response = service.declineThirdParty(modifyRequest, null); ``` #### PHP ```php // Adyen PHP API Library v18.2.1 use Adyen\Client; use Adyen\Environment; use Adyen\Model\Payout\ModifyRequest; use Adyen\Service\Payout\ReviewingApi; $client = new Client(); $client->setXApiKey("ADYEN_API_KEY"); $client->setEnvironment(Environment::TEST); // Create the request object(s) $modifyRequest = new ModifyRequest(); $modifyRequest ->setOriginalReference("9935398566023719") ->setMerchantAccount("YOUR_MERCHANT_ACCOUNT"); // Send the request $service = new ReviewingApi($client); $response = $service->declineThirdParty($modifyRequest); ``` #### C\# ```cs // Adyen .net API Library v17.0.0 using Adyen; using Environment = Adyen.Model.Environment; using Adyen.Model; using Adyen.Model.Payout; using Adyen.Service.Payout; var config = new Config() { XApiKey = "ADYEN_API_KEY", Environment = Environment.Test }; var client = new Client(config); // Create the request object(s) ModifyRequest modifyRequest = new ModifyRequest { OriginalReference = "9935398566023719", MerchantAccount = "YOUR_MERCHANT_ACCOUNT" }; // Send the request var service = new ReviewingService(client); var response = service.DeclineThirdParty(modifyRequest); ``` #### NodeJS (JavaScript) ```js // Adyen Node API Library v17.3.0 // Require the parts of the module you want to use const { Client, PayoutAPI } = require('@adyen/api-library'); // Initialize the client object const client = new Client({apiKey: "ADYEN_API_KEY", environment: "TEST"}); // Create the request object(s) const modifyRequest = { merchantAccount: "YOUR_MERCHANT_ACCOUNT", originalReference: "9935398566023719" } // Send the request const payoutAPI = new PayoutAPI(client); const response = payoutAPI.ReviewingApi.declineThirdParty(modifyRequest); ``` #### Go ```go // Adyen Go API Library v10.4.0 import ( "context" "github.com/adyen/adyen-go-api-library/v9/src/common" "github.com/adyen/adyen-go-api-library/v9/src/adyen" "github.com/adyen/adyen-go-api-library/v9/src/payout" ) client := adyen.NewClient(&common.Config{ ApiKey: "ADYEN_API_KEY", Environment: common.TestEnv, }) // Create the request object(s) modifyRequest := payout.ModifyRequest{ OriginalReference: "9935398566023719", MerchantAccount: "YOUR_MERCHANT_ACCOUNT", } // Send the request service := client.Payout() req := service.ReviewingApi.DeclineThirdPartyInput().ModifyRequest(modifyRequest) res, httpRes, err := service.ReviewingApi.DeclineThirdParty(context.Background(), req) ``` #### Python ```py # Adyen Python API Library v12.5.1 import Adyen adyen = Adyen.Adyen() adyen.client.xapikey = "ADYEN_API_KEY" adyen.client.platform = "test" # The environment to use library in. # Create the request object(s) json_request = { "merchantAccount": "YOUR_MERCHANT_ACCOUNT", "originalReference": "9935398566023719" } # Send the request result = adyen.payout.reviewing_api.decline_third_party(request=json_request) ``` #### Ruby ```rb # Adyen Ruby API Library v9.5.1 require "adyen-ruby-api-library" adyen = Adyen::Client.new adyen.api_key = 'ADYEN_API_KEY' adyen.env = :test # Set to "live" for live environment # Create the request object(s) request_body = { :merchantAccount => 'YOUR_MERCHANT_ACCOUNT', :originalReference => '9935398566023719' } # Send the request result = adyen.payout.reviewing_api.decline_third_party(request_body) ``` #### NodeJS (TypeScript) ```ts // Adyen Node API Library v17.3.0 // Require the parts of the module you want to use import { Client, PayoutAPI, Types } from "@adyen/api-library"; // Initialize the client object const client = new Client({apiKey: "ADYEN_API_KEY", environment: "TEST"}); // Create the request object(s) const modifyRequest: Types.payout.ModifyRequest = { originalReference: "9935398566023719", merchantAccount: "YOUR_MERCHANT_ACCOUNT" }; // Send the request const payoutAPI = new PayoutAPI(client); const response = payoutAPI.ReviewingApi.declineThirdParty(modifyRequest); ``` Your admin user assigns the permissions for declining payment details. If they are unable to assign these permissions, they should contact [Support Team](https://ca-test.adyen.com/ca/ca/contactUs/support.shtml?form=other). ## Supported countries/regions Below is an overview of the supported countries/regions for each payout method, according to recipient country/region. Note that:  * You can only pay out in the local currency. * In most cases, a local entity is required. | Recipient country/region | Bank payouts | PayPal | | -------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | | **United States** | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | | **Austria** | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | | **Belgium** | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | | **Republic of Cyprus** | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | | **Estonia** | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | | **Finland** | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | | **France** | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | | **Germany** | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | | **Greece** | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | | **Ireland** | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | | **Italy** | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | | **Latvia** | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | | **Liechtenstein** | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | | **Lithuania** | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | | **Luxembourg** | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | | **Malta** | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | | **Principality of Monaco** | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | | | **Netherlands** | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | | **Poland** | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | | | **Portugal** | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | | **Republic of San Marino** | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | | | **Slovakia** | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | | **Slovenia** | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | | **Spain** | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | | **Switzerland** | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | | **United Kingdom** | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ## See also * [Online payouts](/online-payments/online-payouts) * [Payout webhook](/online-payments/online-payouts/payout-webhook) * [Payout examples](/online-payments/online-payouts/payouts-to-a-bank-account) * [API Explorer](https://docs.adyen.com/api-explorer/#/Payout/latest/overview)