Saltar al contenido principal

Flujo de pedidos

Esta tabla describe cómo el plugin actualiza el estado del pedido en WooCommerce según la respuesta de la pasarela.

EscenarioAcción del pluginEstado WooCommerce
El cliente inicia el checkout izipayprocess_payment() marca el pedido como pendientePending payment
Pago aprobado desde el frontend (code = 00)payment_complete() + nota "Pago confirmado con izipay"Processing / Completed (según stock virtual o físico)
Pago rechazado (code ≠ 00)El pedido se mantiene pendiente, se registra intentoPending payment
IPN aprobado y pedido pendientepayment_complete() + nota "Pago confirmado vía IPN izipay."Processing / Completed
IPN rechazado y pedido pendienteSe conserva pendiente + nota "Pago rechazado vía IPN izipay. Manteniendo pendiente."Pending payment
IPN duplicado o pedido ya pagadoSe ignora con respuesta 200Sin cambio
Cancelación manual desde el adminupdate_status('cancelled', …)Cancelled
Error de conexión / token inválidoLog de error + estado se mantienePending payment

1. Creación del Pedido

  • Inicio de la transacción: WooCommerce inicia el proceso de pago con izipay.
  • Estado inicial: El pedido se registra en WooCommerce con el estado Pending payment.
  • Interfaz de pago: La pasarela de pagos de izipay se muestra al cliente para completar la transacción.

2. Autorización del Pago

  • Evaluación de la transacción: izipay procesa la solicitud de pago.
  • Pago aprobado: Si la transacción es exitosa, el estado del pedido cambia a Processing o Completed según el tipo de stock.
  • Pago rechazado: Si el pago es denegado, el pedido se mantiene en Pending payment y se registra el intento.

3. Notificación IPN

  • izipay envía una notificación IPN firmada con HMAC-SHA256 al endpoint https://TU-DOMINIO/wp-json/izipay/v1/ipn.
  • Si el IPN confirma el pago y el pedido está pendiente, el plugin ejecuta payment_complete() automáticamente.
  • Los IPN duplicados son ignorados con respuesta 200 sin modificar el estado del pedido.

4. Cancelación y Devoluciones

  • Cancelación manual: El comercio puede cancelar pedidos desde el panel de WooCommerce; el plugin actualiza el estado a Cancelled.
  • Devoluciones: Se gestionan manualmente desde el Portal de Devoluciones de izipay.
  • Se permiten devoluciones parciales y totales.