KYC SDK
The Saber Money KYC SDK enables merchants to seamlessly guide their users through the required KYC verification process. After user registration, merchants can redirect users to the KYC SDK, 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 SDK
To open the KYC SDK, use the following steps:
- Redirect User: After registering the user, redirect them to the Saber Money KYC SDK URL.
- Pass Required Parameters: Ensure to pass the unique user ID and any other required parameters as specified in the KYC SDK documentation.
- SDK Configurations: The Saber Team will set up configurations for each merchant, including specific KYC requirements based on the services utilized and the user’s region.
Note: For merchants using the Onramp SDK, 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 SDK:
Prerequisite:
- Create the User: Ensure the user is initialized in the Saber system with proper phone and email.
Step 1: Generate the secret key for the SDK
For each user, a unique secret needs to be generated everytime
// 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 parameter | Description |
---|---|
client_id | Provided by Saber |
user_id | When creating the user, the UUIDv4 will be generated for the user |
timestamp | The timestamp of the payment request (used at the time of creating the secret) |
secret | The secret generated in step 4.1 |
The Base URL
Environment | Link |
---|---|
Production | https://app.saber.money/kyc |
Sandbox | https://app.sandbox.saber.money/kyc |
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×tamp=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 SDK 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.
Advantages of Using the SDK
- Reduces manual intervention.
- Automates compliance with Indian and non-Indian jurisdiction requirements.
- Ensures users are seamlessly verified for transaction operations.
Updated 9 days ago