Links de pagamento
Links opacos, não enumeráveis, que você entrega ao cliente. Nunca expõem IDs internos. Se o cadastro do cliente não tem celular, a página pública pede um antes de cobrar.
Link da fatura em aberto (leitura)
curl "https://api.ribbo.app/v1/subscriptions/sub_01J…/payment-link" -H "Authorization: Bearer bk_..."
Resposta { "token", "url", "amount_cents", "status" }. 409 se não há fatura em aberto.
2ª via do Pix de um pedido (leitura)
Para uma compra avulsa ou um adiantamento de renovação com Pix pendente.
curl "https://api.ribbo.app/v1/orders/ord_01J…/payment-link" -H "Authorization: Bearer bk_..."
Resposta { "token", "url", "amount_cents", "status" }. 409 se não há Pix pendente para reabrir.
Link de renovação antecipada (escrita)
Gera um documento pagável que, pago, estende o período da assinatura. Expira em 7 dias. Renova
sempre a própria oferta da assinatura: offer_id é opcional e, se enviado, tem de ser a oferta
atual (para mudar de plano use a troca de plano).
curl -X POST "https://api.ribbo.app/v1/subscriptions/sub_01J…/renewal-link" \
-H "Authorization: Bearer bk_..." -H "Content-Type: application/json" -d '{}'
Resposta 201 { "token", "url", "price_cents", "expires_at", "status" }. Sem price_cents,
o preço é o do próximo ciclo já com o cupom ativo; com price_cents (inteiro >= 1) você fixa outro
valor. 400 para price_cents inválido; 422 para uma oferta diferente da atual.
Link de troca de forma de pagamento (escrita)
Para o cliente trocar de cartão ou de Pix↔cartão, sem cobrança. Single-use, expira em 7 dias.
curl -X POST "https://api.ribbo.app/v1/subscriptions/sub_01J…/payment-method-link" -H "Authorization: Bearer bk_..."
Resposta 201 { "token", "url", "expires_at", "status" }. 409 se a assinatura está
canceled, pending_first_payment ou em teste sem cartão.