email + phone verify
Email Verification:
User registers with their email address.
Fintech software sends a verification email to the provided email address.
The user receives the verification email and clicks on the verification link.
Fintech software validates the link and confirms the email address.
Phone Number Verification:
A User enters their phone number after email verification.
Fintech software sends a verification code via SMS or automated phone call to the provided phone number.
The User receives the verification code and enters it into the fintech software.
Fintech software verifies the code and confirms the phone number.
Identity Verification:
Step 1 The User completes the verification form by providing all the information required for identity verification.
First Name
Last Name
Date of Birth
Address
City
Country
Postcode
Front end:
mutation{addProfile}
Back-end: save to db
Step 2 Upload documents with exploration data and type of document (PNG, JPEG)
configurator-dev-wizwiz/global/config.yaml
kyc:
document_types: "Passport|Driver License|Utility Bill" # Types of documents
document_count: 2 # minimum count of files to upload for check KYC
query{KYCDocumentTypes}
{
"data": {
"KYCDocumentTypes": [
"Passport",
"Driver License",
"Utility Bill"
]
}
}
[{documentType: "id", addinfo: true},
{documentType: "selfie", addinfo: false}]
addDocument - should receive more than one file
queryKYCstep
[{documentType: "id", addinfo: true},
{documentType: "selfie", addinfo: false}]
status: "processing" / "pending"
status: "processing"
- user waiting verification result/ [empty array]
status: "pending"
- system waiting for user to continue verification
Step 3 Upload a selfie file (PNG, JPEG)
After upload all files → start Workflow KYCverification
Documents
Profile
User
Action: sumsub.sendDocument
glorep.sendDocument
if internal → userDecision ( KYC officer approve/reject)
Add node : serviceDecision
Scenarios after passing Step 3:
1. Return to Step 1 with the error for file quality and not verified status. (Can be email to user with a notification to try again )
2. Verify User account. Get “verified status” and level up from zero to the first for withdrawal restrictions
3. Verify User account. Get “verified status” and level up from zero to the TOP level for withdrawal restrictions
4. Ban user
mermaid diagram
mermaid diagram ( example)
KYC_Waiting((KYC Waiting))
subgraph KYC_Process
KYC_Waiting --> SumSub_Service[SumSub Service]
SumSub_Service -->|Automated Verification Process| Real_Time_Decision_Making((Real-time Decision Making))
Real_Time_Decision_Making -->|Instant Feedback| Feedback[Feedback to Users]
Feedback -->|Successful| Verified[Verified Status]
Feedback -->|Unsuccessful| Not_Verified[Not Verified Status]
end
Verified[Verified Status] -->|Access Granted| General_Tab[General Tab]
Not_Verified[Not Verified Status] -->|Access Restricted| Not_Verified_Details{User Details}
General_Tab -->|Verification Process| Verification_Process[Verification Process]
General_Tab -->|Withdrawal Restriction Level| Withdrawal_Restriction[Withdrawal Restriction Level]
Verification_Process -->|Step by Step| Email_Verification[Email Verification]
Verification_Process -->|Step by Step| Phone_Verification[Phone Verification]
Verification_Process -->|Step by Step| Identity_Verification[Identity Verification]
Withdrawal_Restriction -->|After Identity Verification| Adjust_Restriction[Adjust Restriction Level]
KYC_Tab((KYC Tab))
KYC_Tab -->|User KYC Details| User_KYC_Details[User KYC Details]
KYC_Tab -->|Admin Capabilities| Admin_Capabilities[Admin Capabilities]
User_KYC_Details -->|Personal Details| Personal_Details[Personal Details]
User_KYC_Details -->|Document Details| Document_Details[Document Details]
User_KYC_Details -->|Verification Status| Verification_Status[Verification Status]
User_KYC_Details -->|Uploaded Files| Uploaded_Files[Uploaded Files]
KYC Waiting
represents the status of users in the KYC process, waiting for verification.
SumSub Service
denotes the service used for verification.
Real-time Decision Making
indicates the immediate feedback users receive based on verification results.
Verified Status
and Not Verified Status
represent the outcomes of the verification process.
General Tab
and KYC Tab
are tabs in the platform interface for administrators.
Verification Process
and Withdrawal Restriction Level
are admin capabilities within the General Tab.
User KYC Details
and Admin Capabilities
are sections within the KYC Tab.
Various arrows depict the flow of information and actions within the platform interface.
query KYCstatus
1 step:
На фронте можно попросить заново выслать верификационный емейл
2 step:
{
state: “phone”,
phone: "+3806688888888" or ""
}
На фронте можно ввести номер телефона (если до этого не был введен), отправить на него СМС и ввести полученный код
3 step:
Загружаем данные по профилю - ФИО, место проживания, гражданство, дата рождения
если этот этап уже пройден, то (перечень docsToUpload будет уменьшаться по мере загрузки документов)
{
state: “document”,
docsToUpload: [
{
type: "ID/Passport",
withInfo: true
},{
type: "Proof of address",
withInfo: false
},{
type: "Selfie",
withInfo: false
}
]
}
Все документы уже загружены, но ждет верификации (или офицера безопасности или третьей стороны - e.g. sumsub):
{
state: “under verification”
}
KYC пройден: