Flujo de pedidos
Esta tabla describe cómo el plugin actualiza el estado del pedido en WooCommerce según la respuesta de la pasarela.
| Escenario | Acción del plugin | Estado WooCommerce |
|---|---|---|
| El cliente inicia el checkout izipay | process_payment() marca el pedido como pendiente | Pending 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 intento | Pending payment |
| IPN aprobado y pedido pendiente | payment_complete() + nota "Pago confirmado vía IPN izipay." | Processing / Completed |
| IPN rechazado y pedido pendiente | Se conserva pendiente + nota "Pago rechazado vía IPN izipay. Manteniendo pendiente." | Pending payment |
| IPN duplicado o pedido ya pagado | Se ignora con respuesta 200 | Sin cambio |
| Cancelación manual desde el admin | update_status('cancelled', …) | Cancelled |
| Error de conexión / token inválido | Log de error + estado se mantiene | Pending 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.