Obtendo o Estado do Cliente
Use o SDK para buscar as informações completas do cliente, incluindo assinaturas.Verificando Status da Assinatura
O padrão mais comum é verificar se o cliente possui uma assinatura ativa antes de liberar acesso a recursos.Status Possíveis da Assinatura
| Status | Descrição |
|---|---|
active | Assinatura ativa e pagamento em dia |
past_due | Pagamento atrasado, ainda dentro do período de tolerância |
canceled | Assinatura cancelada pelo cliente ou sistema |
incomplete | Pagamento inicial pendente |
trialing | Período de teste ativo |
Padrão de Cache Local
Para evitar chamadas excessivas à API, implemente um cache local do estado do cliente.Sincronização via Webhooks
A forma mais confiável de manter o estado atualizado é reagir a eventos via webhooks. Isso garante que mudanças feitas fora da sua aplicação (como cancelamentos ou renovações) sejam refletidas imediatamente.Eventos Relevantes
| Evento | Quando Ocorre |
|---|---|
subscription.created | Nova assinatura criada |
subscription.updated | Assinatura atualizada (plano, status) |
subscription.canceled | Assinatura cancelada |
subscription.active | Assinatura ativada após pagamento |
checkout.updated | Status do checkout mudou |
Exemplo de Handler de Webhook
Hook React para Estado do Cliente
Use um hook customizado para acessar o estado do cliente em componentes React.Uso do Hook
Boas Práticas
Use webhooks como fonte primária
Use webhooks como fonte primária
Não dependa apenas de polling. Configure webhooks para receber atualizações em tempo real e use chamadas à API apenas como fallback ou para sincronização inicial.
Implemente cache com TTL
Implemente cache com TTL
Cache o estado do cliente por um período curto (3-5 minutos) para reduzir chamadas à API, mas mantenha um mecanismo de invalidação via webhooks.
Trate falhas graciosamente
Trate falhas graciosamente
Se a API estiver indisponível, use o último estado conhecido do cache ou banco de dados. Nunca bloqueie o acesso do usuário por falha temporária na verificação.
Persista o estado no banco de dados
Persista o estado no banco de dados
Além do cache em memória, salve o estado do cliente no seu banco de dados. Isso garante que a aplicação funcione mesmo após reinicializações.

