Recurrente Direct conecta Odoo 18 con el checkout de Recurrente para cobrar con tarjeta en quetzales o dólares. Instala el módulo en Odoo, configura la clave secreta y el webhook del mismo ambiente y prueba en Sandbox antes de activar cobros reales.
Esta guía corresponde a Payment Provider: Recurrente Direct, mantenido por Recurrente. Si instalaste el módulo de TipiCode, utiliza su guía de instalación: las credenciales y la ruta del webhook son diferentes.
En Recurrente, abre Configuración → Integraciones → Odoo 18 para consultar esta guía, acceder a tus llaves API o solicitar instalación asistida con costo. Si ya usas el módulo de TipiCode, su guía está separada al final de esa pantalla; conserva su configuración.
Antes de empezar
- Necesitas Odoo 18.0 y acceso técnico para instalar módulos y administrar proveedores de pago. La validación cubre Community y un entorno de pruebas de Odoo.sh Enterprise 18; no acredita otras versiones ni Odoo Online.
- Ten el paquete
payment_recurrente_directentregado por el equipo técnico. Esta guía no ofrece un enlace público de descarga ni implica que el módulo esté publicado en Odoo Apps. Si no tienes el paquete, contacta a soporte antes de configurar el proveedor. - Tu Odoo necesita una dirección pública HTTPS que dirija a la base de datos correcta. En Odoo.sh, incorpora el módulo al repositorio del proyecto; en infraestructura propia, tu administrador debe configurar la ruta de módulos y la selección de base de datos.
- Crea un Sandbox de Recurrente para probar. Para producción necesitarás las credenciales de tu cuenta LIVE; no reutilices tarjetas ni claves de prueba.
- Las comisiones y condiciones de tu cuenta, la licencia de Odoo y el alojamiento deben revisarse por separado. Esta guía no cotiza esos servicios. Si necesitas ayuda técnica, puedes solicitar implementación asistida.
Instala y configura el proveedor
- Instala el módulo. Tu administrador debe copiar la carpeta
payment_recurrente_directa la ruta de módulos de Odoo o al repositorio de Odoo.sh, actualizar la lista de aplicaciones e instalar Payment Provider: Recurrente Direct. - Abre el proveedor Recurrente. En la configuración de proveedores de pago de Odoo, abre su registro con permisos de administrador del sistema. Verifica en modo desarrollador que el código sea
recurrente_directpara distinguirlo del módulo de TipiCode. - Registra el webhook en Recurrente. Copia el campo URL del webhook del proveedor guardado. Verifica que tenga el dominio público HTTPS de tu Odoo; si muestra otro dominio, pide a tu administrador que revise
web.base.url. Registra el endpoint en el mismo Sandbox que vas a usar para cobrar. - Configura las dos credenciales y el estado juntos. En Clave secreta de API, coloca la clave secreta del Sandbox, que comienza con
sk_test_. En Secreto del webhook, coloca el secreto del webhook de ese endpoint, que comienza conwhsec_. Selecciona Modo de prueba. Este módulo no necesita una clave pública. - Publica el proveedor en tu instalación aislada de pruebas. Comprueba que aparezca entre los métodos de pago disponibles en el flujo de Odoo que vas a usar. Si no aparece, revisa su publicación, la moneda y las restricciones del proveedor. Odoo permite mostrar proveedores en modo de prueba a compradores; no publiques uno en la tienda que recibe pagos reales.
La captura muestra un proveedor de demostración en modo de prueba, con ambas credenciales ocultas. El dominio odoo.ejemplo.com es ficticio: utiliza la URL pública HTTPS de tu propia instalación.

Las claves están restringidas a administradores de Odoo, pero el módulo no las cifra por su cuenta. Protege la base de datos y sus respaldos. No compartas esas claves, el secreto del webhook ni datos completos de tarjetas por correo, capturas o tickets.
Comprueba un pago antes de activar LIVE
- Abre un pago de prueba desde Odoo con importe, moneda y comprador ficticios. El comprador será dirigido al checkout alojado de Recurrente.
- Completa el pago con una tarjeta de prueba de tu Sandbox. Al volver, espera la confirmación en Odoo: regresar a la página por sí solo no confirma el cobro.
- Revisa que Recurrente registre el pago exitoso y que Odoo confirme la transacción con la misma referencia, importe y moneda. Si hay factura, revisa también su estado y saldo pendiente.
- Prueba un rechazo y un pago abandonado. Ninguno debe aparecer como pagado por el solo regreso del navegador.
Si Recurrente muestra un pago exitoso pero Odoo sigue pendiente, revisa la URL del webhook, su ambiente, el secreto del webhook y la recepción de la notificación. No crees otro cobro hasta comprobar el resultado del primero.
Para activar cobros reales, selecciona Activado con una clave sk_live_ y el secreto del webhook de tu cuenta LIVE. Comprueba el alojamiento definitivo y realiza un piloto autorizado. Si quedan pagos pendientes en otro ambiente o en TipiCode, conserva su proveedor y sus credenciales para que puedan confirmarse; configura el nuevo por separado.
Tarjetas guardadas y renovaciones
Odoo administra los planes, fechas, facturas, reintentos y cancelaciones. Recurrente cobra cada importe que Odoo solicita; este módulo no crea un segundo calendario de suscripciones en Recurrente.
- Activa Permitir guardar métodos de pago en la pestaña Configuración del proveedor. Tu cuenta Recurrente debe permitir los cobros directos por API.
- El comprador debe autorizar guardar la tarjeta y sus cobros posteriores. El guardado requiere un primer pago exitoso; no se admite guardar una tarjeta sin cobrar ni dar de alta una tarjeta con un pago de importe cero.
- Usa el método guardado del mismo comprador y ambiente para su suscripción. En la validación de Enterprise, el comprador también necesitó tener configurado su país para el cobro automático.
- Configura en Odoo la contabilidad, la facturación recurrente y el postprocesamiento de pagos que necesite tu operación. Revisa factura y saldo después de la renovación; una transacción confirmada y una factura conciliada son pasos distintos.
- Un rechazo confirmado en una renovación deja la transacción en error. En el flujo Enterprise probado, Odoo eliminó el borrador de factura del intento fallido y conservó la fecha pendiente para reintentar. El reintento exitoso generó una sola factura pagada.
- Archivar la tarjeta o desactivar el proveedor impide nuevos cobros. Si reactivas la tarjeta, comprueba que siga asociada a la suscripción: reactivarla no la vuelve a asociar automáticamente.

Cancela la suscripción en Odoo para detener sus renovaciones futuras. Cancelar una transacción local o cerrar la página no invalida un checkout de Recurrente ya creado: si ese enlace se paga después, el cobro verificado puede confirmarse en Odoo.
Si un cobro falla o no sabes si se completó
- Tarjeta rechazada en el checkout: pide al comprador revisar los datos y utilizar otra tarjeta. Comprueba el resultado antes de iniciar un cobro nuevo.
- Renovación rechazada: revisa la transacción en Odoo y el intento en Recurrente. Corrige o cambia el método autorizado y usa el flujo de reintento de Odoo.
- Timeout o error de comunicación: revisa primero Recurrente por referencia. Crear una transacción nueva representa un intento nuevo y puede generar otro cobro. No repitas a ciegas una operación cuyo resultado sea incierto.
- Pago pendiente en Odoo: comprueba el webhook y su firma. Conserva las credenciales del ambiente original mientras haya pagos pendientes.
Límites de esta integración
El módulo admite tarjetas en GTQ y USD. No implementa cuotas, reembolsos desde Odoo, POS ni conciliación bancaria. No migra automáticamente tarjetas o pagos de TipiCode y no acredita compatibilidad con otras versiones de Odoo.
La prueba en Odoo.sh se hizo en Development, un entorno temporal. No uses esa validación como respaldo de disponibilidad permanente, entrega de correos o configuración productiva de tu negocio.
Si necesitas ayuda
Comparte con soporte tu versión de Odoo, alojamiento, nombre del proveedor, ambiente, referencia de la transacción, importe, moneda y el mensaje de error. Incluye una captura sin claves ni datos completos de tarjeta. No envíes CVV ni contraseñas.
Contacta a soporte por correo [email protected] o por WhatsApp +1 (918) 309-2130.