WPIntell

Source evidence

Orders stuck as pending after payment – KVS error CPP_NT_0602004

Mercado Pago payments for WooCommerce · support · 2026-05-27T01:31:00+00:00

complaintsentiment
highseverity
0.96relevance
2replies
Evidence linked to opportunitycommercial context

Proof Health

Open evidence

Commercial opportunities need traceable source links before they are treated as build-worthy.

9 / 39 rows with source links

23.1% of this page's analysis has direct source links.

0 build-decision rows missing links

0 rows here require auditable proof before promotion.

30 rows with no attached evidence

0 rows have source counts but still need direct links.

Conversation

support
tophercris unresolved
Plugin version: 8.7.21 (también reproducible en 8.7.17) WooCommerce version: 10.7.0 WordPress version: 7.0 PHP version: 8.x Checkout type: Checkout Pro (modo Redirect) País: Chile Descripción del problema Desde el 22 de mayo de 2026 (tras actualizar el plugin), varios pedidos quedan en estado “Pendiente de pago” o “Cancelado” en WooCommerce aunque en el panel de Mercado Pago aparece “Pago realizado” y el dinero ya está acreditado. El plugin NO actualiza el estado del pedido a “Procesando” de forma automática. Causa raíz encontrada en los logs de WooCommerce En el archivo mercadopagowoocommerceorderorderstatus-YYYY-MM-DD.log : Error Mercado Pago: Error getting last notification: {"code":"CPP_NT_0602004","status":404,"message":"1003 - KVS getValue not found","original_message":"ErrorKvsValueNotFound 1003"} En el archivo mercadopagowoocommercehooksorder-YYYY-MM-DD.log : Error Mercado Pago: Error getting notification info for sync order status Interpretación: Mercado Pago envía la notificación IPN al sitio. WooCommerce la recibe y llama a la API de MP para obtener los detalles del pago. En ese momento, el KVS (Key-Value Store) de los servidores de MP responde con 404 – los datos de la notificación no están disponibles. El plugin no puede actualizar el estado del pedido. Lo que ya se descartó (lado del eCommerce) Wordfence: no bloquea IPs de Argentina/Brasil. WAF en modo Learning. Endpoints de IPN: responden correctamente (HTTP 400 para llamadas manuales, que es el comportamiento esperado). REST API de WordPress: habilitada. WP Cron: activo. SSL/GD/Curl: todos en verde en el panel de MP. El problema es exclusivamente del lado de los servidores de Mercado Pago . Workaround temporal En los pedidos afectados, usar el botón “Sincronizar el estado del pedido” en la sección “Estado de pago en el Mercado Pago” dentro de cada pedido en WooCommerce. Esto fuerza una sincronización manual y actualiza el estado correctamente. Pedidos afectados de ejemplo Pedido #236005 – 2026-05-26 @ 18:55 Pedido #236019 – fecha similar hay cerca de 37 pedidos desde el 22 de Mayo. No los pongo todos acá porque no lo hace mas relevante. Versión con el fix parcial El PR de la Release v8.7.19 en GitHub menciona mejoras al manejo de KVS, pero el error CPP_NT_0602004 sigue ocurriendo en v8.7.21. El fix no es completo — el plugin debería implementar un fallback que consulte la API de pagos directamente cuando el KVS falla, en lugar de abortar la sincronización. Por favor confirmar si hay un fix en progreso o una versión que resuelva esto definitivamente. Actualización: causa raíz encontrada tras investigación más profunda Después de depurar con más detalle, encontré una explicación más precisa de lo que está ocurriendo. Lo que sí llega al pedido: Los pedidos afectados SÍ tienen el meta _Mercado_Pago_Payment_IDs escrito correctamente (ej: 161143988100). Al consultar la API de MP directamente (GET /v1/payments/161143988100) con el token de producción, la respuesta es status: approved / status_detail: accredited. El pago existe y es accesible. Dónde se rompe el flujo: La notificación IPN llega → el plugin comienza a procesarla → escribe algunos metadatos en el pedido (incluyendo _Mercado_Pago_Payment_IDs) → luego intenta una consulta al KVS → el KVS responde 404 CPP_NT_0602004 → el plugin aborta antes de llamar a update_status(). El punto clave: el payment ID se escribe en el pedido antes de la llamada al KVS, pero la actualización del estado ocurre después. El fallo del KVS interrumpe el flujo exactamente en el paso que cambiaría el pedido a procesando. Esto confirma el fix que necesita el plugin: Cuando se lanza CPP_NT_0602004, el plugin debería hacer fallback a consultar GET /v1/payments/{id} directamente usando el payment ID ya guardado en los metadatos del pedido, en lugar de abortar. Los datos están disponibles vía la API de pagos — el KVS es solo una capa de caché/lookup que está fallando intermitentemente del lado de MP. Workaround temporal (automatizado): Como el payment ID siempre está presente en los metadatos del pedido, es posible implementar un WP-Cron que consulte la API de pagos de MP directamente para los pedidos atascados en pending o cancelled y los actualice automáticamente. Esto bypasea el flujo IPN roto hasta que MP corrija el problema del KVS en sus servidores. This reply was modified 1 day, 10 hours ago by tophercris . @tophercris , boa tarde! Neste caso, teremos que analisar a situação reportada com mais profundidade. Por gentileza, abrir um ticket no nosso canal oficial de suporte. Por lá, conseguimos acompanhar a investigação de ponta a ponta e te retornar com a evolução. Link para abertura: https://www.mercadopago.com.br/developers/pt/support/center Assim que recebermos o ticket, seguimos com a análise. Qualquer dúvida estamos à disposição!

Comments

2 shown
tophercris 2026-05-27T15:33:00+00:00

Actualización: causa raíz encontrada tras investigación más profunda Después de depurar con más detalle, encontré una explicación más precisa de lo que está ocurriendo. Lo que sí llega al pedido: Los pedidos afectados SÍ tienen el meta _Mercado_Pago_Payment_IDs escrito correctamente (ej: 161143988100). Al consultar la API de MP directamente (GET /v1/payments/161143988100) con el token de producción, la respuesta es status: approved / status_detail: accredited. El pago existe y es accesible. Dónde se rompe el flujo: La notificación IPN llega → el plugin comienza a procesarla → escribe algunos metadatos en el pedido (incluyendo _Mercado_Pago_Payment_IDs) → luego intenta una consulta al KVS → el KVS responde 404 CPP_NT_0602004 → el plugin aborta antes de llamar a update_status(). El punto clave: el payment ID se escribe en el pedido antes de la llamada al KVS, pero la actualización del estado ocurre después. El fallo del KVS interrumpe el flujo exactamente en el paso que cambiaría el pedido a procesando. Esto confirma el fix que necesita el plugin: Cuando se lanza CPP_NT_0602004, el plugin debería hacer fallback a consultar GET /v1/payments/{id} directamente usando el payment ID ya guardado en los metadatos del pedido, en lugar de abortar. Los datos están disponibles vía la API de pagos — el KVS es solo una capa de caché/lookup que está fallando intermitentemente del lado de MP. Workaround temporal (automatizado): Como el payment ID siempre está presente en los metadatos del pedido, es posible implementar un WP-Cron que consulte la API de pagos de MP directamente para los pedidos atascados en pending o cancelled y los actualice automáticamente. Esto bypasea el flujo IPN roto hasta que MP corrija el problema del KVS en sus servidores. This reply was modified 1 day, 10 hours ago by tophercris .

Suporte Mercado Pago 2026-05-27T18:17:00+00:00

@tophercris , boa tarde! Neste caso, teremos que analisar a situação reportada com mais profundidade. Por gentileza, abrir um ticket no nosso canal oficial de suporte. Por lá, conseguimos acompanhar a investigação de ponta a ponta e te retornar com a evolução. Link para abertura: https://www.mercadopago.com.br/developers/pt/support/center Assim que recebermos o ticket, seguimos com a análise. Qualquer dúvida estamos à disposição!