Service Onboarding
The customer onboarding process handles new user registration, identity verification, and account activation within the Kulpay ecosystem.
Participants
| Participant | Role |
|---|---|
| Customer | Initiates registration via mobile app |
| Kulpay API | Processes registration, runs verifications |
| MiniAiLive | Biometric liveness detection and face matching |
| NUIB API | National identity verification |
| Back Office Reviewer | Reviews KYC documents and approves/rejects |
Process Flow
Step-by-Step
Phase 1: Phone Verification
- Customer enters their phone number (E.164 format)
- System checks for duplicate registrations
- If new, an OTP is sent via SMS
- Customer enters the 6-digit OTP to verify ownership
Phase 2: Document Upload & Verification
- Customer selects their ID document type (passport, DIRE, or BI)
- Document images are uploaded (front, and back if applicable)
- MiniAiLive performs OCR to extract: name, date of birth, ID number, address
- Customer captures a live selfie
- MiniAiLive performs liveness detection and face matching against the document photo
- Customer reviews and confirms the extracted data
Phase 3: Identity & PIN
- Customer enters their NUIT (tax identification number)
- System validates the NUIT
- Customer defines their access PIN
- Registration is submitted for back-office review
Phase 4: Back Office Review
- Reviewer accesses the pending customer list
- Reviewer views customer details and uploaded documents
- NUIB verification is performed against government records
- Customer is checked against regulatory lists (sanctions, PEP)
- A risk level is assigned to the customer
- Based on risk assessment: account is activated or registration is rejected
- Customer is notified of the outcome via SMS
Authentication (Existing Users)
For returning customers:
- Enter PIN (3 attempts allowed)
- After 3 failed attempts: account is suspended for 60 minutes
- PIN recovery options:
- SMS/email OTP recovery
- Customer support assisted recovery (security questions)
Related API Endpoints
| Endpoint | Purpose |
|---|---|
POST /v1/customers/initiate | Start registration, send OTP |
POST /v1/customers | Verify phone with OTP |
PUT /v1/customers/{id} | Update customer details |
POST /v1/customers/{id}/upload-document | Upload ID document |
POST /v1/customers/{id}/upload-selfie | Upload selfie for verification |
GET /v1/customers/{id}/kyc | List KYC verifications |
PUT /v1/customers/{id}/kyc/{kyc_id}/reviews | Review KYC |
GET /v1/system/config/supported-docs | Get accepted document types |
Business Rules
- Phone number is the primary account identifier
- OTP codes are 6 digits
- PIN has a maximum of 3 attempts before suspension
- Account suspension lasts 60 minutes
- KYC document types:
passport,dire,bi - Face match and liveness are both required for verification
- NUIB verification is mandatory for Mozambican customers