neo-pays

Reembolsos

Devolver a totalidade ou parte de uma cobrança.

Criar um reembolso

POST /v1/refunds
Campo Obrigatório Descrição
payment_id sim A cobrança original: o seu identificador ou a sua referência
amount_minor — Cadeia, em unidades menores. Ausente = o saldo restante
reason — customer_request, duplicate, fraudulent ou other
description — Texto livre, visível no painel

O reembolso é uma operação de pleno direito: o seu próprio id, o seu próprio estado, o seu próprio evento webhook (refund.success / refund.failed).

Regras

  • Só uma cobrança bem-sucedida se reembolsa.
  • A soma dos reembolsos não pode ultrapassar o montante cobrado — acima disso a API responde 422 refund_exceeds_refundable.
  • As comissões de cobrança não são devolvidas: ficam a seu cargo.
  • Um reembolso parcial deixa a cobrança original consultável, com o seu histórico completo.
  • Os fundos são retirados do seu saldo disponível no momento da chamada, como num pagamento.

Uma chave de idempotência por reembolso. Nunca o identificador do pagamento original: uma cobrança pode ser reembolsada em várias vezes, e uma chave com o identificador do pai faria o segundo reembolso parcial passar por um reenvio do primeiro.

Ler e listar

GET /v1/refunds/{id}
GET /v1/refunds                     — lista; ?payment_id= para uma só cobrança
GET /v1/payments/{id}/refunds        — os reembolsos de uma cobrança

GET /v1/payments/{id}/refunds e GET /v1/refunds?payment_id= devolvem o mesmo objeto que a lista, com a mesma paginação. A cobrança é designada pelo seu identificador ou pela sua referência; a de outra conta responde 404 no sub-recurso, e uma lista vazia no filtro.

Códigos de recusa

Um reembolso recusado responde 422, no envelope de erro habitual:

Código Significado
refund_exceeds_refundable O montante excede o que resta reembolsável. O erro inclui amount_refundable_minor.
wave_partial_refund_window_closed Cobrança Wave: o prazo de reembolso parcial terminou; só é possível o reembolso total, se nada tiver sido reembolsado.
wave_partial_refunds_disabled Os reembolsos parciais Wave não estão abertos; o reembolso total continua possível.
wave_refund_window_closed Cobrança Wave já reembolsada em parte e prazo terminado: nenhum outro reembolso.
payer_not_found A Wave não indica o pagador: um reembolso parcial, pago ao pagador, não pode ser enviado.
insufficient_funds O seu saldo disponível não cobre o reembolso.

Wave: reembolsos parciais

A Wave só reembolsa uma transação na totalidade. Um reembolso parcial de uma cobrança Wave é, por isso, pago ao número Wave do pagador, e apenas dentro do prazo indicado por partial_refund_deadline na cobrança. Depois desse prazo, só é possível o reembolso total, e apenas se nada tiver sido reembolsado.