Payout Manual

Adyen provides functionality to make normal payouts, as well as payouts to a third party. This manual describes the payout process and gives examples on submitting, confirming and declining payouts with the Adyen platform.

Audience

This manual targets developers who integrate merchants' systems with the Adyen payment platform.

Feedback

We strive to provide you with clear, concise, and complete documentation. We are committed to improving it continuously to make it accessible and easy to understand.

We appreciate your comments, and we'd love to hear your voice: drop us a line and share your thoughts with us!

  Adyen Support Team

Payout last update

Version Date Changes
4.4 2016-11-11 Payout notifications  have been updated, and the PAIDOUT_REVERSED notificaiton is added.

Version

Date

Changes

4.4 2016-11-11 Payout notifications have been updated, and the PAIDOUT_REVERSED notificaiton is added.
4.3 2016-09-20 New data fields are added to the Payout API v18.
4.2 2016-09-14 API version updated to 18.
4.1 2016-01-07

Introduced API calls for third party payouts.

4.0.1 2015-10-19

Standardizing API endpoints.

4.0 2015-06-19
  • Documentation migration from PDF to web-based online deliverable as main distributable asset.
  • Versioning: version reset and adoption of semantic versioning as per v. 4.0.0.
  • Manual redesign to improve readability, navigation, content search.

2.0.8

2015-03-10

Modifying reference to correct external manual.

2.0.7

2015-02-27

Added JSON code examples.

2.0.6

2013-12-12

  • Changed local bank account number to IBAN / BIC.

  • Added more Payout Payment Options.

2.0.5

2012-03-20

Added illustration for flow of payout events in CA.

2.0.4

2012-03-19

  • Updated Payout Request section.

  • Corrected wrong field in Payout Response section.

  • Added illustration of payout workflow.

2.0.3

2011-10-27

  • Added Supported Payment Methods chapter.

  • Corrected small error in Appendix C.

  • Added further information about notifications.

2.0.2

2011-10-10

  • Added Appendix B.

  • Correction to contract field in Example 6.

2.0.1

2011-10-05

Correction to Payout values.

2.0

2011-09-09

Initial Version.

Payout API endpoints

Generic payout endpoints

This is an overview of the test and live URLs to communicate with the Payout API using JSON, FORM or SOAP.

This is an overview of the test URL endpoints to communicate with our Payout API using JSON or FORM. Use them to test your implementation and run QA checks.

JSON/FORM

storeDetail https://pal-test.adyen.com/pal/servlet/Payout/v25/storeDetail
storeDetailAndSubmit https://pal-test.adyen.com/pal/servlet/Payout/v25/storeDetailAndSubmit
submit https://pal-test.adyen.com/pal/servlet/Payout/v25/submit
confirm https://pal-test.adyen.com/pal/servlet/Payout/v25/confirm
decline https://pal-test.adyen.com/pal/servlet/Payout/v25/decline

This is an overview of the live URL endpoints to communicate with our Payout API using JSON or FORM. Use them in your live/production environment.

JSON/FORM

storeDetail https://[Custom-Endpoint].pal-live.adyenpayments.com/pal/servlet/Payout/v25/storeDetail
storeDetailAndSubmit https://[Custom-Endpoint].pal-live.adyenpayments.com/pal/servlet/Payout/v25/storeDetailAndSubmit
submit https://[Custom-Endpoint].pal-live.adyenpayments.com/pal/servlet/Payout/v25/submit
confirm https://[Custom-Endpoint].pal-live.adyenpayments.com/pal/servlet/Payout/v25/confirm
decline https://[Custom-Endpoint].pal-live.adyenpayments.com/pal/servlet/Payout/v25/decline

This is an overview of the test URL endpoints to communicate with our Payout API using the SOAP messaging protocol. Use them to test your implementation and run QA checks.

SOAP

Payout service

https://pal-test.adyen.com/pal/servlet/Payout/v25

Payout service WSDL

https://pal-test.adyen.com/pal/servlet/Payout/v25?wsdl

This is an overview of the live URL endpoints to communicate with our Payout API using the SOAP messaging protocol. Use them in your live/production environment.

SOAP

Payout service

https://[Custom-Endpoint].pal-live.adyenpayments.com/pal/servlet/Payout/v25

Payout service WSDL

https://[Custom-Endpoint].pal-live.adyenpayments.com/pal/servlet/Payout/v25?wsdl

Custom payout endpoints

Although generic URL endpoints for our APIs are still supported (payment API, recurring API), we recommend setting up merchant-specific endpoints. This is the default endpoint configuration option for new merchants.

Merchant-specific endpoints are available only for API integrations, and only in our live environment.

For test purposes, you can use our generic test points.

Merchant-generic API URL endpoint

The standard, generic payment API URL endpoints to communicate with the Adyen payment API are built as shown in this example:

https://pal-live.adyen.com/pal/servlet/Payment/v25/capture

The example shows the standard, generic URL endpoint to make a payment capture request.

Merchant-specific API URL endpoint

Each company account is provided with a unique hostname to communicate with Adyen's APIs.

By connecting to this merchant-specific hostname, Adyen has more control over the routing of transactions. This allows Adyen to improve service robustness and availability for our merchants.

By default all transactions for a merchant-specific endpoint are routed to the same infrastructure as the standard endpoint, however in case of an infrastructure problem on the standard endpoint, especially if the cause is outside of Adyen's scope of control, alternative routing can be enabled to backup infrastructure and new infrastructure can be provisioned on demand.

Example

Convert the generic API endpoint with path “/pal/servlet/Payment/v25/authorise” from:

https://pal-live.adyen.com/pal/servlet/Payment/v25/authorise

to:

https://f96e63be5147-TestCompany.pal-live.adyenpayments.com/pal/servlet/Payment/v25/authorise

Endpoint format

The custom endpoint has the following format:

https://[random]-[company name].pal-live.adyenpayments.com
random

A random string of hex-encoded bytes to make the hostname unpredictable.

company name

The company name is included in the URL endpoint.

  • If the name is too long:
    it is shortened.
  • If the name includes underscores or hyphens:
    any underscores and/or hyphens are stripped.

Endpoint settings

You can access the API endpoint(s) of your company account through the Adyen Customer Area (CA):

  • Log in to the Adyen Customer Area (CA) using your credentials.
  • In the left navigation sidebar, select Settings.
  • On the Settings page, click API URLs.
  • On the API URLs page, you can see the configured endpoint(s) for your company account.

Click API URLs to access the endpoint overview page.

In this example, the TestCompany account has two API URL endpoints: one is configured to communicate with our European servers, whereas the other is set up to exchange data with our US-based servers.
This setup allows you to optimize data traffic depending on the region you operate in.

Third-party payout endpoints

This is an overview of the test and live URLs to communicate with the third-party payout API using JSON, FORM or SOAP.

This is an overview of the test URL endpoints to communicate with our Payout API using JSON or FORM. Use them to test your implementation and run QA checks.

JSON/FORM

storeDetailAndSubmitThirdParty

https://pal-test.adyen.com/pal/servlet/Payout/v25/storeDetailAndSubmitThirdParty

submitThirdParty

https://pal-test.adyen.com/pal/servlet/Payout/v25/submitThirdParty

confirmThirdParty

https://pal-test.adyen.com/pal/servlet/Payout/v25/confirmThirdParty

declineThirdParty

https://pal-test.adyen.com/pal/servlet/Payout/v25/declineThirdParty

This is an overview of the live URL endpoints to communicate with our Payout API using JSON or FORM. Use them in your live/production environment.

JSON/FORM

storeDetailAndSubmitThirdParty

https://[Custom-Endpoint].pal-live.adyenpayments.com/pal/servlet/Payout/v25/storeDetailAndSubmitThirdParty

submitThirdParty

https://[Custom-Endpoint].pal-live.adyenpayments.com/pal/servlet/Payout/v25/submitThirdParty

confirmThirdParty

https://[Custom-Endpoint].pal-live.adyenpayments.com/pal/servlet/Payout/v25/confirmThirdParty

declineThirdParty

https://[Custom-Endpoint].pal-live.adyenpayments.com/pal/servlet/Payout/v25/declineThirdParty

This is an overview of the test URL endpoints to communicate with our Payout API using the SOAP messaging protocol. Use them to test your implementation and run QA checks.

SOAP

Payout service

https://pal-test.adyen.com/pal/servlet/Payout/v25

Payout service WSDL

https://pal-test.adyen.com/pal/servlet/Payout/v25?wsdl

This is an overview of the live URL endpoints to communicate with our Payout API using the SOAP messaging protocol. Use them in your live/production environment.

SOAP

Payout service

https://[Custom-Endpoint].pal-live.adyenpayments.com/pal/servlet/Payout/v25

Payout service WSDL

https://[Custom-Endpoint].pal-live.adyenpayments.com/pal/servlet/Payout/v25?wsdl

Payout process

The Payout functionality is set up as a 2-step process, with the first user initiating the action, and the second user confirming it. This means that after a payout is initiated, it must be confirmed before it is executed. Because of this there are two additional web service user accounts needed to use the payout process:

  • storePayout@Company.[Company Account Code] - To store payout details on a separate call via the payout service, and to initiate a payout.
  • reviewPayout@Company.[Company Account Code] - To confirm/decline a payout on a separate call via the payout service.

The administrator should assign permissions to users to store and review payouts. If you don't have access to assign permissions, contact Adyen Support Team.

A third-party payout can also be confirmed via Adyen Customer Area (CA)

Recurring contracts for payouts

The payout details used for a payout request, need to be part of the recurring contract of a shopper. For creating a recurring contract set the recurring value to RECURRING, PAYOUT. 

The process is explained in detail in the recurring manual, below you can find some code examples for creating payout recurring contracts reflecting the difference for payout recurring contracts.

Store payout details with a payment request

A recurring contract for payouts can be created together with a payment request. The payment request is set up like a regular payment.

For HPP:
<input type="hidden" name="shopperEmail" value="s.hopper@test.com" />
<input type="hidden" name="shopperReference" value="Simon Hopper" />
<input type="hidden" name="recurringContract" value="RECURRING, PAYOUT" />

For API:

{
    "bank" : {
        "bankName" : "Wirecard",
        "iban" : "DE87123456781234567890",
        "countryCode" : "DE",
        "ownerName" : "Simon Hopper"
    },
    
    "amount" : {
        "value" : 2000,
        "currency" : "EUR"
    },
    
    "reference" : "Your Reference Here",
    "merchantAccount" : "TestMerchant",
    "shopperEmail" : "s.hopper@test.com",
    "shopperIP" : "61.294.12.12",
    "shopperReference" : "Simon Hopper",
    "recurring": {
        "contract" : "RECURRING, PAYOUT"
    }
}
<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance">
  <soap:Body>
    <ns1:authorise xmlns:ns1="http://payment.services.adyen.com">
      <ns1:paymentRequest>
        <amount xmlns="http://payment.services.adyen.com">
          <currency xmlns="http://common.services.adyen.com">EUR</currency>
          <value xmlns="http://common.services.adyen.com">2000</value>
        </amount>
        <bank xmlns="http://payment.services.adyen.com">
          <iban>DE87123456781234567890</iban>
          <bankName>Wirecard</bankName>
          <countryCode>DE</countryCode>
          <ownerName>Simon Hopper</ownerName>
        </card>
        <merchantAccount xmlns="http://payment.services.adyen.com" >SupportAdyenTest</merchantAccount>
        <reference xmlns="http://payment.services.adyen.com">Your Reference Here</reference>
        <shopperEmail xmlns="http://payment.services.adyen.com">s.hopper@test.com</shopperEmail>
        <shopperIP xmlns="http://payment.services.adyen.com">61.294.12.12</shopperIP>
        <shopperReference xmlns="http://payment.services.adyen.com">Simon Hopper</shopperReference>
        <recurring>
          <contract>RECURRING,PAYOUT</contract>
        </recurring>
      </ns1:paymentRequest>
    </ns1:authorise>
  </soap:Body>
</soap:Envelope>
merchantAccount=TestMerchant&amount.value=2000&amount.currency=EUR&bank.iban=DE87123456781234567890&bank.bankName=Wirecard&bank.countryCode=DE&bank.ownerName=Simon+Hoper&reference=Your+Reference+Here&shopperReference=Simon+Hopper&shopperEmail=s.hopper%40test.com&shopperIP=61.294.12.12&recurring.contract=RECURRING,PAYOUT

Store payout details using the API call

Besides storing payout details using the  normal payment flow, the payout web service offers a call to store payout details, either bank account or credit card, for a specific shopper. For example if you collect the payout details on your own website.

Request

To submit the bank account details, call the storeDetail action on the payout service.

Name Type Required Description
merchantAccount String (tick)
The merchant account identifier you want to process the (transaction) request with.
shopperEmail String (tick) The shopper's email address.
shopperReference String (tick) The shopper's reference for the payment transaction.
recurring Object (tick)

A container for the type of recurring contract to be retrieved.

recurring contains the following child

  • contract
  contract String (tick)

The type of recurring contract to be used.

Fixed value: PAYOUT

bank Object (error)

A container for bank account data.

It takes the following children:

  • bankName
  • bic
  • iban
  • ownerName
  • countryCode
  • bankCity
  • taxId
  bankName String (error) The bank name.
  bic String (error)

The business identifier code (BIC) is the SWIFT address assigned to a bank.

This field may be mandatory depending on the payout currency.

  iban String (tick) The bank account IBAN code.
  ownerName String (error) The name of the bank account holder.
  countryCode String (error)
The country value format needs to adhere to the ISO 3166-1 alpha-2 standard. An invalid country code results in a transaction/request rejection. You can look up country codes on the ISO web site.
  bankCity String (error) The bank city.
  taxId String (error) Tax identification number.
card Object
(tick)

A container for credit card data.

This field takes the following children:

  • expiryMonth
  • expiryYear
  • holderName
  • number
  • cvc
  expiryMonth String  (tick)

The card expiry month.

Format: 2 digits, zero-padded for single digits. For example:

  • 03 = March
  • 11 = November
  expiryYear String  (tick)

The card expiry year.

Format: 4 digits. For example: 2018.

  holderName String  (tick)  The name of the card holder, as printed on the card.
  number String  (tick)

The card number. Do not use any separators.

  • Min. length: 4 characters
  • Max. length: 19 characters
  cvc Int  (error)

The card verification code. Depending on the card brand, it is known also as:

  • CVV2/CVC2 – length: 3 digits
  • CID – length: 4 digits
  • Min. length: 1 character
  • Max. length: 20 characters
billingAddress Object (error)

The billing address, which contains the following fields:

  • houseNumberOrName
  • street
  • city
  • stateOrProvince
  • country
  • postalCode
 

houseNumberOrName

String (error) House number or name.
  street String (tick) Street name.
 

city

String (tick) City name.
 

stateOrProvince

String (error)

For USA or Canada, a valid 2-character abbreviation for the state or province respectively. For other countries any abbreviation with maximum 3 characters for the state or province.

  country String (tick) A valid value is an ISO 2-character country code.
  postalCode  String (error) Postal code with a maximum of 5 characters for USA and maximum of 10 characters for any other country.

Response

If the message is syntactically valid and merchantAccount is correct, you receive a response with the following fields:

Name Type Returned by default Description
pspReference String (tick)

A new reference to uniquely identify this request

recurringDetailReference String (tick)

The token which you can use later on for submitting the Payout.

resultCode String (tick)

The result code of the transaction. Success indicates that the details were stored successfully.

Code examples

Request:

{
    "merchantAccount" : "TestMerchant",
    
    "recurring" : {
        "contract" : "PAYOUT"
    },
                  
    "bank": {
        "bankName": "AbnAmro",
        "bic": "ABNANL2A",
        "countryCode": "NL",
        "iban": "NL32ABNA0515071439",
        "ownerName": "Adyen",
        "bankCity": "Amsterdam",
        "taxId":"bankTaxId"
    },
    
    "shopperEmail" : "shopper@email.com",    
    "shopperReference" : "TheShopperReference",
                  
    "billingAddress": {
        "houseNumberOrName":"17",
        "street":"Teststreet 1",
        "city":"Amsterdam",
        "stateOrProvince":"NY",
        "country" : "US",
        "postalCode":"12345"
    }
}

Response:

{
    "pspReference" : "9913134957760023",
    "recurringDetailReference" : "2713134957760046",
    "resultCode" : "Success"
}

Request:

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soap:Body>
    <storeDetail xmlns="http://payout.services.adyen.com"> 
      <request> 
        <bank>
          <bankName xmlns="http://payment.services.adyen.com">AbnAmro</bankName>
          <bic xmlns="http://payment.services.adyen.com">ABNANL2A</bic>
          <countryCode xmlns="http://payment.services.adyen.com">NL</countryCode>
          <iban xmlns="http://payment.services.adyen.com">NL32ABNA0515071439</iban>
          <ownerName xmlns="http://payment.services.adyen.com">Adyen</ownerName> 
          <bankCity xmlns="http://payment.services.adyen.com">Amsterdam</bankCity>
          <taxId xmlns="http://payment.services.adyen.com">bankTaxId</taxId> 
        </bank>
        <merchantAccount>TestMerchant</merchantAccount> 
        <recurring> 
          <contract xmlns="http://payment.services.adyen.com">PAYOUT</contract> 
        </recurring> 
        <shopperEmail>shopper@email.com</shopperEmail> 
        <shopperReference>TheShopperReference</shopperReference>
        <billingAddress>
          <houseNumberOrName xmlns="http://common.services.adyen.com">17</houseNumberOrName>
          <street xmlns="http://common.services.adyen.com">Teststreet 1</street>
          <city xmlns="http://common.services.adyen.com">Amsterdam</city>
          <stateOrProvince xmlns="http://common.services.adyen.com">NY</stateOrProvince>
          <country xmlns="http://common.services.adyen.com">US</country> 
          <postalCode xmlns="http://common.services.adyen.com">12345</postalCode>
        </billingAddress>
      </request> 
    </storeDetail> 
  </soap:Body> 
</soap:Envelope>

Response:

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soap:Body>
    <ns1:storeDetailResponse xmlns:ns1="http://payout.services.adyen.com"> 
      <ns1:response> 
        <pspReference xmlns="http://payout.services.adyen.com">9913134957760023</pspReference> 
        <recurringDetailReference xmlns="http://payout.services.adyen.com">2713134957760046</recurringDetailReference> 
        <resultCode xmlns="http://payout.services.adyen.com">Success</resultCode> 
      </ns1:response> 
    </ns1:storeDetailResponse> 
 </soap:Body> 
</soap:Envelope>

Request:

bank.iban=NL48RABO0132394782&bank.bankName=Rabobank&bank.countryCode=NL&bank.ownerName=Test+Shopper&bank.bankCity=Amsterdam&bank.taxId=bankTaxId&merchantAccount=TestMerchant&recurring.contract=PAYOUT&reference=TheMerchantReference&shopperEmail=shopper%40email.com&shopperReference=TheShopperReference&billingAddress.houseNumberOrName=17&billingAddress.street=Teststreet&billingAddress.city=Amsterdam&billingAddress.stateOrProvince=NY&billingAddress.country=US&billingAddress.postalCode=12345

Response:

pspReference=9914352315020547&recurringDetailReference=9914352315030025&resultCode=Success

Submit payouts

You can submit a payout in two ways using the API calls below:

When submitting any of these requests, remember to use the system user that has the rights to submit payouts (e.g. storePayout@Company.[Company Account Code])

Submit a payout

You can submit a payout using a specific recurring details contract. The latest created recurring contract for the shopper reference can be used by using the Latest keyword in the request. Eventually, you can first query all recurring contract details of a shopper using the recurring API.

Request

Field Type Required Description
amount Object (tick)
A container object for the payable amount information for the transaction.

It contains the following elements:

  • currency
  • value
  currency String (tick)
The three-character ISO currency code.
  value Integer (tick)

The payable amount that can be charged for the transaction, in minor units.

The transaction amount needs to be represented in minor units according to the Currency codes table. Some currencies do not have decimal points, such as JPY, and some have 3 decimal points, such as BHD. For example, 10 GBP is submitted as 1000, whereas 10 JPY is submitted as 10.

dateOfBirth
Date/Time (tick)

The date of birth. Format: YYYY-MM-DD

For Paysafecard it must be the same as used when registering the Paysafecard account.

entityType
String (tick)

The type of the entity the payout is processed for.

Allowed values:

  • NaturalPerson
  • Company
fraudOffset
Integer (error)

An integer value that is added to the normal fraud score. The value can be either positive or negative.

merchantAccount String (tick)
The merchant account identifier you want to process the (transaction) request with.
nationality
String (tick)

The shopper's nationality.

A valid value is an ISO 2-character country code (e.g. 'NL').

recurring Object (tick)

A container for the type of recurring contract to be retrieved.

recurring contains the following child

  • contract
  contract String (tick)

The type of the recurring contract to be used.

Fixed value: PAYOUT

reference String (tick)

The merchant reference for this payment. This reference will be used in all communication to the merchant about the status of the Payout payment. Although it is a good idea to make sure it is unique, this is not a requirement.

shopperEmail String (tick)
The shopper's email address.
shopperName Object (tick)

The shopper's name.

In case the entityType is Company, the shopperName.lastName must contain the company name.

  firstName String (tick) A person's first name.
  gender Enum (tick)

This enumeration accepts the following values:

  • MALE
  • FEMALE
  • UNKNOWN
  infix String (error)

A person name's infix, if applicable.

  • Max. length: 20 characters
  lastName String (tick) A person's last name.
shopperReference String (tick) The shopper's reference for the payout transaction.
shopperStatement String (error)

The description of this payout. This description is shown on the bank statement of the shopper (if this is supported by the chosen payment method).

selectedRecurringDetailReference

String (tick)

This is the recurringDetailReference you want to use for this payout.

You can use the value LATEST to select the most recently used recurring detail.

socialSecurityNumber String (error) The shopper's social security number.

Response

If the message is syntactically valid and  merchantAccount is correct you receive a  payout-submit-received response with the following fields:
Field Type Required Description
pspReference String (tick)

A new reference to uniquely identify this request.

resultCode String (tick)

The response:

In case of success is payout-submit-received.

In case of an error, an informational message is returned.

refusalReason String (error) 

In case of refusal, an informational message for the reason.

Code examples

Request:

{
    "amount" : {
        "currency" : "EUR",
        "value" : "1000"
    },

    "merchantAccount" : "TestMerchant",
    
    "recurring" : {
        "contract" : "PAYOUT"
    },
    
    "reference" : "PayoutPayment-0001",
    "shopperEmail" : "shopper@email.com",    
    "shopperReference" : "TheShopperReference",
    "selectedRecurringDetailReference" : "LATEST"
}

Response:

{
    "pspReference" : "9913140798220028",
    "resultCode" : "[payout-submit-received]"
}

Request:

<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soap:Body>
    <submit xmlns="http://payout.services.adyen.com"> 
      <request> 
        <amount> 
          <currency xmlns="http://common.services.adyen.com">EUR</currency> 
          <value xmlns="http://common.services.adyen.com">1000</value> 
        </amount> 
        <merchantAccount>TestMerchant</merchantAccount> 
        <recurring> 
            <contract xmlns="http://payment.services.adyen.com">PAYOUT</contract> 
        </recurring> 
        <reference>PayoutPayment-0001</reference> 
        <shopperEmail>email@shopper.com</shopperEmail> 
        <shopperReference>TheShopperReference</shopperReference> 
        <selectedRecurringDetailReference>LATEST</selectedRecurringDetailReference> 
      </request> 
    </submit> 
  </soap:Body> 
</soap:Envelope>

Response:

<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soap:Body>
    <ns1:submitResponse xmlns:ns1="http://payout.services.adyen.com">
      <ns1:response> 
        <pspReference xmlns="http://payout.services.adyen.com">9913140798220028</pspReference> 
        <refusalReason xmlns="http://payout.services.adyen.com" xsi:nil="true"/>
        <resultCode xmlns="http://payout.services.adyen.com">[payout-submit-received]</resultCode> 
      </ns1:response> 
    </ns1:submitResponse> 
  </soap:Body> 
</soap:Envelope>

Request:

amount.currency=EUR&amount.value=1000&merchantAccount=TestMerchant&recurring.contract=PAYOUT&reference=TheMerchantReference&shopperEmail=shopper%40email.com&shopperReference=TheShopperReference&selectedRecurringDetailReference=LATEST

Response:

pspReference=9914352319170967&resultCode=%5Bpayout-submit-received%5D

Store detail and submit a payout

You can decide to do both store the payouts details and make a payout request in a single API call. This is done by calling the storeDetailAndSubmit method. 

Request

Field Type Required Description
amount Object (tick)

A container object for the payable amount information for the transaction.

It contains the following elements:

  • currency
  • value

  currency String (tick)

The three-character ISO currency code.

  value Integer (tick)

The payable amount that can be charged for the transaction, in minor units.

The transaction amount needs to be represented in minor units according to the Currency codes table. Some currencies do not have decimal points, such as JPY, and some have 3 decimal points, such as BHD. For example, 10 GBP is submitted as 1000, whereas 10 JPY is submitted as 10.

dateOfBirth Date/Time (tick)

The date of birth. Format: YYYY-MM-DD

For Paysafecard it must be the same as used when registering the Paysafecard account.

entityType String (tick)

The type of the entity the payout is processed for.

Allowed values:

  • NaturalPerson
  • Company
fraudOffset Int (error)

An integer value that is added to the normal fraud score. The value can be either positive or negative.

merchantAccount String (tick)
The merchant account identifier you want to process the (transaction) request with.
recurring Object (tick)

A container for the type of recurring contract to be retrieved.

recurring contains the following child:

  • contract
  contract String (tick)

The type of recurring contract to be used.

Fixed value: PAYOUT

reference String (tick) The (merchant) reference for this payment. This reference will be used in all communication to the merchant about the status of the Payout payment. Although it is a good idea to make sure it is unique, this is not a requirement.
shopperEmail String (tick)
The shopper's email address.
shopperReference String (tick)
The shopper's reference for the payment transaction.
shopperStatement String (error)

The description of this payout. This description is shown on the bank statement of the shopper (if this is supported by the chosen payment method).

bank Object (error)

This field is mandatory if the card details are not provided.

A container for bank account data.

It takes the following children:

  • bankName
  • bic
  • iban
  • ownerName
  • countryCode
  • bankCity
  • taxId
  bankName String (error) The bank name.
  bic String (error)

The business identifier code (BIC) is the SWIFT address assigned to a bank.

This field may be mandatory depending on the payout currency.

  iban String (tick) The bank account IBAN code.
  ownerName String (tick) The name of the bank account holder.
  countryCode String (tick)

The country value format needs to adhere to the ISO 3166-1 alpha-2 standard. An invalid country code results in a transaction/request rejection. You can look up country codes on the ISO web site.

This country code is of the IBAN.

  bankCity String (error) The bank city.
  taxId String (error) Tax identification number.
card Object
(tick)

Not mandatory if the bank details are provided.

A container for card data.

  expiryMonth String  (tick)
The card expiry month.

Format: 2 digits, zero-padded for single digits. For example:

  • 03 = March
  • 11 = November
  expiryYear String  (tick)
The card expiry year.

Format: 4 digits. For example: 2018.

  holderName String  (tick)
 The name of the card holder, as printed on the card.
  number String  (tick)
The card number. Do not use any separators.
  • Min. length: 4 characters
  • Max. length: 19 characters
  cvc String  (error)
The card verification code. Depending on the card brand, it is known also as:
  • CVV2/CVC2 – length: 3 digits
  • CID – length: 4 digits
  • Min. length: 1 character
  • Max. length: 20 characters
billingAddress Object (error)

The billing address, which contains the following fields:

  • houseNumberOrName
  • street
  • city
  • stateOrProvince
  • country
  • postalCode
 

houseNumberOrName

String (error) House number or name.
  street String (tick) Street name.
 

city

String (tick) City name.
 

stateOrProvince

String (error)

For USA or Canada, a valid 2-character abbreviation for the state or province respectively. For other countries any abbreviation with maximum 3 characters for the state or province.

  country String (tick) A valid value is an ISO 2-character country code.
  postalCode String (error) Postal code with a maximum of 5 characters for USA and maximum of 10 characters for any other country.

Response

If the message is syntactically valid and  merchantAccount is correct, you receive a  payout-submit-received response with the following fields:
Field Type Required Description
pspReference String (tick)

A new reference to uniquely identify this request

resultCode String (tick)

The response:

In case of success, it is payout-submit-received.

In case of an error, an informational message is returned.

Code examples

Request:

{
    "amount" : {
        "currency" : "EUR",
        "value" : "1000"
    },
  
    "merchantAccount" : "TestMerchant",
    
    "recurring" : {
        "contract" : "PAYOUT"
    },
                  
    "bank": {
        "bankName": "AbnAmro",
        "bic": "ABNANL2A",
        "countryCode": "NL",
        "iban": "NL32ABNA0515071439",
        "ownerName": "Adyen",
        "bankCity": "Amsterdam",
        "taxId":"bankTaxId"
    },
 
    "reference" : "TheMerchantReference",
    "shopperEmail" : "shopper@email.com",    
    "shopperReference" : "TheShopperReference",
                  
    "billingAddress": {
        "houseNumberOrName":"17",
        "street":"Teststreet 1",
        "city":"Amsterdam",
        "stateOrProvince":"NY",
        "country" : "US",
        "postalCode":"12345"
    }
}

Response:

{
    "pspReference" : "9913134956610005",
    "resultCode" : "[payout-submit-received]"
}

Request:

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soap:Body>
    <storeDetailAndSubmit xmlns="http://payout.services.adyen.com"> 
      <request> 
        <amount> 
          <currency xmlns="http://common.services.adyen.com">EUR</currency> 
          <value xmlns="http://common.services.adyen.com">1000</value> 
        </amount> 
        <bank>
          <bankName xmlns="http://payment.services.adyen.com">AbnAmro</bankName>
          <bic xmlns="http://payment.services.adyen.com">ABNANL2A</bic>
          <countryCode xmlns="http://payment.services.adyen.com">NL</countryCode>
          <iban xmlns="http://payment.services.adyen.com">NL32ABNA0515071439</iban>
          <ownerName xmlns="http://payment.services.adyen.com">Adyen</ownerName> 
          <bankCity xmlns="http://payment.services.adyen.com">Amsterdam</bankCity>
          <taxId xmlns="http://payment.services.adyen.com">bankTaxId</taxId> 
        </bank>
        <merchantAccount>TestMerchant</merchantAccount> 
        <recurring> 
          <contract xmlns="http://payment.services.adyen.com">PAYOUT</contract> 
        </recurring> 
        <reference>TheMerchantReference</reference>
        <shopperEmail>shopper@email.com</shopperEmail> 
        <shopperReference>TheShopperReference</shopperReference>
        <billingAddress>
          <houseNumberOrName xmlns="http://common.services.adyen.com">17</houseNumberOrName>
          <street xmlns="http://common.services.adyen.com">Teststreet 1</street>
          <city xmlns="http://common.services.adyen.com">Amsterdam</city>
          <stateOrProvince xmlns="http://common.services.adyen.com">NY</stateOrProvince>
          <country xmlns="http://common.services.adyen.com">US</country> 
          <postalCode xmlns="http://common.services.adyen.com">12345</postalCode>
        </billingAddress>
      </request> 
    </storeDetailAndSubmit> 
  </soap:Body> 
</soap:Envelope>

Response:

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns2="http://payout.services.adyen.com" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <SOAP-ENV:Body>
      <ns2:storeDetailAndSubmitResponse>
         <ns2:response>
            <ns2:pspReference>8514514822637867</ns2:pspReference>
            <ns2:resultCode>[payout-submit-received]</ns2:resultCode>
         </ns2:response>
      </ns2:storeDetailAndSubmitResponse>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Request:

amount.currency=EUR&amount.value=1000&bank.iban=DE87123456781234567890&bank.bankName=Wirecard&bank.countryCode=DE&bank.ownerName=Test+Shopper&bank.bankCity=Amsterdam&bank.taxId=bankTaxId&merchantAccount=TestMerchant&recurring.contract=PAYOUT&reference=TheMerchantReference&shopperEmail=shopper%40email.com&shopperReference=TheShopperReference&billingAddress.houseNumberOrName=17&billingAddress.street=Teststreet&billingAddress.city=Amsterdam&billingAddress.stateOrProvince=NY&billingAddress.country=US&billingAddress.postalCode=12345

Response:

pspReference=9914352309510016&resultCode=%5Bpayout-submit-received%5D

Make a payout to Paysafecard

The following example illustrates how to make a payout to a Paysafecard account. Ensure that you set the selectedBrand field to "paysafecard", set emailId to the email used for a Paysafecard account, and also pass shopperName and dateOfBirth.

Request:

{
    "amount": {
        "currency": "EUR",
        "value": "1000"
    },
 
    "selectedBrand": "paysafecard",
    "additionalData": {
        "emailId": "EmailUsedForPaysafecardAccount@example.com"
    },
    "shopperName": {
        "firstName": "Test",
        "lastName": "Test2"
    },

    "dateOfBirth": "1982-07-17",
    "merchantAccount": "TestMerchant",
    "recurring": {
        "contract": "PAYOUT"
    },
 
    "reference": "Test Payout",
    "shopperEmail": "test@company.com",
    "shopperReference": "psc-payout-test",

    "shopperIP" : "61.294.12.12"
}

Response:

{
    "pspReference" : "9913134956610005",
    "resultCode" : "[payout-submit-received]"
}

Confirm or decline a payout

You can decide over a period of seven days to proceed or cancel a payout, after which the payout expires automatically.
Confirming and declining the payout can be done using:

When making any of these requests, remember to use the system user that has the rights to review payouts (e.g. reviewPayout@Company.[Company Account Code])

Confirm a payout

You can confirm a payout by sending a confirm request to the payout service. 

Request

Field Type Required Description
merchantAccount String (tick)
The merchant account identifier you want to process the (transaction) request with.
originalReference String (tick)

The PSP reference received in the submit payout response.

Response

If the message is syntactically valid and merchantAccount is correct, you receive a response with the following:

Field Type Required Description
pspReference String (tick)

A new reference to uniquely identify this request. This reference is the pspReference of the payout.

response String (tick)

The response:

In case of success, it is payout-confirm-received.

In case of an error, an informational message is returned.

Code examples

Request:

{
    "merchantAccount" : "TestMerchant",
    "originalReference" : "9913140798220028"
}

Response:

{
    "pspReference" : "9913140798220028",
    "response" : "[payout-confirm-received]"
}

Request:

<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soap:Body>
    <confirm xmlns="http://payout.services.adyen.com"> 
      <request> 
        <additionalData xsi:nil="true"/>
        <merchantAccount>TestMerchant</merchantAccount> 
        <originalReference>9913140798220028</originalReference> 
      </request> 
    </confirm> 
  </soap:Body> 
</soap:Envelope>

Response:

<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soap:Body>
    <ns1:confirmResponse xmlns="http://payout.services.adyen.com"> 
      <ns1:response> 
        <pspReference xmlns="http://payout.services.adyen.com">9913140808680104</pspReference> 
        <response xmlns="http://payout.services.adyen.com">[payout-confirm-received]</response>
      </ns1:response> 
    </ns1:confirmResponse> 
  </soap:Body> 
</soap:Envelope>

Request:

merchantAccount=TestMerchant&originalReference=9913140798220028

Response:

pspReference=9914352327811826&response=%5Bpayout-confirm-received%5D


Decline a payout

You can decline a payout by sending a decline request to the payout service. 

Request

Field Type Required Description
merchantAccount String (tick)
The merchant account identifier you want to process the (transaction) request with.
originalReference String (tick)

The PSP reference received in the submit payout response.

Response

If the message is syntactically valid and merchantAccount is correct, you receive a response with the following.
Field Type Required Description
pspReference String (tick)

A new reference to uniquely identify this request. This reference is the pspReference of the payout.

response String (tick)

The response:

In case of success, it is payout-decline-received.

In case of an error, an informational message is returned.

You do not receive notifications if the payout is declined.

Code examples

Request:

{
    "merchantAccount" : "TestMerchant",
    "originalReference" : "9913140798220028"
}

Response:

{
    "pspReference" : "9913140798220028",
    "response" : "[payout-decline-received]"
}

Request:

<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soap:Body>
    <decline xmlns="http://payout.services.adyen.com"> 
      <request> 
        <additionalData xsi:nil="true"/>
        <merchantAccount>TestMerchant</merchantAccount> 
        <originalReference>9913140798220028</originalReference> 
      </request> 
    </decline> 
  </soap:Body> 
</soap:Envelope>

Response:

<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soap:Body>
    <ns1:declineResponse xmlns="http://payout.services.adyen.com"> 
      <ns1:response> 
        <pspReference xmlns="http://payout.services.adyen.com">9913140808680104</pspReference> 
        <response xmlns="http://payout.services.adyen.com">[payout-decline-received]</response>
      </ns1:response> 
    </ns1:declineResponse> 
  </soap:Body> 
</soap:Envelope>

Request:

merchantAccount=TestMerchant&originalReference=9913140798220028

Response:

pspReference=9914352333652404&response=%5Bpayout-decline-received%5D

Payouts to a third party

Adyen supports payments to a third party. This process is similar to the normal payout process, but is intended to be used by marketplace merchants who want to make a payment to their associated partners.

To perform these payouts, submit your calls to specific endpoints for third-party payouts. For more information, refer to  third-party payout endpoints.

Third-party payouts only support bank payment methods.

You can submit a third-party payout in two ways using the below API calls:

  • submitThirdParty - Call that allows you to only submit a payout using a recurring detail contract already stored.
  • storeDetailAndSubmitThirdParty - Call that allows you to first store the payout details, and then submit a payout.

Submit a third-party payout

When submitting any of these requests, remember to use the system user that has the rights to submit payouts (e.g. storePayout@Company.[Company Account Code])

Request

Field Type Required Description
amount Object (tick)
A container object for the payable amount information for the transaction.

It contains the following elements:

  • currency
  • value
  currency String (tick)
The three-character ISO currency code.
  value Integer (tick)

The payable amount that can be charged for the transaction, in minor units.

The transaction amount needs to be represented in minor units according to the Currency codes table. Some currencies do not have decimal points, such as JPY, and some have 3 decimal points, such as BHD. For example, 10 GBP is submitted as 1000, whereas 10 JPY is submitted as 10.

dateOfBirth
Date/Time (tick)

The date of birth. Format: YYYY-MM-DD

For Paysafecard it must be the same as used when registering the Paysafecard account.

entityType
String (tick)

The type of the entity the payout is processed for.

Allowed values:

  • NaturalPerson
  • Company
fraudOffset
Integer (error)

An integer value that is added to the normal fraud score. The value can be either positive or negative.

merchantAccount String (tick)
The merchant account identifier you want to process the (transaction) request with.
nationality
String (tick)

The shopper's nationality.

A valid value is an ISO 2-character country code (e.g. 'NL').

recurring Object (tick)

A container for the type of recurring contract to be retrieved.

recurring contains the following child

  • contract
  contract String (tick)

The type of the recurring contract to be used.

Fixed value: PAYOUT

reference String (tick)

The merchant reference for this payment. This reference will be used in all communication to the merchant about the status of the Payout payment. Although it is a good idea to make sure it is unique, this is not a requirement.

shopperEmail String (tick)
The shopper's email address.
shopperName Object (tick)

The shopper's name.

In case the entityType is Company, the shopperName.lastName must contain the company name.

  firstName String (tick) A person's first name.
  gender Enum (tick)

This enumeration accepts the following values:

  • MALE
  • FEMALE
  • UNKNOWN
  infix String (error)

A person name's infix, if applicable.

  • Max. length: 20 characters
  lastName String (tick) A person's last name.
shopperReference String (tick) The shopper's reference for the payout transaction.
shopperStatement String (error)

The description of this payout. This description is shown on the bank statement of the shopper (if this is supported by the chosen payment method).

selectedRecurringDetailReference

String (tick)

This is the recurringDetailReference you want to use for this payout.

You can use the value LATEST to select the most recently used recurring detail.

socialSecurityNumber String (error) The shopper's social security number.

Response

If the message is syntactically valid and  merchantAccount is correct you receive a  payout-submit-received response with the following fields:
Field Type Required Description
pspReference String (tick)

A new reference to uniquely identify this request.

resultCode String (tick)

The response:

In case of success is payout-submit-received.

In case of an error, an informational message is returned.

refusalReason String (error) 

In case of refusal, an informational message for the reason.

Code examples

Request:

{
    "amount" : {
        "currency" : "EUR",
        "value" : "1000"
    },

    "merchantAccount" : "TestMerchant",
    
    "recurring" : {
        "contract" : "PAYOUT"
    },
    
    "reference" : "PayoutPayment-0001",
    "shopperEmail" : "shopper@email.com",    
    "shopperReference" : "TheShopperReference",
    "selectedRecurringDetailReference" : "LATEST"
}

Response:

{
    "pspReference" : "9913140798220028",
    "resultCode" : "[payout-submit-received]"
}

Request:

<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soap:Body>
    <submitThirdParty xmlns="http://payout.services.adyen.com"> 
      <request> 
        <amount> 
          <currency xmlns="http://common.services.adyen.com">EUR</currency> 
          <value xmlns="http://common.services.adyen.com">1000</value> 
        </amount> 
        <merchantAccount>TestMerchant</merchantAccount> 
        <recurring> 
            <contract xmlns="http://payment.services.adyen.com">PAYOUT</contract> 
        </recurring> 
        <reference>PayoutPayment-0001</reference> 
        <shopperEmail>email@shopper.com</shopperEmail> 
        <shopperReference>TheShopperReference</shopperReference> 
        <selectedRecurringDetailReference>LATEST</selectedRecurringDetailReference> 
      </request> 
    </submitThirdParty> 
  </soap:Body> 
</soap:Envelope>

Response:

<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soap:Body>
    <ns1:submitThirdPartyResponse xmlns:ns1="http://payout.services.adyen.com">
      <ns1:response> 
        <pspReference xmlns="http://payout.services.adyen.com">9913140798220028</pspReference> 
        <refusalReason xmlns="http://payout.services.adyen.com" xsi:nil="true"/>
        <resultCode xmlns="http://payout.services.adyen.com">[payout-submit-received]</resultCode> 
      </ns1:response> 
    </ns1:submitThirdPartyResponse> 
  </soap:Body> 
</soap:Envelope>

Request:

amount.currency=EUR&amount.value=1000&merchantAccount=TestMerchant&recurring.contract=PAYOUT&reference=TheMerchantReference&shopperEmail=shopper%40email.com&shopperReference=TheShopperReference&selectedRecurringDetailReference=LATEST

Response:

pspReference=9914352319170967&resultCode=%5Bpayout-submit-received%5D

Store detail for a third-party payout

Besides storing payout details using the  normal payment flow, the payout web service offers a call to store payout details, either bank account or credit card, for a specific shopper. For example if you collect the payout details on your own website.

Request

To submit the bank account details, call the storeDetail action on the payout service.

Name Type Required Description
merchantAccount String (tick)
The merchant account identifier you want to process the (transaction) request with.
shopperEmail String (tick) The shopper's email address.
shopperReference String (tick) The shopper's reference for the payment transaction.
recurring Object (tick)

A container for the type of recurring contract to be retrieved.

recurring contains the following child

  • contract
  contract String (tick)

The type of recurring contract to be used.

Fixed value: PAYOUT

bank Object (error)

A container for bank account data.

It takes the following children:

  • bankName
  • bic
  • iban
  • ownerName
  • countryCode
  • bankCity
  • taxId
  bankName String (error) The bank name.
  bic String (error)

The business identifier code (BIC) is the SWIFT address assigned to a bank.

This field may be mandatory depending on the payout currency.

  iban String (tick) The bank account IBAN code.
  ownerName String (error) The name of the bank account holder.
  countryCode String (error)
The country value format needs to adhere to the ISO 3166-1 alpha-2 standard. An invalid country code results in a transaction/request rejection. You can look up country codes on the ISO web site.
  bankCity String (error) The bank city.
  taxId String (error) Tax identification number.
card Object
(tick)

A container for credit card data.

This field takes the following children:

  • expiryMonth
  • expiryYear
  • holderName
  • number
  • cvc
  expiryMonth String  (tick)

The card expiry month.

Format: 2 digits, zero-padded for single digits. For example:

  • 03 = March
  • 11 = November
  expiryYear String  (tick)

The card expiry year.

Format: 4 digits. For example: 2018.

  holderName String  (tick)  The name of the card holder, as printed on the card.
  number String  (tick)

The card number. Do not use any separators.

  • Min. length: 4 characters
  • Max. length: 19 characters
  cvc Int  (error)

The card verification code. Depending on the card brand, it is known also as:

  • CVV2/CVC2 – length: 3 digits
  • CID – length: 4 digits
  • Min. length: 1 character
  • Max. length: 20 characters
billingAddress Object (error)

The billing address, which contains the following fields:

  • houseNumberOrName
  • street
  • city
  • stateOrProvince
  • country
  • postalCode
 

houseNumberOrName

String (error) House number or name.
  street String (tick) Street name.
 

city

String (tick) City name.
 

stateOrProvince

String (error)

For USA or Canada, a valid 2-character abbreviation for the state or province respectively. For other countries any abbreviation with maximum 3 characters for the state or province.

  country String (tick) A valid value is an ISO 2-character country code.
  postalCode  String (error) Postal code with a maximum of 5 characters for USA and maximum of 10 characters for any other country.

Response

If the message is syntactically valid and merchantAccount is correct, you receive a response with the following fields:

Name Type Returned by default Description
pspReference String (tick)

A new reference to uniquely identify this request

recurringDetailReference String (tick)

The token which you can use later on for submitting the Payout.

resultCode String (tick)

The result code of the transaction. Success indicates that the details were stored successfully.

Code examples

Request:

{
    "merchantAccount" : "TestMerchant",
    
    "recurring" : {
        "contract" : "PAYOUT"
    },
                  
    "bank": {
        "bankName": "AbnAmro",
        "bic": "ABNANL2A",
        "countryCode": "NL",
        "iban": "NL32ABNA0515071439",
        "ownerName": "Adyen",
        "bankCity": "Amsterdam",
        "taxId":"bankTaxId"
    },
    
    "shopperEmail" : "shopper@email.com",    
    "shopperReference" : "TheShopperReference",
                  
    "billingAddress": {
        "houseNumberOrName":"17",
        "street":"Teststreet 1",
        "city":"Amsterdam",
        "stateOrProvince":"NY",
        "country" : "US",
        "postalCode":"12345"
    }
}

Response:

{
    "pspReference" : "9913134957760023",
    "recurringDetailReference" : "2713134957760046",
    "resultCode" : "Success"
}

Request:

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soap:Body>
    <storeDetail xmlns="http://payout.services.adyen.com"> 
      <request> 
        <bank>
          <bankName xmlns="http://payment.services.adyen.com">AbnAmro</bankName>
          <bic xmlns="http://payment.services.adyen.com">ABNANL2A</bic>
          <countryCode xmlns="http://payment.services.adyen.com">NL</countryCode>
          <iban xmlns="http://payment.services.adyen.com">NL32ABNA0515071439</iban>
          <ownerName xmlns="http://payment.services.adyen.com">Adyen</ownerName> 
          <bankCity xmlns="http://payment.services.adyen.com">Amsterdam</bankCity>
          <taxId xmlns="http://payment.services.adyen.com">bankTaxId</taxId> 
        </bank>
        <merchantAccount>TestMerchant</merchantAccount> 
        <recurring> 
          <contract xmlns="http://payment.services.adyen.com">PAYOUT</contract> 
        </recurring> 
        <shopperEmail>shopper@email.com</shopperEmail> 
        <shopperReference>TheShopperReference</shopperReference>
        <billingAddress>
          <houseNumberOrName xmlns="http://common.services.adyen.com">17</houseNumberOrName>
          <street xmlns="http://common.services.adyen.com">Teststreet 1</street>
          <city xmlns="http://common.services.adyen.com">Amsterdam</city>
          <stateOrProvince xmlns="http://common.services.adyen.com">NY</stateOrProvince>
          <country xmlns="http://common.services.adyen.com">US</country> 
          <postalCode xmlns="http://common.services.adyen.com">12345</postalCode>
        </billingAddress>
      </request> 
    </storeDetail> 
  </soap:Body> 
</soap:Envelope>

Response:

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soap:Body>
    <ns1:storeDetailResponse xmlns:ns1="http://payout.services.adyen.com"> 
      <ns1:response> 
        <pspReference xmlns="http://payout.services.adyen.com">9913134957760023</pspReference> 
        <recurringDetailReference xmlns="http://payout.services.adyen.com">2713134957760046</recurringDetailReference> 
        <resultCode xmlns="http://payout.services.adyen.com">Success</resultCode> 
      </ns1:response> 
    </ns1:storeDetailResponse> 
 </soap:Body> 
</soap:Envelope>

Request:

bank.iban=NL48RABO0132394782&bank.bankName=Rabobank&bank.countryCode=NL&bank.ownerName=Test+Shopper&bank.bankCity=Amsterdam&bank.taxId=bankTaxId&merchantAccount=TestMerchant&recurring.contract=PAYOUT&reference=TheMerchantReference&shopperEmail=shopper%40email.com&shopperReference=TheShopperReference&billingAddress.houseNumberOrName=17&billingAddress.street=Teststreet&billingAddress.city=Amsterdam&billingAddress.stateOrProvince=NY&billingAddress.country=US&billingAddress.postalCode=12345

Response:

pspReference=9914352315020547&recurringDetailReference=9914352315030025&resultCode=Success

Store detail and submit a third-party payout

Request

Field Type Required Description
merchantAccount String (tick)
The merchant account identifier you want to process the (transaction) request with.
shopperEmail String (tick)
The shopper's email address.
shopperReference String (tick)
The shopper's reference for the payment transaction.
reference String (tick)

The (merchant) reference for this payment. This reference will be used in all communication to the merchant about the status of the Payout payment. Although it is a good idea to make sure it is unique, this is not a requirement.

shopperStatement String (error)

The description of this payout. This description is shown on the bank statement of the shopper (if this is supported by the chosen payment method).

recurring Object (tick)

A container for the type of recurring contract to be retrieved.

recurring contains the following child

  • contract
  contract String (tick)

The type of recurring contract to be used.

Fixed value: PAYOUT

amount Object (tick)
A container object for the payable amount information for the transaction.

It contains the following elements:

  • currency
  • value
  currency String (tick)
The three-character ISO currency code.
  value Integer (tick)

The payable amount that can be charged for the transaction, in minor units.

The transaction amount needs to be represented in minor units according to the Currency codes table. Some currencies do not have decimal points, such as JPY, and some have 3 decimal points, such as BHD. For example, 10 GBP is submitted as 1000, whereas 10 JPY is submitted as 10.

bank Object (tick)

A container for bank account data.

It takes the following children:

  • bankName
  • bic
  • iban
  • ownerName
  • countryCode
  • bankCity
  • taxId
  bankName String (error) The bank name.
  bic String (error)

The business identifier code (BIC) is the SWIFT address assigned to a bank.

This field may be mandatory depending on the payout currency.

  iban String (tick) The bank account IBAN code.
  ownerName String (tick) The name of the bank account holder.
  countryCode String (tick)

The country value format needs to adhere to the ISO 3166-1 alpha-2 standard. An invalid country code results in a transaction/request rejection. You can look up country codes on the ISO web site.

This country code is of the IBAN.

  bankCity String (error) The bank city.
  taxId String (error) Tax identification number.

selectedBrand

String (error)

The name of the brand to make a payout to.

For Paysafecard it must be set to "paysafecard".

dateOfBirth

Date/Time (error)

The date of birth.

For Paysafecard it must be the same as used when registering the Paysafecard account.

billingAddress Object (error)

The billing address, which contains the following fields:

  • houseNumberOrName
  • street
  • city
  • stateOrProvince
  • country
  • postalCode
 

houseNumberOrName

String (error) House number or name.
  street String (tick) Street name.
 

city

String (tick) City name.
 

stateOrProvince

String (error)

For USA or Canada, a valid 2-character abbreviation for the state or province respectively. For other countries any abbreviation with maximum 3 characters for the state or province.

  country String (tick) A valid value is an ISO 2-character country code.
  postalCode  String (error) Postal code with a maximum of 5 characters for USA and maximum of 10 characters for any other country.

Response

If the message is syntactically valid and  merchantAccount is correct, you receive a  payout-submit-received response with the following fields:
Field Type Required Description
pspReference String (tick)

A new reference to uniquely identify this request

resultCode String (tick)

The response:

In case of success, it is payout-submit-received.

In case of an error, an informational message is returned.

Code examples: General

Request:

{
    "amount" : {
        "currency" : "EUR",
        "value" : "1000"
    },

    "bank": {
        "bankName": "AbnAmro",
        "bic": "ABNANL2A",
        "countryCode": "NL",
        "iban": "NL32ABNA0515071439",
        "ownerName": "Adyen",
        "bankCity": "Amsterdam",
        "taxId":"bankTaxId"
    },
    
    "merchantAccount" : "TestMerchant",
    
    "recurring" : {
        "contract" : "PAYOUT"
    },
 
    "reference" : "TheMerchantReference",
    "shopperEmail" : "shopper@email.com",    
    "shopperReference" : "TheShopperReference",
                  
    "billingAddress": {
        "houseNumberOrName":"17",
        "street":"Teststreet 1",
        "city":"Amsterdam",
        "stateOrProvince":"NY",
        "country" : "US",
        "postalCode":"12345"
    }
}

Response:

{
    "pspReference" : "9913134956610005",
    "resultCode" : "[payout-submit-received]"
}

Request:

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soap:Body>
    <storeDetailAndSubmitThirdParty xmlns="http://payout.services.adyen.com"> 
      <request> 
        <amount> 
          <currency xmlns="http://common.services.adyen.com">EUR</currency> 
          <value xmlns="http://common.services.adyen.com">1000</value> 
        </amount> 
        <bank>
          <bankName xmlns="http://payment.services.adyen.com">AbnAmro</bankName>
          <bic xmlns="http://payment.services.adyen.com">ABNANL2A</bic>
          <countryCode xmlns="http://payment.services.adyen.com">NL</countryCode>
          <iban xmlns="http://payment.services.adyen.com">NL32ABNA0515071439</iban>
          <ownerName xmlns="http://payment.services.adyen.com">Adyen</ownerName> 
          <bankCity xmlns="http://payment.services.adyen.com">Amsterdam</bankCity>
          <taxId xmlns="http://payment.services.adyen.com">bankTaxId</taxId> 
        </bank>
        <merchantAccount>TestMerchant</merchantAccount> 
        <recurring> 
          <contract xmlns="http://payment.services.adyen.com">PAYOUT</contract> 
        </recurring> 
        <reference>TheMerchantReference</reference>
        <shopperEmail>shopper@email.com</shopperEmail> 
        <shopperReference>TheShopperReference</shopperReference>
        <billingAddress>
          <houseNumberOrName xmlns="http://common.services.adyen.com">17</houseNumberOrName>
          <street xmlns="http://common.services.adyen.com">Teststreet 1</street>
          <city xmlns="http://common.services.adyen.com">Amsterdam</city>
          <stateOrProvince xmlns="http://common.services.adyen.com">NY</stateOrProvince>
          <country xmlns="http://common.services.adyen.com">US</country> 
          <postalCode xmlns="http://common.services.adyen.com">12345</postalCode>
        </billingAddress>
      </request> 
    </storeDetailAndSubmitThirdParty> 
  </soap:Body> 
</soap:Envelope>

Response:

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns2="http://payout.services.adyen.com" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <SOAP-ENV:Body>
      <ns2:storeDetailAndSubmitThirdPartyResponse>
         <ns2:response>
            <ns2:pspReference>8514514822637867</ns2:pspReference>
            <ns2:resultCode>[payout-submit-received]</ns2:resultCode>
         </ns2:response>
      </ns2:storeDetailAndSubmitThirdPartyResponse>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Request:

amount.currency=EUR&amount.value=1000&bank.iban=DE87123456781234567890&bank.bankName=Wirecard&bank.countryCode=DE&bank.ownerName=Test+Shopper&bank.bankCity=Amsterdam&bank.taxId=bankTaxId&merchantAccount=TestMerchant&recurring.contract=PAYOUT&reference=TheMerchantReference&shopperEmail=shopper%40email.com&shopperReference=TheShopperReference&billingAddress.houseNumberOrName=17&billingAddress.street=Teststreet&billingAddress.city=Amsterdam&billingAddress.stateOrProvince=NY&billingAddress.country=US&billingAddress.postalCode=12345

Response:

pspReference=9914352309510016&resultCode=%5Bpayout-submit-received%5D

Confirm or decline a third-party payout

You can decide over a period of seven days to proceed or cancel a third-party payout, after which the payout expires automatically.
Confirming and declining the payout can be done using:

If a user has the permission to view and/or modify payouts, an additional Payouts option from the menu in the Adyen Customer Area (CA) is visible.

The web service calls are explained in the following pages.

Confirm a third-party payout

Request

Field Type Required Description
merchantAccount String (tick)
The merchant account identifier you want to process the (transaction) request with.
originalReference String (tick)

The PSP reference received in the submit payout response.

Response 

If the message is syntactically valid and merchantAccount is correct, you receive a response with the following:

Field Type Required Description
pspReference String (tick)

A new reference to uniquely identify this request. This reference is the pspReference of the payout.

response String (tick)

The response:

In case of success, it is payout-confirm-received.

In case of an error, an informational message is returned.

Code examples

Request:

{
    "merchantAccount" : "TestMerchant",
    "originalReference" : "9913140798220028"
}

Response:

{
    "pspReference" : "9913140798220028",
    "response" : "[payout-confirm-received]"
}

Request:

<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soap:Body>
    <confirmThirdParty xmlns="http://payout.services.adyen.com"> 
      <request> 
        <additionalData xsi:nil="true"/>
        <merchantAccount>TestMerchant</merchantAccount> 
        <originalReference>9913140798220028</originalReference> 
      </request> 
    </confirmThirdParty> 
  </soap:Body> 
</soap:Envelope>

Response:

<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soap:Body>
    <ns1:confirmThirdPartyResponse xmlns="http://payout.services.adyen.com"> 
      <ns1:response> 
        <pspReference xmlns="http://payout.services.adyen.com">9913140808680104</pspReference> 
        <response xmlns="http://payout.services.adyen.com">[payout-confirm-received]</response>
      </ns1:response> 
    </ns1:confirmThirdPartyResponse> 
  </soap:Body> 
</soap:Envelope>

Request:

merchantAccount=TestMerchant&originalReference=9913140798220028

Response:

pspReference=9914352327811826&response=%5Bpayout-confirm-received%5D

Decline a third-party payout

Request

Field Type Required Description
merchantAccount String (tick)
The merchant account identifier you want to process the (transaction) request with.
originalReference String (tick)

The PSP reference received in the submit payout response.

Response

If the message is syntactically valid and merchantAccount is correct, you receive a response with the following.
Field Type Required Description
pspReference String (tick)

A new reference to uniquely identify this request. This reference is the pspReference of the payout.

response String (tick)

The response:

In case of success, it is payout-decline-received.

In case of an error, an informational message is returned.

You do not receive notifications if the payout is declined.

Code examples

Request:

{
    "merchantAccount" : "TestMerchant",
    "originalReference" : "9913140798220028"
}

Response:

{
    "pspReference" : "9913140798220028",
    "response" : "[payout-decline-received]"
}

Request:

<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soap:Body>
    <declineThirdParty xmlns="http://payout.services.adyen.com"> 
      <request> 
        <additionalData xsi:nil="true"/>
        <merchantAccount>TestMerchant</merchantAccount> 
        <originalReference>9913140798220028</originalReference> 
      </request> 
    </declineThirdParty> 
  </soap:Body> 
</soap:Envelope>

Response:

<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soap:Body>
    <ns1:declineThirdPartyResponse xmlns="http://payout.services.adyen.com"> 
      <ns1:response> 
        <pspReference xmlns="http://payout.services.adyen.com">9913140808680104</pspReference> 
        <response xmlns="http://payout.services.adyen.com">[payout-decline-received]</response>
      </ns1:response> 
    </ns1:declineThirdPartyResponse> 
  </soap:Body> 
</soap:Envelope>

Request:

merchantAccount=TestMerchant&originalReference=9913140798220028

Response:

pspReference=9914352333652404&response=%5Bpayout-decline-received%5D

Required data for third-party payouts

Before sending a third-party payout request, make sure that you provide all necessary information on the bank account to be paid out. The required fields depend on the country/currency of your bank account and a third-party bank account.  In addition, you may need to check with the Adyen Support Team or account managers if there are any restrictions for you to make a third-party payout in a certain country. 

International payouts

When a payout is made from your bank account to a bank account in another country, the following fields are mandatory:

  • bank.ownerName
  • bank.iban
  • bank.bic
  • bank.bankName
  • bank.bankCity
  • billingAddress.city

Refer to the example below to see the fields required for this payout type.

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soap:Body>
      <storeDetail xmlns="http://payout.services.adyen.com">
         <request>
            <amount>
               <currency xmlns="http://common.services.adyen.com">EUR</currency>
               <value xmlns="http://common.services.adyen.com">4500</value>
            </amount>
            <bank>
               <ownerName xmlns="http://payment.services.adyen.com">Simon Hopper</ownerName>
               <iban xmlns="http://payment.services.adyen.com">GB35LOYD30000900077717</iban>
               <bic xmlns="http://payment.services.adyen.com">LOYDGB21013</bic>
               <bankName xmlns="http://payment.services.adyen.com">LLOYDS BANK PLC</bankName>
               <bankCity xmlns="http://payment.services.adyen.com">LONDON</bankCity>
            </bank>
            <billingAddress>
               <city xmlns="http://common.services.adyen.com">Amstelveen</city>
            </billingAddress>
            <merchantAccount>TestMerchant</merchantAccount>
            <recurring>
               <contract xmlns="http://payment.services.adyen.com">PAYOUT</contract>
            </recurring>
            <shopperEmail>s.hopper@company.com</shopperEmail>
            <shopperReference>RefPayoutTest12323</shopperReference>
            <reference>7d9d6970-0f70-41fe-b244-36f94324cfc5</reference>
            <shopperStatement>datum 23-07-16</shopperStatement>
         </request>
      </storeDetail>
   </soap:Body>
</soap:Envelope>

SEPA regional payouts

When a payout is made from your SEPA (Single Euro Payments Area) bank account to another SEPA bank account, the following fields must be passed within a bank account object:

  • bank.ownerName
  • bank.iban

Refer to the example below to see the fields required for this payout type.

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soap:Body>
      <storeDetailAndSubmitThirdParty xmlns="http://payout.services.adyen.com">
         <request>
            <amount>
               <currency xmlns="http://common.services.adyen.com">EUR</currency>
               <value xmlns="http://common.services.adyen.com">500</value>
            </amount>
            <bank>
               <ownerName xmlns="http://payment.services.adyen.com">Simon Hopper</ownerName>
               <iban xmlns="http://payment.services.adyen.com">NL71ABNA0431567026</iban>
            </bank>
            <merchantAccount>TestMerchant</merchantAccount>
            <recurring>
               <contract xmlns="http://payment.services.adyen.com">PAYOUT</contract>
            </recurring>
            <shopperEmail>s.hopper@company.com</shopperEmail>
            <shopperReference>RefPayoutTest11231</shopperReference>
            <reference>7d9d6970-0f70-41fe-b244-36f94324cfc5</reference>
            <shopperStatement>FooCar, transactienr 00000119, datum 23-07-16</shopperStatement>
         </request>
      </storeDetailAndSubmitThirdParty>
   </soap:Body>
</soap:Envelope>

Australia domestic payouts

To make a payout from an Australian bank account to another bank account in Australia, these fields are required:

  • bank.ownerName
  • bank.bankAccountNumber
  • bank.bankLocationId (BSB number)
  • billingAddress.city
  • billingAddress.street
  • billingAddress.houseNumberOrName
  • billingAddress.postalCode
  • billingAddress.country

Refer to the example below to see the fields required for this payout type.

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soap:Body>
      <storeDetailAndSubmitThirdParty xmlns="http://payout.services.adyen.com">
         <request>
            <amount>
               <currency xmlns="http://common.services.adyen.com">AUD</currency>
               <value xmlns="http://common.services.adyen.com">1200</value>
            </amount>
            <bank>
               <ownerName xmlns="http://payment.services.adyen.com">Simon Hopper</ownerName>
               <bankAccountNumber xmlns="http://payment.services.adyen.com">17529032</bankAccountNumber>
               <bankLocationId xmlns="http://payment.services.adyen.com">232001</bankLocationId>
            </bank>
            <billingAddress>
               <city xmlns="http://common.services.adyen.com">amstelveen</city>
               <street xmlns="http://common.services.adyen.com">abc street</street>
               <houseNumberOrName xmlns="http://common.services.adyen.com">121</houseNumberOrName>
               <postalCode xmlns="http://common.services.adyen.com">1185SG</postalCode>
               <country xmlns="http://common.services.adyen.com">AU</country>
            </billingAddress>
            <merchantAccount>TestPayoutMerchant_AU</merchantAccount>
            <recurring>
               <contract xmlns="http://payment.services.adyen.com">PAYOUT</contract>
            </recurring>
            <shopperEmail>s.hopper@company.com</shopperEmail>
            <shopperReference>RefPayoutTest123</shopperReference>
            <reference>7d9d6970-0f70-41fe-b244-36f94324cfc5</reference>
            <shopperStatement>FooCar, transactienr 000000009, datum 23-07-16</shopperStatement>
         </request>
      </storeDetailAndSubmitThirdParty>
   </soap:Body>
</soap:Envelope>

United Kingdom domestic payouts

To make a payout from a UK bank account to another bank account in the United Kingdom, these fields are required:

  • ownerName
  • iban

Instead of iban, you can also submit the following fields:

  • bankAccountNumber
  • bankLocationId (Sort code in UK)

Refer to the example below to see the fields required for this payout type.

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soap:Body>
      <storeDetailAndSubmitThirdParty xmlns="http://payout.services.adyen.com">
         <request>
            <amount>
               <currency xmlns="http://common.services.adyen.com">EUR</currency>
               <value xmlns="http://common.services.adyen.com">500</value>
            </amount>
            <bank>
               <ownerName xmlns="http://payment.services.adyen.com">Simon Hopper</ownerName>
               <iban xmlns="http://payment.services.adyen.com">GB35LOYD30000900077717</iban>
            </bank>
            <merchantAccount>TestMerchant</merchantAccount>
            <recurring>
               <contract xmlns="http://payment.services.adyen.com">PAYOUT</contract>
            </recurring>
            <shopperEmail>s.hopper@company.com</shopperEmail>
            <shopperReference>RefPayoutTest11231</shopperReference>
            <reference>7d9d6970-0f70-41fe-b244-36f94324cfc5</reference>
            <shopperStatement>FooCar, transactienr 00000119, datum 23-07-16</shopperStatement>
         </request>
      </storeDetailAndSubmitThirdParty>
   </soap:Body>
</soap:Envelope>

Payout notifications

For each request to payout endpoints, Adyen replies with an appropriate response message (for example,  payout-submit-received when you submit a payout, and payout-confirm-received when you confirm a payout). If a payout's state is changed in Adyen Customer Area (CA), you don't receive any response message; but in both cases you will receive a notification sent from the Adyen platform to your server.

In addition, you receive a notification to inform you after your payout is actually processed by Adyen. This notification has eventCode REFUND_WITH_DATA or eventCode   PAYOUT_THIRDPARTY  (for third-party payouts) and the success field, which indicates if the payout was successful (true) or not (false). If it is false, the reason field of the notification gives a brief description stating the reason.

The PSP reference of the payout is returned in the originalReference field.

You will also receive notifications in the following scenarios:

  • If a payout was declined by your reviewPayout user, you will get a notification with eventCode PAYOUT_DECLINE and success set to true.
  • If after 7 days there is no confirmation for a stored payout, this payout expires and you will get back a notification with eventCode PAYOUT_EXPIRE and success set to true.
  • In case of a closed bank account, refunded funds are returned and you will get a notification with eventCode  REFUNDED_REVERSED.

The following example illustrates a notification on a payout being successfully processed by Adyen:

{
    "live" : "false",
    "notificationItems" : [
        {
            "notificationRequestItem" : {   
                "amount" : {
                    "value" : 500,
                    "currency" : "EUR"
                 },
                 
                "eventCode" : "REFUND_WITH_DATA",
                "eventDate" : "2011-01-01T15:30:17.377+02:00",
                "merchantAccountCode" : "YourMerchantAccount",
                "merchantReference" : "Payout-0001",
                "paymentMethod" : "visa",
                "pspReference" : "ThePaymentPspReference",
                "originalReference" : "ThePayoutPspReference",
                "reason" : "Approved",
                "success" : "true"
            }
        }
    ]
}
<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"  xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soap:Body>
    <ns1:sendNotification xmlns:ns1="http://notification.services.adyen.com">
      <ns1:Notification>
        <live xmlns="http://notification.services.adyen.com">false</live> 
        <notificationItems xmlns="http://notification.services.adyen.com"> 
          <notificationRequestItem> 
            <amount> 
              <currency xmlns="http://common.services.adyen.com">EUR</currency> 
              <value xmlns="http://common.services.adyen.com">500</value> 
            </amount> 
            <eventCode>REFUND_WITH_DATA</eventCode>
            <eventDate>2011-01-01T15:30:17.377+02:00</eventDate>
            <merchantAccountCode>YourMerchantAccount</merchantAccountCode>
            <merchantReference>Payout-0001</merchantReference>
            <paymentMethod>visa</paymentMethod>
            <pspReference>ThePaymentPspReference</pspReference>
            <originalReference>ThePayoutPspReference</originalReference>
            <reason>Approved</reason>
            <success>true</success> 
          </notificationRequestItem> 
      </ns1:Notification>
    </ns1:sendNotification>
  </soap:Body>
</soap:Envelope>
originalReference=7914447213528916&reason=&merchantAccountCode=TestMerchant&eventCode=REFUND_WITH_DATA&operations=&success=true&paymentMethod=bankTransfer_NL&currency=EUR&pspReference=7914447213809209&merchantReference=Rest+Noti&value=400&live=false&eventDate=2015-10-13T07%3A29%3A40.00Z 

Supported payout methods

If an initial payment is performed with one of the following payment methods, it is possible to use the details for a payout:

  • Visa
  • MasterCard - Due to very strict regulations MasterCard only allows a payout in very specific situations.
  • iDEAL - Recurring/Payout via iDEAL is not enabled by default. Please contact our support to enable this.
  • directEbanking - Only when a shopper has used a German bank account.
  • Giropay - Only when a shopper has used a German bank account.
  • Skrill / Moneybookers - Direct contract with Skrill is required.
  • Neteller - Direct contract with Neteller is required.
  • PayPal - Direct contract with PayPal is required.
  • Paysafecard
  • When the initial payment is iDEAL the payout is processed as a Dutch bank transfer. When the initial payment is directEbanking or Giropay the payout is processed as a German bank transfer.
  • These payment methods must also be enabled for your merchant account for processing these payouts. If you do not want to enable the payment method on your Hosted Payment Pages (HPP), like bank transfer, then deactivate the methods in your skin.
  • It is also possible to use a bank transfer for a payout in the Netherlands and Germany. This must be done via an API call (it is not possible via our HPP).