Identity Verification
Overview
Depending on your merchant integration type, accounts created on Embed can be either an individual or a business account.
Individual accounts – Suitable if your platform serves individuals. We verify the customer’s identity using valid IDs. Currently, we support BVN. To verify an individual account, you would need to call the Update Identity API.
Business accounts – Suitable if your platform serves businesses. These accounts have different verification requirements. We verify both the business itself and its owners, using a more comprehensive verification flow. The sections below focus on the business verification process.
Verification Modes
We support two modes for business verification: automated and manual.
Automated – Submit the business details to us, and we verify them with the CAC. If verification succeeds, the business is marked as verified. If it fails, we send you the error details.
Manual – If the automated verification is unavailable, we switch to manual mode. In this case, you’ll need to upload supporting documents (e.g., Certificate of Incorporation) along with the business details for manual review.
Heads Up
You need to always check the verification mode for your account by calling the Get Integration Config API before initiating a business verification for an account.
Verification Lifecycle
The verification process follows a similar pattern for both automatic and manual modes. The key difference is that in manual mode, you must first upload the required documents via the Upload Document API to obtain the document URLs, which are then included when initiating the verification.
Upload supporting documents - Applies to manual mode only.
Initiate verification – Call the Initiate Business Verification API with the business details (name, address, registration number, etc.).
Receive webhook updates – We send you status updates as the verification progresses:
Code | Description |
---|---|
success |
Verification passed. |
denied |
Verification was completed but the business was not approved. |
failed |
Verification failed (includes error code and message to help you understand the failure reason). |
edd_required |
Additional Due Diligence is needed. You’ll receive the list of directors and must submit their details via the EDD Submission API. |
Resubmit as needed – If verification fails or EDD is required, you can address the issue and resubmit using the Resubmit Business Verification API.
Final decision – After all requirements are met, we send a final webhook with either success or denied.
Use the error codes returned in both API responses or webhooks to determine the next action your application should take.
Webhooks
The verification of the business details provided is processed asynchronously. Once you initiate a verification, we will send a webhook event to your configured endpoint when the outcome is available. You may receive one of the following events:
Code | Description |
---|---|
business.verification.successful |
The verification passed |
business.verification.failed |
The verification could not be completed due to an error. |
business.verification.denied |
The verification was reviewed and denied. |
business.verification.edd_required |
Additional due diligence is required before the verification can continue. |
Use the event type to determine the next action your application should take. For sample payloads of each event, see the Webhook Payload Examples.
Error Codes
When a verification fails, we return an error code in the response or webhook payload to help you identify the exact issue.
Code | Description |
---|---|
company_name_mismatch |
The provided business name does not match CAC records. Check and update the submitted details. |
reg_number_not_found |
The provided registration number does not exist in the CAC database. Submit the correct number. |
invalid_reg_number |
The registration number format is invalid. Enter a valid number without letters. |
bvn_name_mismatch |
Either the director is not listed as a company director on CAC records, or the BVN name does not match the name provided. |
not_approved |
The business does not meet the required compliance requirements. |