Are you looking for test card numbers?

Would you like to contact support?

No momento, esta página não está disponível em português
Issuin icon

Verification codes

Verification errors and remediation codes in webhooks or API responses

When a verification error occurs, Adyen informs you through webhooks or API responses. These codes provide information such as which checks failed and what your users can do to fix the errors. You can use these codes to build your verification error handling flows.

  • Remediating action codes: Provides possible solutions to fix a verification error. Whenever possible, Adyen sends a remediating action for every error.
  • General error codes: Provides a broad description of the cause of the verification error.
  • Specific suberror codes: Provides a more granular and specific cause of the verification error. Suberrors are linked to the general error codes.

Adyen sends these codes in the GET /accountHolders/{id} response and in the balancePlatform.accountHolder.created and balancePlatform.accountHolder.updated webhooks.

To check the capabilities of an account holder in your Customer Area:

  1. Log in to your Balance Platform Customer Area.
  2. Go to Account holders and then select an account holder ID. You can also search for an account holder by using the account holder ID or reference, or by using the ID of the linked legal entity.
  3. On the account holder details page, you can see the capabilities that have been requested for the account holder, if the capabilities are enabled and allowed, and their verification status.

Recommendations for custom onboarding

When using custom onboarding, we recommend that you build your error handling flows using the codes that best fit your use cases and available development resources.

We try to provide you with the most accurate feedback. This requires you to build your implementation so that it can handle all possible verification codes. Using all the codes allows you to resolve issues for your users by providing them with more information about errors and what they need to do next.

Problems array example

When a verification error occurs, you get information from the problems array. This array contains the following:

  • entity object: The ID of the legal entity that has a verification error.
  • verificationErrors array: Contains the details of the errors. Each item contains:
    • type: The type of error. Possible values are invalidInput and dataMissing.
    • code: The general error code.
    • message: The general error message.
    • remediatingActions: This object is sent when there is a common remediating action in the suberrors. This contains a code and message.
    • subErrors array. Each entry contains a type, code, message, and a remediatingActions array.

Problems array example
{
  ...
    "problems": [
        {
            "entity": {
                "id": "LE00000000000000000000001",
                "type": "LegalEntity"
            },
            "verificationErrors": [
                {
                    "code": "1_30",
                    "message": "Individual details couldn't be verified",
                    "remediatingActions": [
                        {
                            "code": "1_300",
                            "message": "Update individual details"
                        }
                    ],
                    "subErrors": [
                        {
                            "code": "1_3001",
                            "message": "The name and date of birth couldn't be verified.",
                            "remediatingActions": [
                                {
                                    "code": "1_301",
                                    "message": "Upload an ID document"
                                },
                                {
                                    "code": "1_300",
                                    "message": "Update individual details"
                                }
                            ],
                            "type": "invalidInput"
                        },
                        {
                            "code": "1_3000",
                            "message": "The user couldn't be verified.",
                            "remediatingActions": [
                                {
                                    "code": "1_300",
                                    "message": "Update individual details"
                                },
                                {
                                    "code": "1_301",
                                    "message": "Upload an ID document"
                                }
                            ],
                            "type": "invalidInput"
                        }
                    ],
                    "type": "invalidInput"
                }
            ]
        }
    ],
    "verificationStatus": "invalid"
  ...
}

Próximas etapas

Build your error handling flows using the codes below.