1. Crie um Cycle (produto)
Um Cycle é o template da sua assinatura: define intervalo, trial, taxa de setup e métodos de pagamento.2. Adicione Plans (planos de preço)
Cada Cycle pode ter um ou mais Plans. O pagador escolhe o plano no checkout.3. Compartilhe o checkout
Comcheckout_enabled: true, o Cycle ganha uma URL pública de checkout. Copie a URL no painel (Cycles → Detalhes → Copiar Link do Checkout) e compartilhe com seus clientes.
Para pré-selecionar um plano específico, adicione ?plan={plan_id} à URL.
4. Assinante completa o checkout
O pagador:- Acessa a URL do checkout
- Escolhe o plano (se houver mais de um)
- Informa o email
- Seleciona o método de pagamento
- Realiza o pagamento (ou inicia trial)
Com trial
Se o Cycle temtrial_days > 0:
- A assinatura é criada com status
trialing - Nenhuma cobrança é gerada imediatamente
- Ao final do trial, a primeira fatura é gerada automaticamente
Sem trial
Setrial_days = 0:
- A assinatura é criada com status
active - A primeira fatura é gerada imediatamente
- O pagador recebe o QR Code PIX para pagamento
5. Receba notificações
Configure webhooks para acompanhar o ciclo de vida:Eventos principais
| Evento | Quando usar |
|---|---|
subscription.created | Liberar acesso (trial ou primeiro pagamento) |
subscription.activated | Trial terminou, primeiro pagamento confirmado |
subscription.past_due | Enviar lembrete de pagamento |
subscription.suspended | Bloquear acesso |
subscription.canceled | Limpar recursos do cliente |
Exemplo completo com SDK
Intervalos disponíveis
| Intervalo | Descrição | Exemplo |
|---|---|---|
daily | Diário | A cada dia |
weekly | Semanal | A cada semana |
monthly | Mensal | A cada mês |
quarterly | Trimestral | A cada 3 meses |
semiannual | Semestral | A cada 6 meses |
annual | Anual | A cada ano |
interval_count para multiplicar: interval: 'monthly' + interval_count: 2 = a cada 2 meses.