KYC Procedure

Know Your Customer (KYC) procedures are an integral part of financial services and are designed to protect financial institutions from fraud, corruption, money laundering, and terrorist financing.

The essence of the KYC procedure includes:

  • Establishing the customer's identity.
  • Understanding the nature of the customer's activities and confirming the legality of the source of funds.
  • Assessing the risks of money laundering associated with the customer.

Upon successful completion of the verification, the customer is provided with the required service.

👍

To advance to the next KYC level, successful completion of the verification process at the preceding level is required.

The KYC COMMON Process Procedure


To complete the COMMON KYC, we collaborate with our partner Ondato and utilize their SDK.

You can find integration information for the web SDK on the WEB SDK integration page in the Ondato documentation.

The COMMON KYC process comprises the following steps:

Step 1: Integration Phase

Installation of the Ondato library.

To install the Ondato library in your project, npm can be utilized. The installation command is as follows:

npm install @ondato-public/idv-sdk

Subsequently, the library will be accessible in your project.

Further details regarding library installation are available here.

Step 2: Initiating the KYC Process

This phase commences with sending a request to the specified endpoint POST /v4/kyc/start with the parameter COMMON.

In response, the system generates a unique application identifier (ID).

Step 3: Sending Data to Ondato

The unique application identifier (ID) generated in the preceding step is forwarded to Ondato alongside the requisite data.

Step 4: Commencing Work with Ondato

Upon receiving the unique application identifier (ID), employ the load method from @ondato-public/idv-sdk with the following parameters:

{
  mode: process.env.MODE === "production" ? IdvSdkMode.Production : IdvSdkMode.Sandbox, // Depending on the environment
  onSuccess: (props) => Perform a request to https://crpt-backend-main-service.sandbox.testessential.net/swagger-ui/index.html?urls.primaryName=White%20label#/KYC/finished with the COMMON parameter and {identificationId: id} // id is from the POST request kyc/start
  onFailure: (props) => Perform a request to https://crpt-backend-main-service.sandbox.testessential.net/swagger-ui/index.html?urls.primaryName=White%20label#/KYC/finished with the COMMON parameter and {identificationId: id} // id is from the [POST request kyc/start]
}

Step 5: Returning the load Method

The load method returns {begin: IdvSdkBegin; end: IdvSdkEnd;}.

After successfully loading the SDK, you can call the begin method with necessary parameters such as idvId (ID from the previous request), retry, and language.

begin({
  idvId: id, // ID from the kyc/start request
  retry: false,
  language: "en-GB"
});

Step 6: Confirmation Process from Ondato

Upon completion of the process at Ondato's end and successful verification, they return the application ID or other information confirming the successful completion of the process.

Step 7: Completion of KYC Process

Upon receiving the application ID or confirmation from Ondato, a request is initiated to POST /v4/kyc/ondato/finished, indicating the completion of the KYC process at Ondato's end.

After completing this stage, the KYC process will be fully completed, and the client will have successfully undergone KYC.

Working with the Ondato SDK in a Flutter application


The application utilizes the Ondato Flutter SDK from the official repository.

These steps are applicable for both passing KYC COMMON and for CARD PROGRAM 1.

Step 1: Integration Stage

Refer to the official documentation for dependency installation and SDK integration:

Step 2: Initiating the KYC Process

This stage begins with sending a request to the specified endpoint POST /v4/kyc/start with the parameter WALETTO.
In response, the system generates a unique application identifier (ID).

Step 3: Initializing Ondato Configuration

The unique application identifier (ID) generated in the previous step is forwarded to Ondato in the identificationId field, along with necessary data.

await OndatoFlutter.init(
  OndatoServiceConfiguration(
    identificationId: ID,
    mode: currentApiStage == ApiStage.develop
        ? OndatoEnvironment.test
        : OndatoEnvironment.live,
    flowConfiguration: OndatoFlowConfiguration(
      showSplashScreen: false,
    ),
  ),
);

Step 4: Starting the Identification Process

The Ondato identification process occurs by calling the startIdentification function, which initiates the Ondato flow depending on the platform running the application.

var identificationId = await OndatoFlutter.startIdentification();

After completing the flow, the function will return the identificationId, which needs to be saved.

Step 5: Completing the KYC Process

After completing the Ondato flow, a request to finish the KYC with the obtained identificationId from the SDK should be sent: POST /v4/kyc/ondato/finished.

Upon completing this stage, the KYC process will be fully concluded, and the client will have successfully undergone the KYC procedure.