Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.dollarpe.xyz/llms.txt

Use this file to discover all available pages before exploring further.

KYC SDK is DollarPeโ€™s hosted verification flow. Generate a KYC link for your user, redirect them to it, and receive the result over webhook. You donโ€™t need to build verification workflows or handle identity documents.

Customer journey

Verification typically takes 60 seconds to 2 hours. Design your user experience accordingly.
Once the customer profile is created, generate their KYC link.
Documents required: Aadhaar or Passport, and PAN number.
POST /kyc/generate-link
{
  "customer_id": "075986f3-282b-4555-bfcd-fad973e32596",
  "redirect_url": "https://..."
}
If you collect KYC data yourself, see the KYC Sharing method instead.

Verification process

The SDK runs three checks in sequence.

Step 1: PAN verification

The user enters their full name, date of birth, and PAN number. In the background:
  • PAN validity is checked against official government sources.
  • PAN category is confirmed as individual (not a company).
  • Name and DOB are matched against official PAN records.
  • Aadhaar linkage status of the PAN is checked.
The flow only proceeds to document verification after PAN passes.

Step 2: Document verification

The user picks an identity document: Aadhaar or Passport. Aadhaar: OTP-based authentication via DigiLocker. Data is fetched directly, no manual upload needed. Passport: The user uploads front and back pages. Forgery detection runs on the image, OCR extracts name, date of birth, and passport number, and results are cross-checked against government data where available. Name and DOB from PAN are then matched with the document.

Step 3: Liveness and face match

The user takes a live selfie. The system confirms it is not a static photo, then compares the selfie against the photo on the submitted document using biometric matching.

Final outcome

If all three steps pass, KYC status is set to VERIFIED. The user can then link a bank account and begin transactions.

Track verification status

After submitting, verification typically takes 60 seconds to 2 hours. Configure a webhook endpoint to receive status updates:
// Sample webhook payload
{
  "type": "CUSTOMER",
  "event": "FAILED",
  "id": "12348400-e29b-41d4-a716-446655440000",
  "timestamp": "2024-03-13T10:00:00Z",
  "metadata": {
    "failure_reason": "TAX_VERIFICATION_FAILED"
  }
}

Polling

If webhooks arenโ€™t an option, poll the customer endpoint:
GET /customer/{customer_id}
If using the polling approach, we recommend checking no more frequently than once every 60 seconds to avoid API rate limits.

Handle verification issues

If verification fails, re-generate the KYC link and ask the user to resubmit.