Onboarding and verification

Learn how to onboard your sub-merchants and move them through the KYC verification process.


With Adyen MarketPay, you collect information from your sub-merchants and send it to Adyen over our API, and we automatically conduct required verification. You are in full control of the UI and user experience.

Each sub-merchant will need to go through Know Your Customer (KYC). KYC is the process of a business (Adyen) identifying and verifying the identity of its clients (your sub-merchants). This is required by payment industry regulations.

During the KYC verification process, you will be required to submit sub-merchant information to Adyen.

We categorize the required information for verification into these check types:

Refer to Verification checks for required information per check and per country.

You also have the option to use your existing KYC process.

Onboarding

The onboarding process follows these main steps:

  1. Create an account holder for your sub-merchant and immediately start processing payments.
  2. Enable payouts for your account holder.
  3. Pass in-depth verification to continue payment processing and payouts.

After completing in-depth verification, your sub-merchant will be able to process payments and payout freely.

For account holders in the EU, or as a last effort verification, a final Photo ID verification might be required.

Step 1: Create an account holder

To onboard your sub-merchant, create an Account Holder. The account holder represents your sub-merchants entity.

For each account holder you create, provide a unique ID, accountHolderCode. This is the id that you will use in the MarketPay API whenever referencing the account holder.

The rest of the information needed to create an account holder is determined by their legalEntity: provide as Individual if onboarding a person or sole proprietor, or Business if onboarding a company.

Onboarding an individual

To create an account holder for an individual or sole proprietor, the minimum information to collect is their name.firstName, name.lastName, and email. You also need to provide name.gender though if you do not want to request it from your sub-merchant, you can pass as UNKNOWN. Include the address object with the country information to initiate the verification process required for the specific country. Provide this information in the /createAccountHolder call.

If your sub-merchants need to submit Photo ID for verification (for example, in the EU), make sure they register with your marketplace using the name shown on their Photo ID.

{
   "accountHolderCode":"GENERATE_CODE", // Your unique ID
   "accountHolderDetails":{
      "address": {
        "country": "US"
      },
      "email":"tim@green.com",
      "individualDetails":{
         "name":{
            "firstName":"Tim",
            "gender":"MALE",
            "lastName":"Green"
         }
      }
   },
   "legalEntity":"Individual"
}
{
   "pspReference":"8815214563869136",
   "submittedAsync":"false",
   "accountCode":"138215709",
   "accountHolderCode":"QklMTFlCT0IK",
   "legalEntity":"Individual",
   "accountHolderDetails":{
      "address":{
         "country":"US"
      },
      ...
   },
    "accountHolderStatus": {
      "status": "Active",
    ...
   },
   ...
}

A successful creation has an HTTP status code of 200 and the response will include the newly created account holder.

Creating an account holder automatically creates an Account. The account's identifier is in the response as accountCode. Save the accountCode, this is the id you will use to process the account holder's transactions.

Onboarding a business

To create an account holder for a business, the minimum information to collect is their businessDetails.doingBusinessAsbusinessDetails.legalBusinessNamebusinessDetails.registrationNumber, businessDetails.shareholders, and email.  Include an address object with country information to initiate the verification process required for the specific country.

Provide these values along with the unique accountHolderCode and legalEntity as Business in the /createAccountHolder call.

{
  "accountHolderCode": "GENERATE_CODE", // Your unique ID
  "accountHolderDetails": {
    "address": {
        "country": "US"
    },
    "businessDetails": {
      "doingBusinessAs": "Real Good Restaurant",
      "legalBusinessName": "Real Good Restaurant Inc.",
      "registrationNumber": "04366849",
      "shareholders": [
        {
          "ShareholderContact": {
            "name": {
              "firstName": "Maria",
              "gender": "FEMALE",
              "lastName": "Green"
            }
          }
        }
      ]
    },
    "email": "maria@green.com"
  },
  "legalEntity": "Business"
}
{
   "pspReference":"8815214563869136",
   "submittedAsync":"false",
   "accountCode":"138215709",
   "accountHolderCode":"QklMTFlCT0IK",
   "legalEntity":"Business",
   "accountHolderDetails":{
      "address":{
         "country":"US"
      },
      ...
   },
    "accountHolderStatus": {
      "status": "Active",
    ...
   },
   ...
}

A successful creation has an HTTP status code of 200 and the response will include the newly created account holder.

Creating an account holder automatically creates an Account. The account's identifier is in the response as accountCode. Save the accountCode, this is the id you will use to process the account holder's transactions.

An account holder can hold one or more accounts. The account is where all transactions are processed against. Refer to MarketPay structure for more information.

After creating the account holder, you can immediately start processing payments on behalf of your sub-merchants. You can confirm that payments are enabled by the account holder's state – accountHolderStatus.state – having the value of true.

Step 2: Enable payouts

Adyen needs additional information about the account holder in order to be able to pay out. This information needs to be provided within 30 days of the account holder's first transaction.

If your account holder has already processed a few thousand dollars, they will additionally need to complete In-depth verification to enable payouts.

To enable payouts for your account holder, collect the following information and provide in the /updateAccountHolder call. The information is categorized by their corresponding verification checks:

uiComponent-dropdownAndTabs
 {
   "dropdownOptions":[
      {
         "id":"US",
         "displayName":"US - United States",
         "imageName":"us.png",
         "tabs":[
            {
               "displayName":"For individuals",
               "sections":[
                  {
                     "displayName":"Identity check",
                     "fields":[
                        "email",
                        "fullPhoneNumber",
                        "",
                        "individualDetails.name.firstName",
                        "individualDetails.name.lastName",
                        "individualDetails.name.gender (can be \"UNKNOWN\")",
                        "individualDetails.personalData.idNumber",
                        "individualDetails.personalData.dateOfBirth",
                        "",
                        "address.houseNumberOrName",
                        "address.street",
                        "address.postalCode",
                        "address.city",
                        "address.stateOrProvince",
                        "address.country"
                     ]
                  },
                  {
                     "displayName":"Bank account check",
                     "fields":[
                        "accountNumber",
                        "accountType",
                        "currencyCode",
                        "countryCode",
                        "branchCode",
                        "",
                        "ownerName",
                        "ownerHouseNumberOrName",
                        "ownerPostalCode",
                        "ownerCity",
                        "ownerStreet",
                        "ownerCountryCode",
                        "ownerState"
                     ]
                  }
               ]
            },
            {
               "displayName":"For businesses",
               "sections":[
                  {
                     "displayName":"Bank account check",
                     "fields":[
                        "accountNumber",
                        "accountType",
                        "currencyCode",
                        "countryCode",
                        "branchCode",
                        "",
                        "ownerName",
                        "ownerHouseNumberOrName",
                        "ownerPostalCode",
                        "ownerCity",
                        "ownerStreet",
                        "ownerCountryCode",
                        "ownerState"
                     ]
                  },
                  {
                     "displayName":"Company check",
                     "fields":[
                        "address.houseNumberOrName",
                        "address.street",
                        "address.postalCode",
                        "address.city",
                        "address.stateOrProvince",
                        "address.country",
                        "",
                        "businessDetails.legalBusinessName",
                        "businessDetails.doingBusinessAs",
                        "businessDetails.registrationNumber (*)",
                        "",
                        "fullPhoneNumber"
                     ]
                  },
                  {
                     "displayName":"Identity check",
                     "comment":"For each shareholder with >25% ownership and each senior employee, the information below needs to be provided in the ShareholderContact object to get the DATA_PROVIDED status.",
                     "fields":[
                        "name.firstName",
                        "name.lastName",
                        "name.gender (can be \"UNKNOWN\")",
                        "",
                        "personalData.dateOfBirth",
                        "personalData.idNumber",
                        "",
                        "address.houseNumberOrName",
                        "address.street",
                        "address.postalCode",
                        "address.city",
                        "address.stateOrProvince",
                        "address.country"
                     ]
                  }
               ]
            }
         ]
      },
      {
         "id":"AT",
         "displayName":"AT - Austria",
         "imageName":"at.png",
         "tabs":[
            {
               "displayName":"For individuals",
               "sections":[
                  {
                     "displayName":"Identity check",
                     "fields":[
                        "email",
                        "fullPhoneNumber",
                        "",
                        "individualDetails.name.firstName",
                        "individualDetails.name.lastName",
                        "individualDetails.name.gender (can be \"UNKNOWN\")",
                        "individualDetails.personalData.dateOfBirth",
                        "",
                        "address.houseNumberOrName",
                        "address.street",
                        "address.postalCode",
                        "address.city",
                        "address.country"
                     ]
                  },
                  {
                     "displayName":"Bank account check",
                     "fields":[
                        "currencyCode",
                        "countryCode",
                        "iban",
                        "",
                        "ownerName"
                     ]
                  }
               ]
            },
            {
               "displayName":"For businesses",
               "sections":[
                  {
                     "displayName":"Bank account check",
                     "fields":[
                        "currencyCode",
                        "countryCode",
                        "iban",
                        "",
                        "ownerName"
                     ]
                  },
                  {
                     "displayName":"Company check",
                     "fields":[
                        "address.houseNumberOrName",
                        "address.street",
                        "address.postalCode",
                        "address.city",
                        "address.country",
                        "",
                        "businessDetails.legalBusinessName",
                        "businessDetails.doingBusinessAs",
                        "businessDetails.registrationNumber (*)",
                        "",
                        "fullPhoneNumber"
                     ]
                  },
                  {
                     "displayName":"Identity check",
                     "comment":"For each shareholder with >25% ownership and each senior employee, the information below needs to be provided in the ShareholderContact object to get the DATA_PROVIDED status.",
                     "fields":[
                        "name.firstName",
                        "name.lastName",
                        "name.gender (can be \"UNKNOWN\")",
                        "",
                        "personalData.dateOfBirth",
                        "",
                        "address.houseNumberOrName",
                        "address.street",
                        "address.postalCode",
                        "address.city",
                        "address.country"
                     ]
                  }
               ]
            }
         ]
      },
      {
         "id":"BE",
         "displayName":"BE - Belgium",
         "imageName":"be.png",
         "tabs":[
            {
               "displayName":"For individuals",
               "sections":[
                  {
                     "displayName":"Identity check",
                     "fields":[
                        "email",
                        "fullPhoneNumber",
                        "",
                        "individualDetails.name.firstName",
                        "individualDetails.name.lastName",
                        "individualDetails.name.gender (can be \"UNKNOWN\")",
                        "individualDetails.personalData.dateOfBirth",
                        "",
                        "address.houseNumberOrName",
                        "address.street",
                        "address.postalCode",
                        "address.city",
                        "address.country"
                     ]
                  },
                  {
                     "displayName":"Bank account check",
                     "fields":[
                        "currencyCode",
                        "countryCode",
                        "iban",
                        "",
                        "ownerName"
                     ]
                  }
               ]
            },
            {
               "displayName":"For businesses",
               "sections":[
                  {
                     "displayName":"Bank account check",
                     "fields":[
                        "currencyCode",
                        "countryCode",
                        "iban",
                        "",
                        "ownerName"
                     ]
                  },
                  {
                     "displayName":"Company check",
                     "fields":[
                        "address.houseNumberOrName",
                        "address.street",
                        "address.postalCode",
                        "address.city",
                        "address.country",
                        "",
                        "businessDetails.legalBusinessName",
                        "businessDetails.doingBusinessAs",
                        "businessDetails.registrationNumber (*)",
                        "",
                        "fullPhoneNumber"
                     ]
                  },
                  {
                     "displayName":"Identity check",
                     "comment":"For each shareholder with >25% ownership and each senior employee, the information below needs to be provided in the ShareholderContact object to get the DATA_PROVIDED status.",
                     "fields":[
                        "name.firstName",
                        "name.lastName",
                        "name.gender (can be \"UNKNOWN\")",
                        "",
                        "personalData.dateOfBirth",
                        "",
                        "address.houseNumberOrName",
                        "address.street",
                        "address.postalCode",
                        "address.city",
                        "address.country"
                     ]
                  }
               ]
            }
         ]
      },
      {
         "id":"DE",
         "displayName":"DE - Germany",
         "imageName":"de.png",
         "tabs":[
            {
               "displayName":"For individuals",
               "sections":[
                  {
                     "displayName":"Identity check",
                     "fields":[
                        "email",
                        "fullPhoneNumber",
                        "",
                        "individualDetails.name.firstName",
                        "individualDetails.name.lastName",
                        "individualDetails.name.gender (can be \"UNKNOWN\")",
                        "individualDetails.personalData.dateOfBirth",
                        "",
                        "address.houseNumberOrName",
                        "address.street",
                        "address.postalCode",
                        "address.city",
                        "address.country"
                     ]
                  },
                  {
                     "displayName":"Bank account check",
                     "fields":[
                        "accountNumber (**)",
                        "currencyCode",
                        "countryCode",
                        "branchCode (**)",
                        "iban (**)",
                        "",
                        "ownerName"
                     ]
                  }
               ]
            },
            {
               "displayName":"For businesses",
               "sections":[
                  {
                     "displayName":"Bank account check",
                     "fields":[
                        "accountNumber (**)",
                        "currencyCode",
                        "countryCode",
                        "branchCode (**)",
                        "iban (**)",
                        "",
                        "ownerName"
                     ]
                  },
                  {
                     "displayName":"Company check",
                     "fields":[
                        "address.houseNumberOrName",
                        "address.street",
                        "address.postalCode",
                        "address.city",
                        "address.country",
                        "",
                        "businessDetails.legalBusinessName",
                        "businessDetails.doingBusinessAs",
                        "businessDetails.registrationNumber (*)",
                        "",
                        "fullPhoneNumber"
                     ]
                  },
                  {
                     "displayName":"Identity check",
                     "comment":"For each shareholder with >25% ownership and each senior employee, the information below needs to be provided in the ShareholderContact object to get the DATA_PROVIDED status.",
                     "fields":[
                        "name.firstName",
                        "name.lastName",
                        "name.gender (can be \"UNKNOWN\")",
                        "",
                        "personalData.dateOfBirth",
                        "",
                        "address.houseNumberOrName",
                        "address.street",
                        "address.postalCode",
                        "address.city",
                        "address.country"
                     ]
                  }
               ]
            }
         ]
      },
      {
         "id":"ES",
         "displayName":"ES - Spain",
         "imageName":"es.png",
         "tabs":[
            {
               "displayName":"For individuals",
               "sections":[
                  {
                     "displayName":"Identity check",
                     "fields":[
                        "email",
                        "fullPhoneNumber",
                        "",
                        "individualDetails.name.firstName",
                        "individualDetails.name.lastName",
                        "individualDetails.name.gender (can be \"UNKNOWN\")",
                        "individualDetails.personalData.dateOfBirth",
                        "",
                        "address.houseNumberOrName",
                        "address.street",
                        "address.postalCode",
                        "address.city",
                        "address.country"
                     ]
                  },
                  {
                     "displayName":"Bank account check",
                     "fields":[
                        "currencyCode",
                        "countryCode",
                        "iban",
                        "ownerName"
                     ]
                  }
               ]
            },
            {
               "displayName":"For businesses",
               "sections":[
                  {
                     "displayName":"Bank account check",
                     "fields":[
                        "currencyCode",
                        "countryCode",
                        "iban",
                        "ownerName"
                     ]
                  },
                  {
                     "displayName":"Company check",
                     "fields":[
                        "address.houseNumberOrName",
                        "address.street",
                        "address.postalCode",
                        "address.city",
                        "address.country",
                        "",
                        "businessDetails.legalBusinessName",
                        "businessDetails.doingBusinessAs",
                        "businessDetails.registrationNumber (*)",
                        "",
                        "fullPhoneNumber"
                     ]
                  },
                  {
                     "displayName":"Identity check",
                     "comment":"For each shareholder with >25% ownership and each senior employee, the information below needs to be provided in the ShareholderContact object to get the DATA_PROVIDED status.",
                     "fields":[
                        "name.firstName",
                        "name.lastName",
                        "name.gender (can be \"UNKNOWN\")",
                        "",
                        "personalData.dateOfBirth",
                        "",
                        "address.houseNumberOrName",
                        "address.street",
                        "address.postalCode",
                        "address.city",
                        "address.country"
                     ]
                  }
               ]
            }
         ]
      },
      {
         "id":"FI",
         "displayName":"FI - Finland",
         "imageName":"fi.png",
         "tabs":[
            {
               "displayName":"For individuals",
               "sections":[
                  {
                     "displayName":"Identity check",
                     "fields":[
                        "email",
                        "fullPhoneNumber",
                        "",
                        "individualDetails.name.firstName",
                        "individualDetails.name.lastName",
                        "individualDetails.name.gender (can be \"UNKNOWN\")",
                        "individualDetails.personalData.dateOfBirth",
                        "",
                        "address.houseNumberOrName",
                        "address.street",
                        "address.postalCode",
                        "address.city",
                        "address.country"
                     ]
                  },
                  {
                     "displayName":"Bank account check",
                     "fields":[
                        "currencyCode",
                        "countryCode",
                        "iban",
                        "",
                        "ownerName"
                     ]
                  }
               ]
            },
            {
               "displayName":"For businesses",
               "sections":[
                  {
                     "displayName":"Bank account check",
                     "fields":[
                        "currencyCode",
                        "countryCode",
                        "iban",
                        "",
                        "ownerName"
                     ]
                  },
                  {
                     "displayName":"Company check",
                     "fields":[
                        "address.houseNumberOrName",
                        "address.street",
                        "address.postalCode",
                        "address.city",
                        "address.country",
                        "",
                        "businessDetails.legalBusinessName",
                        "businessDetails.doingBusinessAs",
                        "businessDetails.registrationNumber (*)",
                        "",
                        "fullPhoneNumber"
                     ]
                  },
                  {
                     "displayName":"Identity check",
                     "comment":"For each shareholder with >25% ownership and each senior employee, the information below needs to be provided in the ShareholderContact object to get the DATA_PROVIDED status.",
                     "fields":[
                        "name.firstName",
                        "name.lastName",
                        "name.gender (can be \"UNKNOWN\")",
                        "",
                        "personalData.dateOfBirth",
                        "",
                        "address.houseNumberOrName",
                        "address.street",
                        "address.postalCode",
                        "address.city",
                        "address.country"
                     ]
                  }
               ]
            }
         ]
      },
      {
         "id":"FR",
         "displayName":"FR - France",
         "imageName":"fr.png",
         "tabs":[
            {
               "displayName":"For individuals",
               "sections":[
                  {
                     "displayName":"Identity check",
                     "fields":[
                        "email",
                        "fullPhoneNumber",
                        "",
                        "individualDetails.name.firstName",
                        "individualDetails.name.lastName",
                        "individualDetails.name.gender (can be \"UNKNOWN\")",
                        "individualDetails.personalData.dateOfBirth",
                        "",
                        "address.houseNumberOrName",
                        "address.street",
                        "address.postalCode",
                        "address.city",
                        "address.country"
                     ]
                  },
                  {
                     "displayName":"Bank account check",
                     "fields":[
                        "currencyCode",
                        "countryCode",
                        "iban",
                        "ownerName"
                     ]
                  }
               ]
            },
            {
               "displayName":"For businesses",
               "sections":[
                  {
                     "displayName":"Bank account check",
                     "fields":[
                        "currencyCode",
                        "countryCode",
                        "iban",
                        "ownerName"
                     ]
                  },
                  {
                     "displayName":"Company check",
                     "fields":[
                        "address.houseNumberOrName",
                        "address.street",
                        "address.postalCode",
                        "address.city",
                        "address.country",
                        "",
                        "businessDetails.legalBusinessName",
                        "businessDetails.doingBusinessAs",
                        "businessDetails.registrationNumber (*)",
                        "",
                        "fullPhoneNumber"
                     ]
                  },
                  {
                     "displayName":"Identity check",
                     "comment":"For each shareholder with >25% ownership and each senior employee, the information below needs to be provided in the ShareholderContact object to get the DATA_PROVIDED status.",
                     "fields":[
                        "name.firstName",
                        "name.lastName",
                        "name.gender (can be \"UNKNOWN\")",
                        "",
                        "personalData.dateOfBirth",
                        "",
                        "address.houseNumberOrName",
                        "address.street",
                        "address.postalCode",
                        "address.city",
                        "address.country"
                     ]
                  }
               ]
            }
         ]
      },
      {
         "id":"GB",
         "displayName":"GB - United Kingdom",
         "imageName":"gb.png",
         "tabs":[
            {
               "displayName":"For individuals",
               "sections":[
                  {
                     "displayName":"Identity check",
                     "fields":[
                        "email",
                        "fullPhoneNumber",
                        "",
                        "individualDetails.name.firstName",
                        "individualDetails.name.lastName",
                        "individualDetails.name.gender (can be \"UNKNOWN\")",
                        "individualDetails.personalData.idNumber",
                        "individualDetails.personalData.dateOfBirth",
                        "",
                        "address.houseNumberOrName",
                        "address.street",
                        "address.postalCode",
                        "address.city",
                        "address.country"
                     ]
                  },
                  {
                     "displayName":"Bank account check",
                     "fields":[
                        "accountNumber (**)",
                        "currencyCode",
                        "countryCode",
                        "iban (**)",
                        "bankCode (**)",
                        "branchCode (**)",
                        "",
                        "ownerName",
                        "ownerHouseNumberOrName",
                        "ownerPostalCode",
                        "ownerCity"
                     ]
                  }
               ]
            },
            {
               "displayName":"For businesses",
               "sections":[
                  {
                     "displayName":"Bank account check",
                     "fields":[
                        "accountNumber (**)",
                        "currencyCode",
                        "countryCode",
                        "iban (**)",
                        "bankCode (**)",
                        "branchCode (**)",
                        "",
                        "ownerName",
                        "ownerHouseNumberOrName",
                        "ownerPostalCode",
                        "ownerCity"
                     ]
                  },
                  {
                     "displayName":"Company check",
                     "fields":[
                        "address.houseNumberOrName",
                        "address.street",
                        "address.postalCode",
                        "address.city",
                        "address.country",
                        "",
                        "businessDetails.legalBusinessName",
                        "businessDetails.doingBusinessAs",
                        "businessDetails.registrationNumber (*)",
                        "",
                        "fullPhoneNumber"
                     ]
                  },
                  {
                     "displayName":"Identity check",
                     "comment":"For each shareholder with >25% ownership and each senior employee, the information below needs to be provided in the ShareholderContact object to get the DATA_PROVIDED status.",
                     "fields":[
                        "name.firstName",
                        "name.lastName",
                        "name.gender (can be \"UNKNOWN\")",
                        "",
                        "personalData.dateOfBirth",
                        "",
                        "address.houseNumberOrName",
                        "address.street",
                        "address.postalCode",
                        "address.city",
                        "address.country"
                     ]
                  }
               ]
            }
         ]
      },
      {
         "id":"IE",
         "displayName":"IE - Ireland",
         "imageName":"at.png",
         "tabs":[
            {
               "displayName":"For individuals",
               "sections":[
                  {
                     "displayName":"Identity check",
                     "fields":[
                        "email",
                        "fullPhoneNumber",
                        "",
                        "individualDetails.name.firstName",
                        "individualDetails.name.lastName",
                        "individualDetails.name.gender (can be \"UNKNOWN\")",
                        "individualDetails.personalData.dateOfBirth",
                        "",
                        "address.houseNumberOrName",
                        "address.street",
                        "address.postalCode",
                        "address.city",
                        "address.country"
                     ]
                  },
                  {
                     "displayName":"Bank account check",
                     "fields":[
                        "currencyCode",
                        "countryCode",
                        "iban",
                        "",
                        "ownerName"
                     ]
                  }
               ]
            },
            {
               "displayName":"For businesses",
               "sections":[
                  {
                     "displayName":"Bank account check",
                     "fields":[
                        "currencyCode",
                        "countryCode",
                        "iban",
                        "",
                        "ownerName"
                     ]
                  },
                  {
                     "displayName":"Company check",
                     "fields":[
                        "address.houseNumberOrName",
                        "address.street",
                        "address.postalCode",
                        "address.city",
                        "address.country",
                        "",
                        "businessDetails.legalBusinessName",
                        "businessDetails.doingBusinessAs",
                        "businessDetails.registrationNumber (*)",
                        "",
                        "fullPhoneNumber"
                     ]
                  },
                  {
                     "displayName":"Identity check",
                     "comment":"For each shareholder with >25% ownership and each senior employee, the information below needs to be provided in the ShareholderContact object to get the DATA_PROVIDED status.",
                     "fields":[
                        "name.firstName",
                        "name.lastName",
                        "name.gender (can be \"UNKNOWN\")",
                        "",
                        "personalData.dateOfBirth",
                        "",
                        "address.houseNumberOrName",
                        "address.street",
                        "address.postalCode",
                        "address.city",
                        "address.country"
                     ]
                  }
               ]
            }
         ]
      },
      {
         "id":"IT",
         "displayName":"IT - Italy",
         "imageName":"it.png",
         "tabs":[
            {
               "displayName":"For individuals",
               "sections":[
                  {
                     "displayName":"Identity check",
                     "fields":[
                        "email",
                        "fullPhoneNumber",
                        "",
                        "individualDetails.name.firstName",
                        "individualDetails.name.lastName",
                        "individualDetails.name.gender (can be \"UNKNOWN\")",
                        "individualDetails.personalData.idNumber",
                        "individualDetails.personalData.dateOfBirth",
                        "",
                        "address.houseNumberOrName",
                        "address.street",
                        "address.postalCode",
                        "address.city",
                        "address.country"
                     ]
                  },
                  {
                     "displayName":"Bank account check",
                     "fields":[
                        "currencyCode",
                        "countryCode",
                        "iban",
                        "ownerName"
                     ]
                  }
               ]
            },
            {
               "displayName":"For businesses",
               "sections":[
                  {
                     "displayName":"Bank account check",
                     "fields":[
                        "currencyCode",
                        "countryCode",
                        "iban",
                        "ownerName"
                     ]
                  },
                  {
                     "displayName":"Company check",
                     "fields":[
                        "address.houseNumberOrName",
                        "address.street",
                        "address.postalCode",
                        "address.city",
                        "address.country",
                        "",
                        "businessDetails.legalBusinessName",
                        "businessDetails.doingBusinessAs",
                        "businessDetails.registrationNumber (*)",
                        "",
                        "fullPhoneNumber"
                     ]
                  },
                  {
                     "displayName":"Identity check",
                     "comment":"For each shareholder with >25% ownership and each senior employee, the information below needs to be provided in the ShareholderContact object to get the DATA_PROVIDED status.",
                     "fields":[
                        "name.firstName",
                        "name.lastName",
                        "name.gender (can be \"UNKNOWN\")",
                        "",
                        "personalData.dateOfBirth",
                        "",
                        "address.houseNumberOrName",
                        "address.street",
                        "address.postalCode",
                        "address.city",
                        "address.country"
                     ]
                  }
               ]
            }
         ]
      },
      {
         "id":"NL",
         "displayName":"NL - Netherlands",
         "imageName":"nl.png",
         "tabs":[
            {
               "displayName":"For individuals",
               "sections":[
                  {
                     "displayName":"Identity check",
                     "fields":[
                        "email",
                        "fullPhoneNumber",
                        "",
                        "individualDetails.name.firstName",
                        "individualDetails.name.lastName",
                        "individualDetails.name.gender (can be \"UNKNOWN\")",
                        "individualDetails.personalData.dateOfBirth",
                        "",
                        "address.houseNumberOrName",
                        "address.street",
                        "address.postalCode",
                        "address.city",
                        "address.country"
                     ]
                  },
                  {
                     "displayName":"Bank account check",
                     "fields":[
                        "accountNumber (**)",
                        "currencyCode",
                        "countryCode",
                        "iban (**)",
                        "",
                        "ownerName"
                     ]
                  }
               ]
            },
            {
               "displayName":"For businesses",
               "sections":[
                  {
                     "displayName":"Bank account check",
                     "fields":[
                        "accountNumber (**)",
                        "currencyCode",
                        "countryCode",
                        "iban (**)",
                        "",
                        "ownerName"
                     ]
                  },
                  {
                     "displayName":"Company check",
                     "fields":[
                        "address.houseNumberOrName",
                        "address.street",
                        "address.postalCode",
                        "address.city",
                        "address.country",
                        "",
                        "businessDetails.legalBusinessName",
                        "businessDetails.doingBusinessAs",
                        "businessDetails.registrationNumber (*)",
                        "",
                        "fullPhoneNumber"
                     ]
                  },
                  {
                     "displayName":"Identity check",
                     "comment":"For each shareholder with >25% ownership and each senior employee, the information below needs to be provided in the ShareholderContact object to get the DATA_PROVIDED status.",
                     "fields":[
                        "name.firstName",
                        "name.lastName",
                        "name.gender (can be \"UNKNOWN\")",
                        "",
                        "personalData.dateOfBirth",
                        "",
                        "address.houseNumberOrName",
                        "address.street",
                        "address.postalCode",
                        "address.city",
                        "address.country"
                     ]
                  }
               ]
            }
         ]
      },
      {
         "id":"PT",
         "displayName":"PT - Portugal",
         "imageName":"pt.png",
         "tabs":[
            {
               "displayName":"For individuals",
               "sections":[
                  {
                     "displayName":"Identity check",
                     "fields":[
                        "email",
                        "fullPhoneNumber",
                        "",
                        "individualDetails.name.firstName",
                        "individualDetails.name.lastName",
                        "individualDetails.name.gender (can be \"UNKNOWN\")",
                        "individualDetails.personalData.dateOfBirth",
                        "",
                        "address.houseNumberOrName",
                        "address.street",
                        "address.postalCode",
                        "address.city",
                        "address.country"
                     ]
                  },
                  {
                     "displayName":"Bank account check",
                     "fields":[
                        "currencyCode",
                        "countryCode",
                        "iban",
                        "",
                        "ownerName"
                     ]
                  }
               ]
            },
            {
               "displayName":"For businesses",
               "sections":[
                  {
                     "displayName":"Bank account check",
                     "fields":[
                        "currencyCode",
                        "countryCode",
                        "iban",
                        "",
                        "ownerName"
                     ]
                  },
                  {
                     "displayName":"Company check",
                     "fields":[
                        "address.houseNumberOrName",
                        "address.street",
                        "address.postalCode",
                        "address.city",
                        "address.country",
                        "",
                        "businessDetails.legalBusinessName",
                        "businessDetails.doingBusinessAs",
                        "businessDetails.registrationNumber (*)",
                        "",
                        "fullPhoneNumber"
                     ]
                  },
                  {
                     "displayName":"Identity check",
                     "comment":"For each shareholder with >25% ownership and each senior employee, the information below needs to be provided in the ShareholderContact object to get the DATA_PROVIDED status.",
                     "fields":[
                        "name.firstName",
                        "name.lastName",
                        "name.gender (can be \"UNKNOWN\")",
                        "",
                        "personalData.dateOfBirth",
                        "",
                        "address.houseNumberOrName",
                        "address.street",
                        "address.postalCode",
                        "address.city",
                        "address.country"
                     ]
                  }
               ]
            }
         ]
      }
   ]
}

( * ) For more information on what you need to provide, see Providing a business registration number.

( ** ) Either iban or the combination of bankCodebranchCodeaccountNumber is required.

After you provide this information to Adyen, we will perform initial verification and payouts will be enabled. You can confirm the enabled payouts in accountHolderStatus.payoutState.allowPayout as having the value of true.

Each completed check will have its status updated to DATA_PROVIDED and a corresponding ACCOUNT_HOLDER_VERIFICATION notification will be sent.

Missing the 30 day timeline

If you are unable to collect the information required by the verification checks within 30 days of the first transaction, the account holder's status will be updated to inactive and payment processing will be temporarily disabled.

Missing the 30 day deadline will trigger the 6 week deadline.

Step 3: In-depth verification

Adyen may perform additional verification, based on a variety of risk elements, using the already collected information of your account holder.

If your account holder is based in the EU, they may need to provide Photo ID verification to enable payouts.

If the previously collected information passes our in-depth verification, there will be no interruption to your account holder's ability to process payments and pay out. The verification checks statuses will be updated to PASSED and a corresponding ACCOUNT_HOLDER_VERIFICATION notification will be sent.

If the account holder does not pass the in-depth verification, payouts will be temporarily disabled.

For each verification check that did not pass, you will have 30 days to recollect the information required by that check. Providing the information and passing verification will re-enable payouts and the verification check status will be updated to PASSED.

We will send an accompanying ACCOUNT_HOLDER_VERIFICATION notification for each failed verification check with the verificationStatus of INVALID_DATA.

Missing the 30 day deadline will trigger the 6 week deadline.

Step 4: Photo ID verification

In the EU, we may require photo identification (such as passport) of your account holders.

In all countries, if the account holder's Identity check can not be validated, Photo ID verification is used as the ultimate verification.

If photo identification is needed, payouts will be disabled, and the Photo ID verification will show a status of AWAITING_DATA. You have 30 days after the status change to collect photo identification from your account holder.

We will send an accompanying ACCOUNT_HOLDER_VERIFICATION notification for the Photo ID check.

For individuals, you must collect the account holder's passport or government issued ID. Your account holder can also use their driver's license.

To provide a Photo ID, use the /uploadDocument call. You need to specify the accountHolderCode of the account holder and provide the appropriate documentType: the type is determined by the type of document you collected from you account holder. In this example, we use a PASSPORT.

The photo must be a jpeg, jpg, pdf, or png file, encoded as a Base64 string, and passed as the documentContent parameter.

{
   "documentContent":"dGVzdCBkb2N1bWVudCBjb250ZW50...VcdCB=",
   "documentDetail":{
      "accountHolderCode":"TestAccountHolder534055",
      "documentType":"PASSPORT"
   }
}
{
   ...
}

A successful upload will have an HTTP status code of 200 and the response will be the account holder's information, which will contain the photo id check with a status of PENDING.

Photo IDs are validated asynchronously and on average, will take about 30 second to validate. Once validated, the photo ID check will be updated to a status of PASSED, and We will send an accompanying ACCOUNT_HOLDER_VERIFICATION notification.

If we are unable to validate, the account holder will go into manual review.

Missing the 30 day deadline will disable processing and trigger the 6 week deadline.

Suspension deadline

If you are unable to collect the information required for a given verification check within 30 days of its status change, the account holder's state will be updated to inactive and payment processing will be temporarily disabled.

A 6 week deadline is set from this point by which you need to provide the requested information. Once you provide the requested information, the account holder's state will be restored to active and processing will be enabled.

Not providing the information within this 6 week deadline will suspend the account holder. You will no longer be able to make API calls updating the account holder.

Reach out to Support Team in order to reverse the suspension on the account holder.

Multiple verification attempts

It is possible your account holder might provide information several times for a given verification check without Adyen being able to validate them. In these cases, the verification check status will change to RETRY_LIMIT_REACHED.

Each check has its own means of resolving the RETRY_LIMIT_REACHED status. Refer to Verification check for each check and how to resolve RETRY_LIMIT_REACHED.

Failing to resolve the RETRY_LIMIT_REACHED will put the verification check under manual review.

Verification statuses

Each verification check has an accompanying Verification status, which reflects where the account holder is in the verification process and whether more information is required.

Whenever a verification check is updated, you will receive an ACCOUNT_HOLDER_VERIFICATION notification specifying the check that was updated and its new status.

All account holder and account changes, including creation, notifications will be communicated to you via webhooks. Use our Notification Configuration API to configure your webhooks. You also can find a list of all notifications in Notifications.

Using your own KYC process

If you already have your own KYC process, you may be eligible to continue using it and we would not perform any validation on your account holders.

We will need to audit and approve your KYC process. Reach out to our Support Team if you are interested in using your existing KYC processes.

Once approved, you will still need to upload all the information of your account holders but we won't perform any validation.

Next steps

Verification checks

Learn about the MarketPay KYC process and verification checks.

link

Process payments

Split marketplace payments with your sub-merchants.

link

Payouts

Make scheduled and one-off payouts to sub-merchants.

link