Evaluación inicial sin contraseñas Presupuesto antes de intervenir Especialista responsable de principio a fin

Pagos Callbacks

Cómo rastrear un pago WooCommerce sin exponer datos de tarjeta

Rastrea pedidos, transacciones, webhooks y horas sin registrar tarjetas, secrets ni información personal innecesaria.

Una investigación necesita referencias estables y horas, no números de tarjeta. WooCommerce, la pasarela y el navegador guardan partes distintas. Unirlas permite localizar el fallo sin ampliar el acceso a datos sensibles.

Nunca pidas tarjeta completa, CVV, token de pago ni una captura que los muestre.

Define la evidencia mínima

Empieza con ID de pedido, hora aproximada y zona, importe, moneda, método y ID de transacción o payment intent. El email ayuda a localizar, pero anonímizalo en informes.

Usa una referencia única para pruebas y no reutilices la identidad de un cliente.

Pedido: 12345
Hora: 2026-07-28 14:32 Europe/Madrid
Importe: 10,00 EUR
Referencia proveedor: ID seguro
Eventos: evt_... cuando proceda

Confirma que el proveedor permite compartir esos identificadores con el soporte previsto.

Define quién puede ver cada sistema antes de recopilar. El personal de soporte puede necesitar el estado y la referencia, pero no acceso completo al panel financiero. Usa permisos de solo lectura y una vía de escalado para reembolsos o cambios, en lugar de compartir una cuenta administrativa.

Empieza en el pedido

Lee las notas privadas en secuencia: creación, pasarela, ID, confirmación y cambios posteriores.

Busca la misma hora y referencia en WooCommerce > Estado > Registros. Exporta solo las líneas necesarias; un log completo puede contener otros clientes o credenciales escritas por plugins.

No actives errores públicos. Limita acceso y conservación.

Revisa si el propio plugin ya ha escrito cuerpos o cabeceras sensibles antes de activar más debug. Si detectas una API key, token o dato de pago, restringe el archivo, conserva solo la evidencia necesaria, elimina copias y rota la credencial siguiendo el procedimiento del proveedor.

Relaciona el objeto del proveedor

Busca por ID almacenado, merchant reference, número, hora e importe. Confirma si está Autorizado, Capturado, Fallido, Cancelado, Disputado o Reembolsado.

Los cuatro últimos dígitos no son una referencia única. No copies autenticación del titular ni payloads completos en notas.

Guarda el timeline y solo códigos de rechazo seguros.

Un código de rechazo puede ser suficiente para decidir la siguiente capa, pero no debe usarse para inferir o comunicar detalles financieros del cliente. Distingue errores corregibles de integración, rechazo del emisor y controles antifraude sin intentar sortear una decisión legítima.

Rastrea el webhook

Localiza eventos asociados. Anota ID, creación, intentos, estado HTTP y duración.

Un timeout no significa que WooCommerce no actuara; revisa notas y servidor antes de reenviar. Un 2xx demuestra aceptación HTTP, no que todas las tareas posteriores terminaran.

No incluyas signing secrets ni cabeceras de firma en capturas.

Cuando necesites demostrar que la firma se validó, registra un resultado booleano y el ID del evento, no la firma. Aplica la misma sustitución coherente a emails e IP para que dos apariciones se puedan correlacionar sin revelar el valor original.

Inspecciona navegador y servidor

En una reproducción controlada captura estado y respuesta del checkout. Elimina cookies, order keys, direcciones, tokens y campos antes de guardar Network.

Relaciona la hora con access logs y PHP. Un request ID del proxy es más seguro que copiar el cuerpo.

Elimina las exportaciones al terminar el periodo de retención.

Comprueba descargas locales, adjuntos de tickets, carpetas sincronizadas y copias automáticas. Borrar el log del servidor no elimina las réplicas creadas durante la investigación. El informe final debe contener la cronología y la solución, no el material bruto.

Configura logs con cuidado

Usa el modo oficial de debug solo durante el tiempo mínimo y revisa qué registra y dónde.

El logging propio debe contener identificadores, transiciones y clases de error:

wc_get_logger()->info(
    'Payment callback received',
    array( 'source' => 'gateway-diagnostic', 'order_id' => $order_id )
);

No registres cuerpos, API keys, bearer tokens ni campos de pago. Valida que el ID exista.

Construye una cronología de traspaso

Resume qué demuestra cada sistema:

14:32 pedido creado Pendiente
14:33 proveedor captura abc…
14:33 webhook devuelve 500
14:33 fatal PHP en callback documentado

La cronología permite una reparación enfocada y comprensible sin compartir el mensaje entero.

Incluye zonas horarias y diferencia entre creación, entrega y procesamiento.

Añade quién confirmó cada dato y desde qué fuente autoritativa. Evita frases como “el pago parece correcto”: anota “capturado según el proveedor” o “pedido Pendiente según WooCommerce”. Esta precisión evita que otro técnico convierta una inferencia en un hecho.

Cierra con responsabilidad

Concilia pedido y proveedor, corrige una vez stock o logística y registra el resultado en una nota privada. Rota cualquier credencial expuesta durante el diagnóstico.

Verifica con una transacción controlada: un pedido, un pago, un webhook y el email correcto.

El mantenimiento recurrente debe estandarizar anonimización, conservación y conciliación. La buena evidencia es breve, trazable y deliberadamente libre de datos innecesarios.

ANTES DE ENVIAR LA SOLICITUD

Preguntas frecuentes.

¿Pedís contraseñas en el formulario?+

No. El formulario público nunca solicita accesos. Los datos seguros se piden únicamente después de aprobar el alcance y el presupuesto.

¿Quién revisa la incidencia?+

La solicitud llega a Jordi Ensenyat, fundador de Code Barcelona y especialista WordPress con más de 15 años de experiencia.

¿Se cambia algo antes del presupuesto?+

No. Primero se revisan los síntomas visibles y se define el alcance. La intervención empieza tras la aprobación y con una vía de vuelta preparada.

¿Trabajáis con webs en inglés y fuera de España?+

Sí. WP Repair atiende incidencias WordPress y WooCommerce en inglés y español, con servicio remoto.

Evaluar mi incidencia