Saltar al contenido principal

Estados que entiende el webhook de confirmación

El valor se toma de status (o status_detail, transaction.status) y de type si viene. Se compara sin distinguir mayúsculas.

AcciónValores reconocidosEfecto en el pagoEfecto en el linkEvento al comercio
AprobarAPPROVED, SUCCESS, payment.purchase.processed, payment.authorization.processed, cualquiera que termine en .approved o .succeededpaidpaidpayment.approved
RechazarDECLINED, REJECTED, FAILED, payment.purchase.rejected, payment.purchase.failed, payment.cancel.processed, terminados en .rejected o .failedfailedfailedpayment.rejected
Reembolsopayment.refund.processedrefundedrefundedpayment.refunded
Contracargocualquier valor que contenga chargebackin_reviewin_reviewpayment.chargeback
En revisióncualquier otro valor (por ejemplo PENDING) o ausentein_reviewin_review (cuando su estado lo permite; nunca si ya está paid)payment.in_review
Hoy no se distingue el motivo

Un rechazo por el banco, por fondos insuficientes o por expiración llegan igual como rechazar; el motivo solo se guarda como texto (failure_reason). No hay una pantalla de resultado propia para estos medios (la app del proveedor informa al pagador). El vocabulario real de estados y motivos está por acordar; ver decisiones abiertas.

Orden y estados terminales​

  • Un pending que llega después de paid no degrada el pago ni el link.
  • Un contracargo sobre un pago paid sí lo lleva a in_review.
  • Un evento repetido (mismo identificador) no cambia nada.