Search

Are you looking for test card numbers?

Would you like to contact support?

Marketpay icon

Test scenarios

Test your integration.

Adyen for Platforms provides you with a set of predefined test scenarios to test your integration. To test the scenarios, you need to create certain account holder states. This page explain how to:

  • Create account holders in the states you need.
  • Use the predefined test scenarios.

Create an account holder in the payout state

Select the account holder type to see the relevant examples below:

  1. Make a POST /createAccountHolder request to create an account holder. In your request, specify:

    • address.city: PASSED
    • bankAccountDetails.ownerCity: PASSED for all banks accounts. At least one bank account must be defined.
    • bankAccountDetails.ownerName: TestData
    • individualDetails.name.lastName: TestData
    • legalEntity: Individual
    /createAccountHolder request
    {
        "accountHolderCode":"YOUR_UNIQUE_ACCOUNTHOLDER_CODE",
        "accountHolderDetails":{
            "address":{
                "city":"PASSED",
                "country":"NL",
                "houseNumberOrName":"1",
                "postalCode":"1234AB",
                "street":"Main Street"
            },
            "bankAccountDetails":[
                {
                    "countryCode":"NL",
                    "currencyCode":"EUR",
                    "iban":"NL13TEST0123456789",
                    "ownerCity":"PASSED",
                    "ownerCountryCode":"NL",
                    "ownerHouseNumberOrName":"1",
                    "ownerName":"TestData",
                    "ownerPostalCode":"1234AB",
                    "ownerStreet":"Main Street"
                }
            ],
            "email":"a.holder@example.com",
            "individualDetails":{
                "name":{
                    "firstName":"Anthony",
                    "gender":"MALE",
                    "lastName":"TestData"
                },
                "personalData":{
                    "dateOfBirth":"2001-04-27"
                }
            },
            "phoneNumber":{
                "phoneCountryCode":"NL",
                "phoneNumber":"0612345678",
                "phoneType":"Landline"
            },
            "webAddress":"https://www.example.com"
        },
        "legalEntity":"Individual",
        "processingTier":3
    }
  2. Upload a photo ID on a Hosted Onboarding Page (HOP) or through an API request.

    • Hosted Onboarding Page

      • Upload a document with a PASSED file name. For example, PASSED.jpg.
    • API

      • Make a POST /uploadDocument request to upload a passport. In your request, specify:
        • documentType: PASSPORT
        • description: PASSED

      When uploading photo ID, the account holder is set to the limitless state. This means the account holder requires the highest level of KYC checks.

      /uploadDocument request for passport upload
      {
          "documentContent":"JVBERi0xLjcKJeLjz9MKMSAwIG9iaiAKPDwKL1N1YnR5cGUgL0ltYWdlCi9UeXBlIC9YT2JqZWN0Ci9XaWR0aCAxMzYyCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9IZWlnaHQgNjI0Ci9CaXRzUGVyQ29tcG9uZW50IDgKL0xlbmd0aCA0MDA2NQovQ29sb3JTcGFjZSAvRGV2aWNlUkdCCj4+CnN0cmVhbQp4nO3dB3gU1aRU9GCg==",
          "documentDetail": {
              "accountHolderCode":"YOUR_UNIQUE_ACCOUNTHOLDER_CODE",
              "description":"PASSED",
              "documentType":"PASSPORT",
              "filename":"document_name_passport.pdf"
          }
      }
  3. Upload a bank statement on a Hosted Onboarding Page (HOP) or through an API request.

    • Hosted Onboarding Page

      • Upload a document with a PASSED file name. For example, PASSED.pdf.
    • API
    /uploadDocument request for bank statement upload
    {
        "documentContent":"JVBERi0xLjcKJeLjz9MKMSAwIG9iaiAKPDwKL1N1YnR5cGUgL0ltYWdlCi9UeXBlIC9YT2JqZWN0Ci9XaWR0aCAxMzYyCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9IZWlnaHQgNjI0Ci9CaXRzUGVyQ29tcG9uZW50IDgKL0xlbmd0aCA0MDA2NQovQ29sb3JTcGFjZSAvRGV2aWNlUkdCCj4+CnN0cmVhbQp4nO3dB3gU1aRU9GCg==",
        "documentDetail": {
            "accountHolderCode": "YOUR_UNIQUE_ACCOUNTHOLDER_CODE",
            "bankAccountUUID": "{hint:The /createAccountHolder response contains a bankAccountUUID}THE_BANK_ACCOUNT_UUID_WHICH_NEEDS_VERIFICATION{/hint}",
            "description": "PASSED",
            "documentType": "BANK_STATEMENT",
            "filename": "document_name_bank_statement.pdf"
        }
    }
    

    The individual account holder now has its identity, document and bank statement verified.

  1. Make a POST /createAccountHolder request to create an account holder. In your request, specify :

    • address.city: PASSED
    • bankAccountDetails.ownerName: TestData
    • bankAccountDetails.ownerCity: PASSED for all banks accounts. At least one bank account must be defined.
    • businessDetails.legalBusinessName: TestData
    • businessDetails.shareholders.address.city: PASSED for each shareholder.
    • businessDetails.shareholders.name.lastName: TestData for each shareholder
    • legalEntity: Business
    /createAccountHolder request
    {
        "accountHolderCode":"YOUR_UNIQUE_ACCOUNTHOLDER_CODE",
        "accountHolderDetails":{
            "address":{
                "city":"PASSED",
                "country":"NL",
                "houseNumberOrName":"1",
                "postalCode":"1234AB",
                "street":"Main Street"
            },
            "bankAccountDetails":[
                {
                    "countryCode":"NL",
                    "currencyCode":"EUR",
                    "iban":"NL13TEST0123456789",
                    "ownerCity":"PASSED",
                    "ownerCountryCode":"NL",
                    "ownerHouseNumberOrName":"1",
                    "ownerName":"TestData",
                    "ownerPostalCode":"1234AB",
                    "ownerStreet":"Main Street"
                }
            ],
            "businessDetails":{
                "doingBusinessAs":"Furniture shop",
                "legalBusinessName":"TestData",
                "registrationNumber":"1234567890",
                "shareholders":[
                    {
                        "address":{
                            "city":"PASSED",
                            "country":"NL",
                            "houseNumberOrName":"1",
                            "postalCode":"1234AB",
                            "street":"Main Street"
                        },
                        "email":"testshareholder@example.com",
                        "name":{
                            "firstName":"Anthony",
                            "gender":"MALE",
                            "lastName":"TestData"
                        },
                        "personalData":{
                            "dateOfBirth":"2001-04-27"
                        }
                    }
                ],
                "taxId":"1234567890"
            },
            "email":"a.holder@example.com",
            "phoneNumber":{
                "phoneCountryCode":"NL",
                "phoneNumber":"0612345678",
                "phoneType":"Landline"
            },
            "webAddress":"https://www.example.com"
        },
        "legalEntity":"Business",
        "processingTier":3
    }
  2. Upload a photo ID on a Hosted Onboarding Page (HOP) or through an API request.

    • Hosted Onboarding Page

      • Upload a document with a PASSED file name. For example, PASSED.jpg.
    • API

      • Make a POST /uploadDocument request to upload a passport. In your request, specify:
        • documentType: PASSPORT
        • description: PASSED

      When uploading photo ID, the account holder is set to the limitless state. This means the account holder requires the highest level of KYC checks.

      /uploadDocument request for passport upload
      {
          "documentContent":"JVBERi0xLjcKJeLjz9MKMSAwIG9iaiAKPDwKL1N1YnR5cGUgL0ltYWdlCi9UeXBlIC9YT2JqZWN0Ci9XaWR0aCAxMzYyCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9IZWlnaHQgNjI0Ci9CaXRzUGVyQ29tcG9uZW50IDgKL0xlbmd0aCA0MDA2NQovQ29sb3JTcGFjZSAvRGV2aWNlUkdCCj4+CnN0cmVhbQp4nO3dB3gU1aRU9GCg==",
          "documentDetail":{
              "shareholderCode":"{hint:The /createAccountHolder response contains a shareholderCode}THE_SHAREHOLDER_WHICH_NEEDS_VERIFICATION{/hint}",
              "accountHolderCode":"YOUR_UNIQUE_ACCOUNTHOLDER_CODE",
              "description":"PASSED",
              "documentType":"PASSPORT",
              "filename":"document_name_passport.pdf"
          }
      }
  3. Upload a bank statement on a Hosted Onboarding Page (HOP) or through an API request.

    • Hosted Onboarding Page

      • Upload a document with a PASSED file name. For example, PASSED.pdf.
    • API

      /uploadDocument request for bank statement upload
      {
          "documentContent":"JVBERi0xLjcKJeLjz9MKMSAwIG9iaiAKPDwKL1N1YnR5cGUgL0ltYWdlCi9UeXBlIC9YT2JqZWN0Ci9XaWR0aCAxMzYyCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9IZWlnaHQgNjI0Ci9CaXRzUGVyQ29tcG9uZW50IDgKL0xlbmd0aCA0MDA2NQovQ29sb3JTcGFjZSAvRGV2aWNlUkdCCj4+CnN0cmVhbQp4nO3dB3gU1aRU9GCg==",
          "documentDetail":{
              "accountHolderCode":"YOUR_UNIQUE_ACCOUNTHOLDER_CODE",
              "bankAccountUUID": "{hint:The /createAccountHolder response contains a bankAccountUUID}THE_BANK_ACCOUNT_UUID_WHICH_NEEDS_VERIFICATION{/hint}",
              "description":"PASSED",
              "documentType":"BANK_STATEMENT",
              "filename":"bank_statement.png"
          }
      }
      

The account holder now has its company, identity, document and bank statement verified.

An account holder with one of KYC checks set to FAILED

Select the account holder type to see the relevant examples below:

Make a POST /createAccountHolder request to create an account holder. In your request, specify:

  • address.city: FRAUD
  • bankAccountDetails.ownerCity: FRAUD for all banks accounts. At least one bank account must be defined.
  • bankAccountDetails.ownerName: TestData
  • individualDetails.name.lastName: TestData
  • legalEntity: Individual

Here is an example of creating a suspended Individual legal entity account holder with its payouts blocked:

/createAccountHolder request
{
    "accountHolderCode": "YOUR_UNIQUE_ACCOUNT_HOLDER_CODE",
    "accountHolderDetails": {
        "address": {
            "city": "FRAUD",
            "country": "NL",
            "houseNumberOrName": "1",
            "postalCode": "1234AB",
            "street": "Main Street"
        },
        "bankAccountDetails": [
           {
                "countryCode": "NL",
                "currencyCode": "EUR",
                "iban": "NL13TEST0123456789",
                "ownerCity": "FRAUD",
                "ownerCountryCode": "NL",
                "ownerHouseNumberOrName": "1",
                "ownerName": "TestData",
                "ownerPostalCode": "1234AB",
                "ownerStreet": "Main Street"
           }
        ],
        "email": "a.holder@example.com",
        "individualDetails": {
            "name": {
                "firstName": "Anthony",
                "gender": "MALE",
                "lastName": "TestData"
            },
            "personalData": {
                "dateOfBirth": "2001-04-27"
            }
        },
        "phoneNumber": {
            "phoneCountryCode": "NL",
            "phoneNumber": "0612345678",
            "phoneType": "Landline"
            },
        "webAddress": "https://www.example.com"
        },
    "legalEntity": "Individual",
    "processingTier": 2
}

Make a POST /createAccountHolder request to create an account holder. In your request, specify:

  • address.city: FRAUD
  • bankAccountDetails.ownerCity: FRAUD for all banks accounts. At least one bank account must be defined.
  • businessDetails.shareholders.address.city: FRAUD
  • businessDetails.shareholders.name.lastName: TestData
  • bankAccountDetails.ownerName: TestData
  • legalEntity: Business

Here is an example of creating a suspended Business legal entity account holder with its payouts blocked:

/createAccountHolder request
{
    "accountHolderCode": "YOUR_UNIQUE_ACCOUNT_HOLDER_CODE",
    "accountHolderDetails": {
    "address": {
        "city": "FRAUD",
            "country": "NL",
            "houseNumberOrName": "1",
            "postalCode": "1234AB",
            "street": "Main Street"
        },
        "bankAccountDetails": [
            {
                "countryCode": "NL",
                "currencyCode": "EUR",
                "iban": "NL13TEST0123456789",
                "ownerCity": "FRAUD",
                "ownerCountryCode": "NL",
                "ownerHouseNumberOrName": "1",
                "ownerName": "TestData",
                "ownerPostalCode": "1234AB",
                "ownerStreet": "Main Street"
            }
        ],
        "businessDetails": {
            "doingBusinessAs": "Furniture shop",
            "legalBusinessName": "TestData",
            "registrationNumber": "1234567890",
            "shareholders": [
                    {
                    "address": {
                        "city": "FRAUD",
                        "country": "NL",
                        "houseNumberOrName": "1",
                        "postalCode": "1234AB",
                        "street": "Main Street"
                    },
                    "email": "testshareholder@example.com",
                    "name": {
                        "firstName": "Anthony",
                        "gender": "MALE",
                        "lastName": "TestData"
                    },
                    "personalData": {
                        "dateOfBirth": "2001-04-27"
                        }
                    }
            ],
            "taxId": "1234567890"
        },
        "email": "a.holder@example.com",
        "phoneNumber": {
              "phoneCountryCode": "NL",
              "phoneNumber": "0612345678",
              "phoneType": "Landline"
        },
        "webAddress": "https://www.example.com"
    },
    "legalEntity": "Business",
    "processingTier": 1
}

An account holder with one of KYC checks set to INVALID_DATA

  • Set address.city to INVALIDDATA.
  • Set bankAccount.ownerCity to INVALIDDATA for all banks accounts, which should be marked as Failed.
  • Set description to INVALIDDATA for a passport, if you need its KYC check to be marked as Failed.

An account holder with a PASSPORT_VERIFICATION KYC check set to INVALID_DATA

You can do this on a Hosted Onboarding Page (HOP) or through an API request.

  • Hosted Onboarding Page

    • Upload a document with INVALIDDATA in the file name. For example, INVALIDDATA.jpg.
  • API
    • Make a POST /uploadDocument request with:
      • documentType: PASSPORT
      • description: INVALIDDATA

Inactivate an account holder and schedule a refund

  • Set address.city to INACTIVEDEADLINECITY.

The /refundNotPaidOutTransfers call is scheduled to be performed in 6 weeks.

Inactivate an account holder and make a refund

  • Set address.city to REFUNDDEADLINECITY.

In this case the /refundNotPaidOutTransfers call is performed immediately.

See also