Criar uma subscription
Envie o valor e o intervalo em cada subscription; o gateway cobra sozinho e cada ciclo pago entra no seu ledger.
Criar
POST https://pay.contagorda.com/connect
{ "amount": "49.90", "currency": "BRL", "interval": "month", "description": "Blackevin PRO", "return_to": "https://app.blackevin.com/billing", "customer": { "external_ref": "user_42", "email": "[email protected]" } }
Idempotency-Key é obrigatório. Coloque as Cobranças do app em Subscriptions e o /connect cria uma; amount, currency e interval (month ou year) vêm no body, porque seu produto conhece os planos. POST https://pay.contagorda.com/api/v1/subscriptions faz o mesmo e devolve a subscription completa.
O que acontece depois
- 1O cliente paga e volta com o token assinado, como num pagamento avulso (as claims incluem subscription).
- 2subscription.activated chega por webhook; cada ciclo seguinte envia session.paid e subscription.renewed.
- 3O current_period_end dele pode vir null: o gateway informa o período um instante depois do pagamento, e subscription.updated traz a data. O mesmo evento avisa quando o fim do período ou o cancel_at muda sem mudar o status.
- 4Uma renovação que falha envia subscription.past_due enquanto o gateway tenta de novo.
Só Stripe, por enquanto. Leia uma com GET /api/v1/subscriptions/:id.