intermediate
juicer
onboarding
KYC

Onboarding de Juicer

Como Juicers se inscrevem, completam KYC Stripe Identity, configuram pagamentos Stripe Connect Express e passam pela allowlist de estados

Levy Fleets TeamMay 18, 20267 min read

Onboarding de Juicer

Um Juicer nao pode reivindicar uma unica recompensa antes de KYC, conta de pagamento e reconhecimento de carga segura. Fluxo projetado para menos de 10 minutos de "Aplicar" ate "primeira recompensa".

O Que um Juicer Precisa

  • Smartphone (iOS 16+ ou Android 12+) com o app Juicer
  • ID com foto emitido pelo governo (carteira, passaporte, ID estadual)
  • Ultimos 4 digitos do SSN (EUA)
  • Conta bancaria nos EUA com ACH
  • Endereco residencial em estado permitido

Passo 1: Aplicacao

Juicer baixa o app (hoje como modo gated por papel dentro do operator-app), abre e toca Aplicar como Juicer.

Informacoes:

  • Nome legal (combinar com ID)
  • Telefone
  • Email
  • Endereco residencial - guardado como home_geo PostGIS

App chama POST /api/juicer/onboarding, que:

  1. Faz upsert de juicers ligado a auth.users.id
  2. Cria sessao de verificacao Stripe Identity
  3. Cria conta Stripe Connect Express
  4. Retorna duas URLs: Identity e Connect

Passo 2: Verificacao de Allowlist

Endereco e verificado contra allowlist. Padrao:

  • TX (Texas)
  • FL (Florida)
  • GA (Georgia)
  • NC (Carolina do Norte)
  • AZ (Arizona)

Estados com regras gig defensaveis - classificacao 1099 clara, sem salarios minimos especificos para gig, sem legislacao recente (como AB5 em CA).

Fora da allowlist: "Ainda nao disponivel no seu estado". Linha juicers em pending ate:

  • Juicer mudar para endereco na allowlist
  • Levy expandir a lista (apos revisao legal)

Allowlist e por estado, nao por cidade, configuravel - mas operadores nao devem virar sem revisao legal.

Passo 3: KYC Stripe Identity

Juicer abre URL no celular. Stripe guia:

  • Upload de ID (frente/verso)
  • Selfie liveness
  • SSN ultimos 4
  • Verificacao de endereco

Stripe checa no servidor. Maioria volta em minutos; ate 24h se revisao manual.

Plataforma escuta webhook identity.verification_session.verified. Quando chega:

  • juicers.kyc_status = 'verified'
  • juicers.status = 'active' (se Connect tambem ok)
  • juicers.stripe_identity_session_id setado

Se falhar (requires_input / canceled), prompt para refazer.

Por Que Stripe Identity

Cerca de 1,50 USD por checagem, suporta IDs dos EUA em todos os estados, integra com Stripe Connect. Nao armazenamos imagem - Stripe sim - reduz superficie de risco.

Passo 4: Stripe Connect Express

Em paralelo, Juicer completa Connect Express:

  • Banco (routing + conta, ou Plaid instant)
  • Confirma que nome legal bate com Identity
  • Aceita Stripe Connect Services Agreement

Quando account.updated chega com payouts_enabled: true, plataforma seta juicers.stripe_account_payouts_enabled = true. Ambos kyc_status = 'verified' e payouts_enabled = true necessarios antes de claim.

Connect Express cuida do 1099-NEC anual.

Passo 5: Reconhecimento de Carga Segura

Antes do primeiro claim, assinatura de uma pagina:

  • Nao carregue pacotes danificados (inchaco, vazamento, fumaca, quente)
  • Nao abra pacotes ou modifique conector
  • Use carregador fornecido - sem terceiros
  • Carregue em area ventilada
  • Extintor para lithium-ion proximo (kit opcional 25 USD)

Exigido pelo endosso de seguro (Christensen Group). PDF assinado guardado no perfil.

Passo 6: Revisao do Operador (opcional)

Alguns operadores exigem revisao humana. Lista "Ativacao Pendente" em Dashboard -> Juicers permite aprovar, rejeitar, segurar.

Se require_juicer_review = true na subconta, plataforma nao ativa automaticamente - espera operador.

Ativacao

Juicer fica active quando:

  • kyc_status = 'verified'
  • stripe_account_payouts_enabled = true
  • Endereco na allowlist
  • Carga segura assinada
  • Revisao passada (se exigida)

App refresh, mapa preenchido, primeira reivindicacao possivel.

Suspendendo e Banindo

Operadores podem do dashboard:

  • Suspender - status = 'suspended'. Cancela claims abertos, segura payouts.
  • Banir - status = 'banned'. Final.

Gatilho frequente: limite de fraud score - veja Deteccao de Fraude.

Problemas Comuns

  • "Verificacao falhou" - ID borrado ou expirado. Retry possivel.
  • "Estado nao disponivel" - fora da allowlist.
  • "Payouts nao habilitados" - Stripe Connect aguardando banco. Frequentemente em uma hora.
  • Primeira recompensa nao aparece - verifique se operador exige revisao e se ha recompensas no claim radius.