Pular para o conteúdo principal

KYC (Verificacao de Identidade)

O template integra verificacao de identidade (Know Your Customer) com suporte a multiplos operadores.

Operadores suportados

OperadorDescricao
CAFProvedor de identidade digital
LegitimuzVerificacao por documento + selfie
Pay2FreeVerificacao simplificada
SerasaBureau de credito (Brasil)
SumSubVerificacao global
UnicoBiometria facial
ShieldIDVerificacao por dispositivo

O operador ativo e determinado pela lista de operadores habilitados para o pais do usuario, definida no SDK (@cactus-agents/country-config) — nao no fork.

Os operadores se dividem em dois modelos de integracao, e isso muda como a conclusao e detectada:

ModeloOperadoresComo o template detecta o fim
Iframe genericoPay2Free, Serasa, Legitimuz, ShieldID, CAFMensagens postMessage do iframe
SDK no browserUnico, SumSubCallbacks do proprio SDK (onFinish no Unico, eventos do WebSDK no SumSub)

Fluxo

1. Usuario precisa verificar identidade
(por deposito, saque, ou regra regulatoria)
|
v
2. Modal KYC abre — iframe do operador OU SDK do operador,
conforme o modelo de integracao
|
v
3. Usuario completa a verificacao
|
v
4. Template faz polling de status (a cada 5s)
|
v
5. Resultado: Aprovado / Reprovado / Pendente manual

Status possiveis

StatusDescricao
PROCESSINGVerificacao em andamento
APPROVEDAprovado automaticamente
MANUAL_APPROVEDAprovado manualmente
REPROVEDReprovado
MANUAL_REPROVEDReprovado manualmente
MANUAL_APPROVE_PENDINGAguardando aprovacao manual
LIVENESS_PENDINGProva de vida pendente

Gatilhos

O KYC pode ser disparado por:

  • Validacao pos-registro — se o pais/marca exige KYC apos cadastro
  • Deposito — se o contexto de deposito requer KYC
  • Saque — se o contexto de saque requer KYC
  • Mudanca de senha/dispositivo/IP — por seguranca
  • Link de recuperacao — via email/SMS (/user/validate/kyc/:token)

Configuracao

A selecao de operador e automatica: o backend resolve pelo pais do usuario. O fork tem uma knob:

// app/config/features/features.ts (ou o override da sua marca)
kyc: {
// "prod" (default) | "uat" — ambiente do SDK do Unico.
unicoEnv: "prod",
},

Marcas em QA podem apontar o SDK do Unico para o ambiente UAT sem nenhuma mudanca no backend. Operadores que rodam por iframe ignoram esse campo.

:::danger Override e substituicao do arquivo inteiro features.ts e substituido por completo quando existe no diretorio da sua marca — sem deep-merge. Copie o arquivo base e edite os valores; flags ausentes chegam como undefined. :::

Operadores por pais

A lista de operadores habilitados por pais vive no @cactus-agents/country-config, que e uma dependencia npm publicada — o fork nao pode alterar. Para habilitar, desabilitar ou trocar a ordem dos operadores do seu pais, abra um pedido para o time da plataforma.