WooCommerce no está enviando correctamente los pedidos a Dropi solución

WooCommerce no está enviando correctamente los pedidos a Dropi solución.

WooCommerce no está enviando correctamente los pedidos a Dropi solución. Algunas integraciones solo envían pedidos a Dropi si están en un estado específico, como «Procesando» o «Completado». Si el pedido queda en «Pendiente de pago» o «En espera», podría no enviarse. Esto es típico en pedidos contra reembolso.

Caché y Plugins de Optimización:

Algunos plugins de caché (como WP Rocket, LiteSpeed, etc.) interfieren con llamadas AJAX o APIs, rompiendo la comunicación. También puede afectar si estás usando Cloudflare o similar.

El plugin de Dropi solo sincroniza pedidos que están en estado “Procesando” o superior (algo muy común en integraciones de dropshipping).

Objetivo del Script:

Modificar automáticamente el estado de los pedidos contra reembolso (COD) de “Pendiente de pago” a “Procesando” justo después de que se crean.

Código PHP para hacer eso:

Puedes agregar este código en el archivo functions.php de tu tema hijo o mediante un plugin de snippets como Code Snippets (recomendado si no quieres tocar archivos del tema):

add_action(‘woocommerce_thankyou’, ‘forzar_estado_procesando_para_cod’, 10, 1); function forzar_estado_procesando_para_cod($order_id) { if (!$order_id) return; $order = wc_get_order($order_id); if (!$order) return; // Verifica si el método de pago es «cod» (contra reembolso) if ($order->get_payment_method() === ‘cod’) { // Cambia el estado a «procesando» si está pendiente if ($order->has_status(‘pending’)) { $order->update_status(‘processing’, ‘Cambio automático para Dropi (pedido COD)’); } } } 

¿Qué hace este código?

Se ejecuta justo después de que el pedido se completa en el frontend (woocommerce_thankyou).

Verifica si el método de pago fue «cod».

Si el estado del pedido es “pending”, lo cambia automáticamente a “processing”.

Consideraciones importantes

No lo uses si tu tienda requiere verificación manual de pedidos COD. Esto lo haría automático.

Este cambio no afecta los pagos online, solo los que usan cod.

Siempre prueba en un entorno de staging o realiza un pedido de prueba antes de ponerlo en producción.

¿Qué deberías probar después de implementarlo?

Hacer un pedido contra reembolso real o de prueba.

Confirmar que el estado del pedido cambia a «Procesando» automáticamente.

Revisar en Dropi > Mis pedidos si ahora sí aparece.

Verificar los logs de WooCommerce en caso de que no se sincronice aún.

Si aún con eso no aparece el pedido en Dropi, entonces el problema podría estar en la comunicación API entre WooCommerce y Dropi, o en las llamadas bloqueadas por el servidor, y ahí sí tocaría investigar más a fondo o intervenir con cURL/webhooks.

El plugin de Dropi para WordPress (WooCommerce) generalmente solo sincroniza pedidos que están en estado «Procesando». Esto significa que:

  • Pedidos en «pendiente de pago», «fallido», o «en espera» no se sincronizan automáticamente con Dropi.
  • Solo cuando un pedido cambia al estado «Procesando» (lo que suele ocurrir tras un pago exitoso), se activa la sincronización con Dropi para su gestión.

Estados típicos en WooCommerce y su relación con Dropi:

Estado del pedido WooCommerce¿Sincroniza con Dropi?Comentario
Pendiente de pago❌ NoEl cliente no ha completado el pago.
Fallido❌ NoEl pago fue rechazado o fallido.
En espera❌ NoEl pago debe confirmarse manualmente.
Procesando✅ SíEl pedido fue pagado y se empieza a preparar.
Completado✅/❌ DependeEn general ya fue enviado, Dropi ya no lo toma.
Cancelado❌ NoPedido anulado.
Reembolsado❌ NoPedido devuelto.

⚠️ Algunos comportamientos pueden variar según la configuración específica del plugin Dropi, el método de pago, o integraciones adicionales.

Si tienes un problema con los pedidos contraentrega que no se sincronizan con Dropi, lo más probable es que estén quedando en un estado distinto al requerido por Dropi para la sincronización automática (por ejemplo, «En espera» en lugar de «Procesando»).

🎯 Objetivo:

Hacer que los pedidos contraentrega queden en estado «Procesando» automáticamente para que Dropi los sincronice sin problemas.


✅ PASO A PASO PARA CORREGIRLO.

🔧 OPCIÓN 1: Usar un plugin (más fácil).

1. Instala el plugin Code Snippets (gratis):

  • Ve a tu WordPress: Plugins > Añadir nuevo.
  • Busca: Code Snippets.
  • Instálalo y actívalo.

2. Agrega un nuevo snippet:

  • Ve a: Snippets > Añadir nuevo.
  • Título sugerido: Forzar estado "Procesando" para pedidos contraentrega.

3. Pega este código:

phpCopiarEditar add_action('woocommerce_thankyou_cod', 'forzar_estado_procesando_contraentrega');
function forzar_estado_procesando_contraentrega($order_id) {
if (!$order_id) return;

$order = wc_get_order($order_id);

// Solo si el estado actual no es 'procesando'
if ($order && $order->get_status() !== 'processing') {
$order->update_status('processing', 'Estado cambiado automáticamente para sincronización con Dropi.');
}
}

4. Guarda y activa el snippet.

Este código detecta cuando un pedido se hace con método «Contraentrega» (cod) y fuerza su estado a «Procesando», lo que permite que Dropi lo sincronice.


🔍 OPCIÓN 2: Editar manualmente el archivo functions.php (solo si sabes lo que haces).

Puedes poner el mismo código anterior al final del archivo:

Apariencia > Editor de archivos de tema > functions.php

⚠️ Precaución: un error aquí puede romper el sitio. Usa la opción 1 si no estás 100% seguro.


✅ ¿Cómo probar que funciona?.

  1. Ve a tu tienda y haz un pedido de prueba usando el método contraentrega.
  2. Finaliza el pedido.
  3. Luego ve a WooCommerce > Pedidos y verifica que el estado sea «Procesando».
  4. Dropi debería sincronizarlo automáticamente.

Ese error:

Dropi sync error: Authorization token not found

significa que el plugin de Dropi en WordPress/WooCommerce no está autenticado correctamente con la API de Dropi. En otras palabras, no tiene el token de autorización necesario para poder sincronizar los pedidos con tu cuenta Dropi.


🛠️ Cómo solucionar este error paso a paso:

✅ 1. Ir al panel de administración de Dropi.

  • Accede a tu WordPress: tusitio.com/wp-admin
  • Ve a: Dropi > Configuración o Dropi > Ajustes

✅ 2. Verificar el token de autorización.

  • Busca un campo que diga algo como “Token de API”, “Authorization Token” o “Clave API”.
  • Si está vacío o hay un token inválido → ahí está el problema.

✅ 3. Obtener el token correcto desde tu cuenta de Dropi.

Haz lo siguiente:

  1. Ve a: https://app.dropi.app e inicia sesión.
  2. Dirígete a tu perfil o configuración de la tienda.
  3. Busca la sección de Integraciones o API Token.
  4. Copia tu token de acceso (puede llamarse también «token de conexión» o «clave API»).

✅ 4. Pegar el token en WordPress.

  • Vuelve a tu WordPress en Dropi > Ajustes.
  • Pega ahí el token API que copiaste.
  • Guarda los cambios.

✅ 5. Probar la conexión.

  • Ve a Dropi > Sincronización o Pedidos.
  • Haz clic en algún botón como «Probar conexión» o «Sincronizar ahora».
  • Si todo está correcto, el error debería desaparecer.

🔁 6. (Opcional) Reintentar sincronizar pedidos.

Ve a:

  • WooCommerce > Pedidos.
  • Selecciona el pedido afectado.
  • En las acciones del pedido, intenta reenviar a Dropi (si tu plugin lo permite).

⚠️ Si el problema persiste.

Puede haber otras causas:

Posible causa:Solución:
El token fue revocado.Genera uno nuevo desde Dropi y reemplázalo.
Conflicto de plugins de seguridad.Desactiva temporalmente plugins como Wordfence, iThemes, etc., y prueba.
Firewall del hosting bloqueando la API.Contacta a tu hosting y pide que liberen conexiones hacia https://api.dropi.app.
Versión antigua del plugin Dropi.Asegúrate de tener la última versión del plugin instalado.

🔍 ¿Qué es Dropi y cómo se conecta con WooCommerce?.

Dropi es una plataforma de dropshipping que se conecta con WooCommerce a través de su plugin oficial. Cuando hay un nuevo pedido en WooCommerce, el plugin de Dropi se encarga de enviar esa información a su sistema (normalmente mediante una API).


🛑 Si los pedidos no llegan a Dropi, puede deberse a:

  1. Problemas de comunicación con la API de Dropi:
    • Tu servidor puede estar bloqueando conexiones salientes (por ejemplo, con curl o wp_remote_post) hacia los servidores de Dropi.
    • Algunos hostings tienen reglas de seguridad que bloquean peticiones HTTP externas por defecto.
  2. El cron de WordPress no está funcionando bien:
    • Dropi usa eventos programados (WP Cron) para sincronizar pedidos.
    • Si el cron no está ejecutándose bien (porque está deshabilitado o bloqueado), no se realiza el envío.
  3. El plugin de Dropi no está correctamente configurado:
    • Credenciales mal puestas (token o API key).
    • Webhooks no registrados correctamente.
  4. Conflictos con plugins de seguridad, cache o firewall (como Wordfence):
    • Estos pueden bloquear o filtrar las llamadas salientes del plugin de Dropi.

🔌 Entonces, ¿para qué sirve un plugin SMTP?.

Un plugin SMTP sirve solo para enviar correos electrónicos, como notificaciones de pedidos, cambios de estado, etc.

⚠️ No tiene nada que ver con el envío de pedidos a Dropi ni afecta el funcionamiento de las APIs.


✅ ¿Qué puedes hacer para solucionarlo?.

Aquí van unos pasos prácticos:

1. Verifica si tu servidor permite peticiones salientes:

Puedes usar este plugin para probar si tu sitio puede hacer peticiones HTTP externas:

2. Contacta a tu hosting:

Pídeles específicamente que verifiquen:

  • Que el servidor puede hacer peticiones HTTP/HTTPS salientes hacia api.dropi.io (o el dominio que use Dropi).
  • Que no haya reglas de firewall (como mod_security o CSF) bloqueando esa comunicación.

3. Verifica los logs del plugin Dropi

Algunos plugins de integración tienen logs de actividad. Verifica si puedes habilitarlo desde el plugin o buscar un log en:

swiftCopiarEditar/wp-content/plugins/dropi/l:ogs/

O dentro de WooCommerce → Estado → Logs.

4. Reinstala o actualiza el plugin Dropi

Asegúrate de tener la última versión del plugin, y prueba desinstalando y volviendo a instalar, reconfigurando los tokens/API keys correctamente.

5. Activa WP Cron (si está desactivado)

Verifica en el wp-config.php que no tengas desactivado el cron de WordPress:

phpCopiarEditardefine('DISABLE_WP_CRON', true); // ❌ Esto lo desactiva

Si está así, cambia a:

phpCopiarEditardefine('DISABLE_WP_CRON', false); // ✅ Así se activa

Si después de todo esto sigue sin funcionar…

Déjame saber:

  • ¿Qué hosting estás usando?
  • ¿Qué plugin de Dropi estás usando? ¿Nombre exacto?
  • ¿Tienes algún error específico en los logs?
  • ¿Cuál es tu versión de WooCommerce y WordPress?

👉 Si estás usando Hostinger en un plan compartido, entonces sí es muy probable que estén bloqueando conexiones salientes hacia APIs externas como Dropi, especialmente si no es un servidor optimizado para WordPress + WooCommerce + API externa.


🎯 Qué puedes hacer en Hostinger (plan compartido)

Aquí va el paso a paso realista para resolver el problema sin cambiar de hosting todavía:


✅ 1. Verifica si tu servidor puede conectarse a Dropi

Vamos a comprobar si WordPress puede hacer peticiones externas (como las que necesita Dropify para enviar pedidos a Dropi).

Paso 1: Instala el plugin Health Check & Troubleshooting

  • Ve a: Herramientas > Estado del sitio.
  • Mira si hay errores en:
    • Conexión HTTP externa.
    • Loopback request fallida.
    • WP Cron inactivo.

Si ves algo como «Tu sitio no puede hacer solicitudes salientes» → Es 100% problema del servidor (bloqueo o restricción).


✅ 2. Contacta a soporte de Hostinger

Abre un ticket o chat y pídeles que te permitan conexiones salientes hacia el dominio de la API de Dropi (probablemente algo como api.dropi.io o similar).

📋 Usa este mensaje si quieres copiar y pegar:


Hola, estoy usando WooCommerce y el plugin Dropify para conectar mi tienda con Dropi (una plataforma de dropshipping). Necesito que el servidor permita conexiones HTTP/HTTPS salientes hacia su API para que los pedidos se sincronicen correctamente.

¿Pueden confirmarme si hay alguna restricción o firewall que esté bloqueando conexiones externas desde WordPress, y si es posible habilitar el acceso para el dominio api.dropi.io (o el que sea)?

También, ¿pueden confirmar si curl y wp_remote_post() funcionan sin restricciones en mi cuenta?


Esto te lo tienen que responder en minutos. Si dicen que sí está bloqueado y no lo pueden habilitar, ya sabes que el plugin Dropify no podrá comunicarse correctamente con Dropi en ese entorno.


✅ 3. Alternativas si no te lo permiten

Si el bloqueo sigue y Hostinger no lo soluciona, tienes tres opciones:

🔄 Opción A: Migrar a un VPS o hosting administrado para WooCommerce:

  • Como: SiteGround, Kinsta, Rocket.net, o un VPS con CyberPanel, RunCloud, etc.
  • Tendrás control completo de las conexiones externas y mucho mejor rendimiento.

🔧 Opción B: Migrar dentro de Hostinger a un plan Cloud Hosting o WordPress Pro:

  • Hostinger Cloud o Business WordPress tiene menos restricciones que el compartido básico.
  • Pregúntales si esos planes permiten acceso completo a APIs externas.

🧩 Opción C: Usar una integración vía webhook manual o Zapier:

  • En vez de depender de Dropify, puedes usar una automatización con Zapier, Make o Integromat para mandar pedidos a Dropi si es compatible.
  • Esto es más técnico, pero evita limitaciones del servidor.

🔄 Mientras tanto, prueba esto también:

  • Desactiva Wordfence y Really Simple Security temporalmente para descartar bloqueos a nivel plugin.
  • Activa el modo debug en WordPress y haz un pedido falso → revisa /wp-content/debug.log por errores.
  • Si Dropify tiene un log, revísalo para ver si hay intentos fallidos de conexión.


Servicios o productos disponibles:

Categorías de la tienda:


Pagina web Cali Servicio de diseño de sitios web en Ecuador desde Colombia. Diseño de tiendas virtuales en Cúcuta

Categorías de blog:

Últimas 100 Entradas de blog de 443 publicadas:

Para ver todas las entradas ingrese al Blog en el menú principal.

Páginas de mi sitio:



Entradas relacionadas:

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *