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 Team18 de maio de 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.