KYC Widget

User KYC through Saber Hosted UI

The Saber Money KYC Widget enables merchants to seamlessly guide their users through the required KYC verification process. After user registration, merchants can redirect users to the KYC Widget, where they can complete verification steps tailored to the service and region.

KYC requirements vary by geography and the services utilized by the merchant. Saber Money configures these requirements for each merchant to ensure compliance and user experience fit.

Opening the KYC Web Widget

To open the KYC Widget:

  1. Redirect User: After registering the user, redirect them to the Saber Money KYC Widget.
  2. Pass Required Parameters: Ensure to pass the unique user ID and any other required parameters during signature generation.
  3. Configurations: Saber Team will set up configurations for each merchant, including specific KYC requirements based on the services utilised and the userโ€™s region.

Note: For merchants using the Onramp SDK (to be deprecated), KYC can also be triggered automatically when initiating a userโ€™s first transaction within the SDK itself. This streamlines the process by embedding KYC verification into the initial transaction flow.

Steps for KYC Web Widget:

Prerequisite:

  1. Create the User: Ensure the user is initialised in the Saber system with proper phone and email.

Step 1: Generate the signature (secret) for the Widget

For each session, a unique secret needs to be generated every time

// Variables (these should be securely stored and handled)
var clientId = 'YOUR_CLIENT_ID'; // Replace with your actual client ID
var clientSecret = 'YOUR_CLIENT_SECRET'; // Replace with your actual client secret
var user_id = 'USER_ID'; // Replace with the user's ID received when creating the user in Step 2

// Step 1: Generate timestamp
var timestamp = Math.floor(Date.now() / 1000).toString();

// Step 2: Create the signature string
var sigString = clientId + timestamp + "sdk" + user_id;

// Step 3: Generate the HMAC-SHA256 signature
var secret = CryptoJS.HmacSHA256(sigString, clientSecret).toString().toUpperCase();

// The 'secret' can now be used to authenticate the SDK request 

Step 2: Generate redirect URL

Once the secret is created for the user, the following query parameters are required to be passed along in the base URL to create the link:

Query parameterDescription
API Key(client_id)Provided by Saber
user_idWhen creating the user, the UUIDv4 will be generated for the user
timestampThe timestamp of the payment request (used at the time of creating the secret)
signature(secret)The secret generated in step 1

The Base URL

Example of a full link

https://app.sandbox.saber.money/kyc?client_id=d951b040-ecb0-432b-ae3c-2ae7d2d19987&user_id=d951b040-ecb0-432b-ae3c-2ae7d2d1998&timestamp=1687276964&secret=CE1B5BD087BA408C2AFF01B00595007858DF496D3468CE3307CB1A7966DDC265
๐Ÿ“˜

Does the URL expire?

The URL validity is 10 minutes from the creation of the secret

Step 3: Redirect your user to the link

Once the URL is generated, redirect your user to the link, and the user will see the screen below

KYC Flows

Depending on user location and service, the KYC SDK offers tailored flows for Indian users, Indian users with passport-based verification, and non-Indian users. Hereโ€™s an overview of each flow:

The current flow is triggered based on the Phone number. The required KYC flow is triggered based on the phone country ID from the phone number passed during user creation.

Indian KYC

This flow follows a standard Indian KYC process with the following steps:

Personal Information: Users input personal details.

PAN Verification: Users provide PAN information for validation.

Aadhar Verification: Verification is done through Digilocker integration.

Live Selfie: Users capture a live selfie for identity verification.

Bank Account Verification (Optional): This step includes penny-drop verification to confirm bank account details. Depending on the merchantโ€™s service, this step may be disabled.

Indian KYC (Passport)

In certain services, PAN verification may not be required. Instead, this flow uses:

Personal Information: Users provide basic details.

Passport Verification: The passport is used as the primary identity document.

Live Selfie: Selfie verification remains part of this flow.

Bank Account Verification (Optional): As in the standard Indian KYC, bank account verification through penny drop is optional and configurable.

Non-Indian KYC

For users outside of India, the KYC SDK adapts to local regulatory requirements:

Country-Specific Steps: Verification steps vary by country, including appropriate personal ID, address verification, and other region-specific requirements.

Selfie and Bank Verification: These steps are included based on local mandates and service configuration.

Additional Notes

  • KYC Configuration: KYC steps are configured by Saber Money based on the merchantโ€™s service plan and the userโ€™s location.
  • Dynamic Flow Selection: The widget dynamically directs users to the correct flow based on their region and service requirements.
  • Optional Steps: Certain steps, such as bank verification, are optional and configurable according to the merchantโ€™s needs.
  • The KYC SDK provides flexibility and compliance, making user verification efficient and straightforward.
  • KYC Widget can't be used for USD and AED Onramp flows. Please refer to KYC Partner URL section.

Advantages of Using the Widget

  • Reduces manual intervention.
  • Automates compliance with Indian and non-Indian jurisdiction requirements.
  • Ensures users are seamlessly verified for transaction operations.