Perform business eKYC
Learn the end-to-end workflow for submitting corporate details and initiating the business verification check. This guide demonstrates how to execute the onboarding process for business accounts effectively.
Use Cases
- You want to submit the required KYC documents needed to verify the identity of a business user.
- You want to submit supporting documents that will help in the business user identity verification.
- You want to implement a feature in your application that will allow business users to upload documents using the available MatchMove eKYC Provider.
- You want to implement a feature in your application that will allow business users to upload supporting documents using the available MatchMove KYC endpoints.
- The business user will submit KYC by going through the automated eKYC interface to collect selfies and identification documents.
- The business user will submit KYC through the eKYC interface with an automated approval (no manual intervention required) mechanism.
Prerequisites
- The business user profile must already be completed. Refer to the Register business profile (v2) section for more details.
- The individual user profile must be in
status = pending_activation. - The individual user profile has a
kyc_status = not_submitted, indicating that they have not attempted to perform KYC yet, or - The individual user profile has a
kyc_status = pendingand akyc_sub_status = pending_document_submission, indicating that they are still required to submit document, or - The individual user profile has a
kyc_status = completedand akyc_sub_status = rejected, indicating that their previous submission was rejected.
API Workflow
1
Check if a business user is allowed to submit KYC
Before we allow a user to submit their KYC documents, we first need to check their current KYC status. This means that when the KYC status of the user is not in the list below, the entry point or screen to initiate KYC submission must also be hidden from the partner app interface.
A business user can only send a KYC submission for verification if they have the following:
|
| The Business User has not yet attempted to submit his KYC |
|
| The Business User has attempted to submit his KYC but is still required to submit other documents. |
|
| The Business User has attempted to submit his KYC and has failed on his last submission. |
Get Business
Call Get Business User (GET /businesses) to retrieve the User and KYC status of an business user.
Get Business User request
curl --location 'https://{{identity_base_url}}/{{program_code}}/v2/businesses' \
--header 'X-Auth-User-ID: {{business_user_id}}' \
--header 'Authorization: ••••••'Get Business User response
{
..
"status": "pending_activation",
"sub_status": "document_submission_required",
"kyc_status": "not_submitted",
"kyc_sub_status": "",
..
}2
[Business] Retrieve the eKYC redirect link to the document collection screen
The eKYC document collection page is a standalone web app. Partners must present the eKYC web app to the customer by rendering it in an in-app or external web browser. Customers can then proceed to perform eKYC by sending their selfie picture and required identity documents.
Process Business KYC Verification
Call Process Business KYC Verification (POST /business/authentications/documents/process) to get the href or the redirect link to the eKYC web app.
Process KYC Verification request
curl --location --request POST 'https://{{identity_base_url}}/{{program_code}}/v2/businesses/authentications/documents/process' \
--header 'X-Auth-User-ID: {{business_id}}' \
--header 'Authorization: ••••••'Process KYC Verification response
{
"id": "8824d28441cb4486ac9c875aa1d3bc69",
"links": [
{
"href": "https://api-sg-identity.matchmove-beta.com/v2/web/sdk?id=459b00a082dd856c71daa9bd429dc30432dc4039e7fd067669330db4f6e89320d65554474c2b4fdace25920a30599523a5a61b8b497ed1d6773de4187bddbdebd14096615c865a9cb2ba22df4d2efc1046a8f71a0357ddff87ccdd07cedbb8d7cf52b86989fc58862d44ba588u95c8be226ae35f74b1925f913c44847a9b2b574f128a555cd7e6e6e47cab02a186d2077957690ee82735e1664c49e459d733175d9dd844de4de81ff951",
"method": "GET",
"rel": "capture.sdk"
}
],
"sub_type": "business",
"type": "users",
"verification_id": "vfc_523fa7e2484947eya26d4b9260555847"
}The Process KYC Verification API response will return a capture link that you will need to render and display to an in-app browser (mobile app) or any browser (web app) for your customer.
From here, the customer can perform the KYC document capture and submit their KYC application.
The eKYC verification is asynchronous; some background processing needs to be completed before the approval/rejection can be given. Usually, an automated eKYC verification turnaround time will take from an instant to a few minutes, provided that all document submissions are clear and legible and the partner profile aligns perfectly with the document data.
3
[Optional] [Associated Parties] Retrieve the eKYC redirect link to the document collection screen
If the business-associated parties are declared and defined in the business profile prior to the invocation of the KYC document collection, all the defined associated parties will be automatically generated with their own KYC link. These links will be accessible from the business KYC confirmation screen, and you will have the option to email the link to the registered email of the associated party.
However, there will be cases where the associated parties may miss KYC links in their email or consume the link after its expiry. For these scenarios, partners will be able to regenerate a fresh KYC link for these associated parties.
Process Associated Party KYC Verification
Call Process Associated Party KYC Verification (POST /associated_parties/{{associated_party_id}}/authentications/documents/process) to get the href or the redirect link to the eKYC web app.
Process Associated Party KYC Verification request
curl --location --request POST 'https://{{identity_base_url}}/{{program_code}}/v2/associated_parties/{{associated_party_id}}/authentications/documents/process' \
--header 'X-Auth-User-ID: {{business_id}}' \
--header 'Authorization: ••••••'Process Associated Party KYC Verification response
{
"id": "eed3d63039e94e9ea92aeaa568c73b02",
"links": [
{
"href": "https://api-sg-identity.matchmove-beta.com/v2/web/sdk?id=459b00a082dd856c71daa9bd429dc30432dc4039e7fd067669330db4f6e89320d65554474c2b4fdace25920a30599723afa04bdd4372d1d3253cb21877d3eae98b1acd6e5ed25acce7ed73de1821ff4f55aaa7210056deaadf9e81019fdae98fc257bc6f89af5bd42145b459d495cfb16134b43728f7d50bd17718837fc87f1c4b15c40654cee4e0e628a10dab872a5f9ab9d9a360232937f622015b4a90a6b118c7ff1afb176c8542ae956f2f565d3714b54a33dcac3cf7d66b77bc43763cdf77a2cbaf196f15efc2581b276309e3ea61d0ff9ca3fd1a0dc8d71ffb5438a128c599fd406b83d570136eef526c3e736879812789dcf6337e3177f5e7d06efa17d8d47114c950de3ce0922ac96ad1b1a6e30441357d2ce72dd6b841c8b46aa7r681287a5b31ed0682447111680323bac814fb616a1825db4f350eeacf9079b109ac75e070939c8b9dced67706d54239b9cf39debad5753b613ef31de0a57f9b9c3339859820a533175d9dd844de4de81ff951",
"method": "GET",
"rel": "capture.sdk"
}
],
"sub_type": "individual",
"type": "associated_party",
"verification_id": "vfc_f34128f55abf45cb99218d2h84a4cf27"
}4
Monitor for the approval of the submitted KYC
The KYC verification turnaround time follows an SLA from submission to approval.
If the partner wants to be notified when KYC approval/rejection is given, they must subscribe to the “KYC Service Advisory” webhook category and events. If a failure or rejection happens, the webhook payload will contain a reason for rejection.
Go to the Leverage Webhooks section to learn more about setting up the webhooks.
KYC Service Advisory webhooks
Partners have the option to subscribe to the webhook events related to KYC approval.
ACCOUNT.KYC.VERIFICATION_START | KYC Initiate Verification Started A notification is sent in the event that the user completes the eKYC form. | No action required. |
ACCOUNT.KYC.VERIFICATION_COMPLETED | KYC Initiate Verification Success A notification is sent in the event the external eKYC service provider verification process is completed. | No action required. |
ACCOUNT.KYC.VERIFICATION_FAILED (Available for PH region only) | KYC Initiate Verification Failed A notification is sent in the event a failure happens on any process after a verification is completed. | No action required. The verification process will auto-retry. |
ACCOUNT.KYC.VERIFICATION_APPROVED (Available for PH region only) | KYC Verification Approved A notification is sent in the event that the KYC status of the user is updated to approved | No action required. You may now proceed to provision the user with financial products such as accounts and cards. |
ACCOUNT.KYC.VERIFICATION_REJECTED (Available for PH region only) | KYC Verification Rejected A notification is sent in the event that the KYC status of the user is updated to rejected along with a reject code | You may ask the user to retry or redo another round of KYC submission. |
USER.DOCUMENT_VERIFICATION.STATUS (Available for non-PH regions) | KYC Document Verification Update A notification is sent in the event that the KYC status of the user is updated to either approved or rejected | [Approved] No action required. [Rejected] You may ask the user to retry or redo another round of KYC submission. |
Related Links
On this page
- Perform business eKYC