recurring. A cada período a Upag gera uma fatura e a cobra pelo método guardado na assinatura (pix ou um cartão tokenizado). Também é possível começar com um período de teste (trial).
Todos os endpoints exigem chave secreta (sk_…).
A prévia da próxima cobrança fica em Próxima fatura.
Sandbox:
https://api.upag.dev/v1 com sk_test_…. Produção: https://api.upag.io/v1 com sk_live_….Estrutura
Atributos
string
UUID da assinatura.
string | null
pix ou card: o método usado nas cobranças. null num teste sem método de pagamento.string
Moeda dos preços (
brl ou usd).string
day, week, month ou year. Todos os itens compartilham o mesmo intervalo.integer
A cada quantos
interval a assinatura cobra (por exemplo, interval: "month" e intervalCount: 3 cobram a cada 3 meses).boolean
Quando
true, a assinatura é cancelada ao fim do período atual em vez de renovar.string | null
ISO 8601 do início da assinatura.
null durante o teste: o primeiro período só começa quando ele acaba.string | null
ISO 8601 do fim. Preenchido ao cancelar de imediato.
string | null
ISO 8601 do início do teste.
null sem teste, ou depois que ele acabou.string | null
ISO 8601 do fim do teste.
null sem teste, ou depois que ele acabou.string | null
O que acontece quando o teste acaba sem método de pagamento:
create_invoice ou cancel. null sem teste ou depois que ele acabou. Veja Teste grátis.string | null
Início do período atual (ISO 8601).
null durante o teste.string | null
Fim do período atual (ISO 8601). É a data da próxima renovação.
null durante o teste.string | null
ISO 8601 do cancelamento efetivo.
string | null
Motivo informado ao cancelar, ou
missing_payment_method quando o teste acabou sem método de pagamento e o comportamento era cancel.array
Itens ativos da assinatura.
id: UUID do item.product: UUID do produto.price: UUID do preço.name: nome do preço, copiado quando o item entrou.amount: valor unitário em centavos, copiado do preço quando o item entrou.quantity: quantidade.totalAmount:amount × quantity, em centavos.createdAt,updatedAt: ISO 8601.
string
ISO 8601.
string
ISO 8601.
Status
Acompanhe as mudanças por webhooks de assinatura:
subscription.created, subscription.active, subscription.trialing, subscription.trial_ending, subscription.past_due, subscription.incomplete, subscription.paused, subscription.canceled e subscription.void.
Renovação
- Cartão: cada período é cobrado em 1 parcela no cartão guardado.
- Pix: a fatura do período é emitida com um QR code que vence em 3 dias.
- Recusa ou Pix sem pagamento: a assinatura vai para
past_duee a cobrança é repetida. - Trocas de item agendadas com
applyAt: "period_end"são aplicadas na renovação. Veja Mudanças agendadas.