Pagamentos
Cancelar um pagamento
Cancela um Payment Intent ainda não concluído, informa cancellation_reason, libera captura manual e retorna o objeto completo cancelado.
Cancela um
payment_intent que ainda não está em succeeded ou canceled.
Se havia uma autorização de cartão em requires_capture, o cancelamento
também encerra essa autorização e zera amount_capturable.
string
required
ID do payment intent (
pi_*).string
Motivo do cancelamento. É opcional; quando omitido, o objeto pode retornar
cancellation_reason: null.Somente esses quatro valores são aceitos. Os motivos gerados pela Chargefy
(
automatic, expired, failed_invoice, void_invoice) aparecem na resposta
e nos webhooks, mas não podem ser enviados na requisição — veja
o objeto. Enviar um deles responde
400.abandoned afirma que o comprador desistiu, e é você quem decide isso. Se o
prazo simplesmente acabou, quem registra é a Chargefy, com expired. Para a
validade do código PIX, leia next_action.pix_display_qr_code.expires_at.Resposta
200 OK com o objeto payment_intent completo — mesmo shape de GET /v1/payment-intents/:id — agora com status: "canceled", canceled_at preenchido e cancellation_reason ecoando o motivo enviado.
Erros comuns
Os demais erros retornados pela rede usam o código específico documentado em
Códigos de falha. Uma resposta
5xx
não é autorização para repetir uma operação financeira.
Webhook gerado
O cancelamento emitepayment.intent.canceled.
O evento carrega o Payment Intent completo em data.object e pode trazer os
valores anteriores em data.previous_attributes.
Atualize sua operação de negócio de forma idempotente: a resposta da API e o
webhook representam a mesma transição e não devem produzir dois efeitos.
Motivos e timestamps
Semântica completa de cancelamento e expiração.
Cancelar uma cobrança
Regra local, idempotência e nova tentativa.

