{"title":"Verification codes","category":"default","creationDate":1571778840,"content":"<p>When a verification error occurs, Adyen uses specific verification codes. These codes provide information such as which checks failed and what your users can do to fix the errors. This page provides an overview of the codes and their structure.<\/p>\n<ul>\n<li><strong>Remediating action codes<\/strong>: Provides possible solutions to fix a verification error. Whenever possible, Adyen sends a remediating action for every error.<\/li>\n<li><strong>General error codes<\/strong>: Provides a broad description of the cause of the verification error.<\/li>\n<li><strong>Specific suberror codes<\/strong>: Provides a more granular and specific cause of the verification error. Suberrors are linked to the general error codes.<\/li>\n<\/ul>\n<p>Use the suberror codes to build your verification error handling flows or <a href=\"\/pt\/issuing\/test-verification-errors\">test different verification scenarios<\/a><\/p>\n<h2 id=\"requirements\">Requirements<\/h2>\n<p>Before you begin, take into account the following requirements, limitations, and preparations.<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Requirement<\/th>\n<th style=\"text-align: left;\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"><strong>Integration type<\/strong><\/td>\n<td style=\"text-align: left;\">You have an <a href=\"\/pt\/adyen-for-platforms-model\/\">Adyen for Platforms<\/a> or <a href=\"\/pt\/issuing\">Adyen Issuing<\/a> integration.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong><a href=\"\/pt\/development-resources\/api-credentials\/\">API credentials<\/a><\/strong><\/td>\n<td style=\"text-align: left;\">To view the verification codes using API requests, you must have an <a href=\"\/pt\/issuing\/manage-access\/api-credentials-web-service\">API web service user credential<\/a> for the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/balanceplatform\/latest\/overview\" class=\" external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Configuration API<\/a>.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong><a href=\"\/pt\/account\/user-roles\">Customer Area roles<\/a><\/strong><\/td>\n<td style=\"text-align: left;\">To view the verification codes using the Customer Area, you must have the <strong>Manage account holder capabilities<\/strong> <a href=\"\/pt\/account\/user-roles#platforms\">user role<\/a>.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>How to view the verification codes<\/h2>\n<p>Check the verification codes in your Customer Area, or through API responses or webhooks.<\/p>\n\n<div id=\"tabRaqiW\">\n    <div data-component-wrapper=\"tabs\">\n        <tabs\n                        :items=\"[{&quot;title&quot;:&quot;Customer Area&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;To view capabilities of an account holder in your &lt;a href=\\&quot;https:\\\/\\\/ca-test.adyen.com\\\/\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot; class=\\&quot;external-link no-image\\&quot;&gt;Customer Area&lt;\\\/a&gt;:&lt;\\\/p&gt;\\n&lt;ol&gt;\\n  &lt;li&gt;\\n   Do one of the following:\\n   &lt;ul&gt;\\n      &lt;li&gt;\\n&lt;p&gt;Go to &lt;b&gt;Accounts &amp;amp; balances&lt;\\\/b&gt; &amp;gt; &lt;b&gt;Account holders&lt;\\\/b&gt; and select an account holder ID from the table.&lt;\\\/p&gt;\\n&lt;\\\/li&gt;\\n      &lt;li&gt;\\n&lt;p&gt;Search for an account holder by selecting &lt;b&gt;Search&lt;\\\/b&gt;. You can use the account holder ID, account holder reference, or the ID of the linked legal entity.&lt;\\\/p&gt;\\n&lt;\\\/li&gt;\\n   &lt;\\\/ul&gt;\\n&lt;\\\/li&gt;\\n  &lt;li&gt;\\n    On the &lt;b&gt;Account holder details&lt;\\\/b&gt; page, select the &lt;b&gt;Capabilities&lt;\\\/b&gt; tab. You can view the capabilities that are enabled, allowed and their verification status.\\n    &lt;ul&gt;\\n    &lt;\\\/ul&gt;\\n  &lt;\\\/li&gt;&lt;\\\/ol&gt;\\n&quot;,&quot;altTitle&quot;:null,&quot;oldTabId&quot;:&quot;customer_area_0_1&quot;,&quot;relation&quot;:&quot;&quot;},{&quot;title&quot;:&quot;APIs and webhooks&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;To check the verification codes, you can:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;Make a GET &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/#\\\/balanceplatform\\\/latest\\\/get\\\/accountHolders\\\/{id}\\&quot; class=\\&quot;codeLabel external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/accountHolders\\\/{id}&lt;\\\/a&gt; request.&lt;\\\/li&gt;\\n&lt;li&gt;Or keep track of the &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/#\\\/balanceplatform-webhooks\\\/latest\\\/post\\\/balancePlatform.accountHolder.created\\&quot; class=\\&quot;codeLabel external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;balancePlatform.accountHolder.created&lt;\\\/a&gt; and &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/#\\\/balanceplatform-webhooks\\\/latest\\\/post\\\/balancePlatform.accountHolder.updated\\&quot; class=\\&quot;codeLabel external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;balancePlatform.accountHolder.updated&lt;\\\/a&gt; webhooks.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;p&gt;The verification codes are in the &lt;a href=\\&quot;#example-problems-array\\&quot;&gt;&lt;code&gt;problems&lt;\\\/code&gt; array&lt;\\\/a&gt;.&lt;\\\/p&gt;\\n&quot;,&quot;altTitle&quot;:null,&quot;oldTabId&quot;:&quot;apis_and_webhooks_1_2&quot;,&quot;relation&quot;:&quot;&quot;}]\"\n            :should-update-when-url-changes='false'>\n        <\/tabs>\n    <\/div>\n<\/div>\n\n<h2>Recommendations for API-only onboarding<\/h2>\n<p>When using <a href=\"\/pt\/issuing\/onboard-users\">API-only onboarding<\/a>, we recommend that you build your error handling flows using the codes that best fit your use cases and available development resources.<\/p>\n<p>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.<\/p>\n<h2 id=\"example-problems-array\">Problems array example<\/h2>\n<p>When a verification error occurs, you get information from the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/balanceplatform\/latest\/get\/accountHolders\/(id)#responses-200-capabilities-problems\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">problems<\/a> array in an API response or a webhook. This array contains the following.<\/p>\n<ul>\n<li><a href=\"https:\/\/docs.adyen.com\/api-explorer\/#\/balanceplatform\/latest\/get\/accountHolders\/{id}\" class=\"codeLabel external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">entity<\/a> object: The ID of the legal entity that has a verification error.<\/li>\n<li><a href=\"https:\/\/docs.adyen.com\/api-explorer\/#\/balanceplatform\/latest\/get\/accountHolders\/{id}__resParam_capabilities-problems-verificationErrors\" class=\"codeLabel external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">verificationErrors<\/a> array: Contains the details of the errors. Each item contains:\n<ul>\n<li><a href=\"https:\/\/docs.adyen.com\/api-explorer\/#\/balanceplatform\/latest\/get\/accountHolders\/{id}__resParam_capabilities-problems-verificationErrors-type\" class=\"codeLabel external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">type<\/a>: The type of error. Possible values are <strong>invalidInput<\/strong> and <strong>dataMissing<\/strong>.<\/li>\n<li><a href=\"https:\/\/docs.adyen.com\/api-explorer\/#\/balanceplatform\/latest\/get\/accountHolders\/{id}__resParam_capabilities-problems-verificationErrors-code\" class=\"codeLabel external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">code<\/a>: The general error code.<\/li>\n<li><a href=\"https:\/\/docs.adyen.com\/api-explorer\/#\/balanceplatform\/latest\/get\/accountHolders\/{id}__resParam_capabilities-problems-verificationErrors-message\" class=\"codeLabel external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">message<\/a>: The general error message.<\/li>\n<li><a href=\"https:\/\/docs.adyen.com\/api-explorer\/#\/balanceplatform\/latest\/get\/accountHolders\/{id}__resParam_capabilities-problems-verificationErrors-remediatingActions\" class=\"codeLabel external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">remediatingActions<\/a>: This object is sent when there is a common remediating action in the suberrors. This contains a <code>code<\/code> and <code>message<\/code>.<\/li>\n<li><a href=\"https:\/\/docs.adyen.com\/api-explorer\/#\/balanceplatform\/latest\/get\/accountHolders\/{id}__resParam_capabilities-problems-verificationErrors-subErrors\" class=\"codeLabel external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">subErrors<\/a> array. Each entry contains a <code>type<\/code>, <code>code<\/code>, <code>message<\/code>, and a <code>remediatingActions<\/code> array.<\/li>\n<\/ul><\/li>\n<\/ul>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Problems array example'\" :id=\"'problems-array'\" :code-data=\"[{&quot;language&quot;:&quot;json&quot;,&quot;tabTitle&quot;:&quot;&quot;,&quot;content&quot;:&quot;{\\n  ...\\n    \\&quot;problems\\&quot;: [\\n        {\\n            \\&quot;entity\\&quot;: {\\n                \\&quot;id\\&quot;: \\&quot;LE00000000000000000000001\\&quot;,\\n                \\&quot;type\\&quot;: \\&quot;LegalEntity\\&quot;\\n            },\\n            \\&quot;verificationErrors\\&quot;: [\\n                {\\n                    \\&quot;code\\&quot;: \\&quot;1_30\\&quot;,\\n                    \\&quot;message\\&quot;: \\&quot;Individual details couldn't be verified\\&quot;,\\n                    \\&quot;remediatingActions\\&quot;: [\\n                        {\\n                            \\&quot;code\\&quot;: \\&quot;1_300\\&quot;,\\n                            \\&quot;message\\&quot;: \\&quot;Update individual details\\&quot;\\n                        }\\n                    ],\\n                    \\&quot;subErrors\\&quot;: [\\n                        {\\n                            \\&quot;code\\&quot;: \\&quot;1_3001\\&quot;,\\n                            \\&quot;message\\&quot;: \\&quot;The name and date of birth couldn't be verified.\\&quot;,\\n                            \\&quot;remediatingActions\\&quot;: [\\n                                {\\n                                    \\&quot;code\\&quot;: \\&quot;1_301\\&quot;,\\n                                    \\&quot;message\\&quot;: \\&quot;Upload an ID document\\&quot;\\n                                },\\n                                {\\n                                    \\&quot;code\\&quot;: \\&quot;1_300\\&quot;,\\n                                    \\&quot;message\\&quot;: \\&quot;Update individual details\\&quot;\\n                                }\\n                            ],\\n                            \\&quot;type\\&quot;: \\&quot;invalidInput\\&quot;\\n                        },\\n                        {\\n                            \\&quot;code\\&quot;: \\&quot;1_3000\\&quot;,\\n                            \\&quot;message\\&quot;: \\&quot;The user couldn't be verified.\\&quot;,\\n                            \\&quot;remediatingActions\\&quot;: [\\n                                {\\n                                    \\&quot;code\\&quot;: \\&quot;1_300\\&quot;,\\n                                    \\&quot;message\\&quot;: \\&quot;Update individual details\\&quot;\\n                                },\\n                                {\\n                                    \\&quot;code\\&quot;: \\&quot;1_301\\&quot;,\\n                                    \\&quot;message\\&quot;: \\&quot;Upload an ID document\\&quot;\\n                                }\\n                            ],\\n                            \\&quot;type\\&quot;: \\&quot;invalidInput\\&quot;\\n                        }\\n                    ],\\n                    \\&quot;type\\&quot;: \\&quot;invalidInput\\&quot;\\n                }\\n            ]\\n        }\\n    ],\\n    \\&quot;verificationStatus\\&quot;: \\&quot;invalid\\&quot;\\n  ...\\n}&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>","url":"https:\/\/docs.adyen.com\/pt\/issuing\/kyc-verification-codes","articleFields":{"description":"Verification errors and remediation codes in webhooks or API responses","last_edit_on":"04-06-2024 11:13","robots":"noindex,nofollow","parameters":{"directoryPath":"\/issuing","integrationType":"issuing"},"next_steps_description":"Build your error handling flows using the codes below.","cache_enable":false,"next_steps":[{"title":"Test verification scenarios","description":"Simulate verification scenarios in your API calls.","url":"\/issuing\/test-verification-errors","required":false},{"title":"Remediating action codes","description":"Possible solutions to resolve verification errors.","url":"\/issuing\/kyc-verification-codes\/remediating-actions","required":false},{"title":"General error codes","description":"General error codes for different check types.","url":"\/issuing\/kyc-verification-codes\/general-verification-errors","required":false},{"title":"Specific sub-error codes","description":"More granular error codes for different check types.","url":"\/issuing\/kyc-verification-codes\/sub-errors","required":false}],"feedback_component":true,"filters_component":false,"decision_tree":"[]","page_id":"fadb307a-6047-406d-896c-9d95f17bae89"},"algolia":{"url":"https:\/\/docs.adyen.com\/pt\/issuing\/kyc-verification-codes","title":"Verification codes","content":"When a verification error occurs, Adyen uses specific verification codes. These codes provide information such as which checks failed and what your users can do to fix the errors. This page provides an overview of the codes and their structure.\n\nRemediating action codes: Provides possible solutions to fix a verification error. Whenever possible, Adyen sends a remediating action for every error.\nGeneral error codes: Provides a broad description of the cause of the verification error.\nSpecific suberror codes: Provides a more granular and specific cause of the verification error. Suberrors are linked to the general error codes.\n\nUse the suberror codes to build your verification error handling flows or test different verification scenarios\nRequirements\nBefore you begin, take into account the following requirements, limitations, and preparations.\n\n\n\nRequirement\nDescription\n\n\n\n\nIntegration type\nYou have an Adyen for Platforms or Adyen Issuing integration.\n\n\nAPI credentials\nTo view the verification codes using API requests, you must have an API web service user credential for the  Configuration API.\n\n\nCustomer Area roles\nTo view the verification codes using the Customer Area, you must have the Manage account holder capabilities user role.\n\n\n\nHow to view the verification codes\nCheck the verification codes in your Customer Area, or through API responses or webhooks.\n\n\n    \n        \n        \n    \n\n\nRecommendations for API-only onboarding\nWhen using API-only onboarding, we recommend that you build your error handling flows using the codes that best fit your use cases and available development resources.\nWe 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.\nProblems array example\nWhen a verification error occurs, you get information from the  problems array in an API response or a webhook. This array contains the following.\n\nentity object: The ID of the legal entity that has a verification error.\nverificationErrors array: Contains the details of the errors. Each item contains:\n\ntype: The type of error. Possible values are invalidInput and dataMissing.\ncode: The general error code.\nmessage: The general error message.\nremediatingActions: This object is sent when there is a common remediating action in the suberrors. This contains a code and message.\nsubErrors array. Each entry contains a type, code, message, and a remediatingActions array.\n\n\n\n    \n","type":"page","locale":"pt","boost":18,"hierarchy":{"lvl0":"Home","lvl1":"Adyen Issuing","lvl2":"Verification codes"},"hierarchy_url":{"lvl0":"https:\/\/docs.adyen.com\/pt","lvl1":"https:\/\/docs.adyen.com\/pt\/issuing","lvl2":"\/pt\/issuing\/kyc-verification-codes"},"levels":3,"category":"Issuing","category_color":"green","tags":["Verification","codes"]}}
