Si la pasarela devolvió el dinero pero WooCommerce no muestra el reembolso, pueden discrepar contabilidad, email, impuestos y decisiones de stock. Pulsar «reembolsar mediante pasarela» otra vez podría enviar el dinero dos veces.
Verifica primero la transacción externa y separa la devolución financiera de la reposición física.
Confirma el reembolso externo
Registra ID de transacción original, ID de reembolso, importe, moneda, estado y hora. Distingue Pending de Completed y si fue total o parcial.
Vincúlalo con el pedido y la captura original. No dependas solo de una captura del cliente ni solicites datos de tarjeta. Añade una nota privada con la referencia verificada antes de corregir WooCommerce.
Identifica dónde se inició
Un reembolso iniciado en WooCommerce debería crear el registro local y llamar al proveedor. Si se hizo desde el panel de la pasarela, puede depender de un webhook o de una anotación manual compatible.
- sistema o usuario iniciador
- referencia del reembolso
- registro local existente
- evento webhook y entrega
- decisión de reposición
Esto evita interpretar un único movimiento como dos devoluciones.
Revisa logs y notas
Compara la hora con registros de pasarela, PHP y notas privadas. La API puede devolver éxito y después un fatal o fallo MySQL impedir que WooCommerce guarde el registro.
Un timeout del navegador tiene resultado desconocido. Busca por transacción e idempotency key antes de repetir. No almacenes secretos ni payloads completos.
Comprueba el webhook
Si el proveedor envía eventos de reembolso, revisa entregas y HTTP. Una migración, SSL caducado, firewall o secreto de firma incorrecto puede bloquear la actualización.
Reproducir el evento solo es seguro si el handler reconoce el ID ya procesado. Comprueba idempotencia y estado local. No desactives globalmente la seguridad para abrir una ruta.
Crea el registro local sin devolver dinero otra vez
Después de demostrar el movimiento externo, usa el procedimiento documentado de reembolso manual o una API compatible que no llame de nuevo a la pasarela. La interfaz suele diferenciar «Reembolsar manualmente» y «mediante pasarela».
Selecciona cantidades de línea, impuestos y envío de acuerdo con el cálculo original. No inventes un importe solo para llevar el saldo a cero. Vincula el ID externo en una nota y conserva quién realizó la conciliación.
Antes de guardar, suma los reembolsos anteriores del mismo pedido. El proveedor puede mostrar varias devoluciones parciales con referencias distintas y WooCommerce solo alguna de ellas. La nueva anotación local debe representar exclusivamente el movimiento ausente, respetar la moneda original y no superar el importe capturado restante.
Decide el stock por separado
Dinero devuelto no significa mercancía recibida. Repón solo artículos no enviados o retornados y aceptados según la política.
En devoluciones parciales, elige cantidades concretas y revisa IDs de variación e integración de almacén. La pasarela no puede saber si una unidad vuelve a ser vendible.
No cambies el estado para provocar reposición. En bundles, la línea financiera y los componentes físicos pueden tener cantidades diferentes.
Concilia sistemas posteriores
Confirma que contabilidad, documentos fiscales, email, ERP y analítica representen el reembolso una vez. Algunas integraciones escuchan el hook de creación local; es correcto que reciban la nueva anotación, pero no que vuelvan a enviar el movimiento financiero.
Prueba el comportamiento en staging o con documentación del proveedor antes de registrar un lote grande.
Revisa además si una factura rectificativa o nota de crédito ya fue emitida por el sistema contable. Crear otra puede duplicar la corrección fiscal aunque el dinero no vuelva a moverse.
Verifica el flujo futuro
Usa sandbox o una transacción pequeña controlada. Inicia un reembolso parcial por el procedimiento previsto y confirma un reembolso externo, un registro WooCommerce, totales correctos y el efecto de stock elegido.
El mantenimiento recurrente debe comparar IDs de pasarela con registros locales y alertar sobre diferencias. La conciliación protege caja, inventario y confianza del cliente al mismo tiempo.