1Qué hace
Odai Openpay agrega Openpay (México) como proveedor de pago de Odoo. Con él sus clientes pagan con tarjeta de crédito o débito (Visa, Mastercard y American Express) desde:
- la tienda en línea (eCommerce),
- el portal del cliente (facturas y pedidos),
- los links de pago que usted envía desde Odoo.
El cliente captura su tarjeta en la página segura de Openpay, con 3D Secure (el banco le pide confirmar el pago por SMS o en su app). Odoo nunca recibe ni guarda datos de tarjeta.
2Antes de empezar
- Una cuenta de Openpay (México). Desde su panel obtiene el ID de comercio y la llave privada, primero las de sandbox (pruebas) y después las de producción.
- El código del paquete de Odai que le llegó por correo al comprar el módulo.
- El RFC real de la empresa en Ajustes › Empresas. Este módulo no tiene modo de prueba con RFC del SAT: la licencia siempre va a nombre del RFC real.
- Que su Odoo tenga una dirección pública con HTTPS (parámetro
web.base.url). Openpay la usa para regresar al cliente y para enviar el webhook. - Monedas: MXN y, si su cuenta de Openpay lo permite, USD.
3Instalar y activar la licencia
El zip trae dos carpetas: odai_openpay y odai_base. odai_base es la base común que necesitan todos los módulos de Odai.
- Copie las dos carpetas a la carpeta de módulos adicionales (addons) de su Odoo. Si
odai_baseya existe porque tiene otro módulo de Odai, reemplácela por la del zip. - Reinicie el servicio de Odoo.
- En Aplicaciones, toque Actualizar lista de aplicaciones, busque Odai Openpay e instálelo.
- Entre a Ajustes, baje a la sección Módulos de Odai y toque Activar código.
- Capture el contacto técnico, pegue el código del correo y toque Activar.
4Configurar Openpay
- Abra Facturación (o Sitio web) › Configuración › Proveedores de pago y entre a Openpay.
- En la pestaña Configuración capture el ID de comercio y la Llave privada (
sk_...). Las encuentra en el panel de Openpay, en Configuración › Credenciales de API. Mientras Producción esté sin marcar, use las de sandbox. - Deje marcado Usar 3D Secure. Reduce los contracargos.
- Escriba un Usuario del webhook y una Contraseña del webhook. Los inventa usted; los usará en el siguiente paso.
- Guarde y toque Publicado (arriba) para que sus clientes vean Openpay al pagar.
5Registrar el webhook
El webhook es el aviso que Openpay manda a Odoo cuando un cargo cambia de estado. Con él, el pago se registra aunque el cliente cierre la ventana antes de regresar a su sitio.
- Copie la URL del webhook que muestra el proveedor (botón de copiar a la derecha). Cada empresa tiene la suya.
- En el panel de Openpay, entre a Configuración › Webhooks y agregue esa URL, con el mismo usuario y contraseña que capturó en Odoo.
- Marque los eventos
charge.created,charge.succeeded,charge.failedycharge.cancelled. - Openpay envía un código de verificación. Odoo lo muestra en el proveedor como Código de verificación del webhook (recargue la página). Cópielo en el panel de Openpay para activar el webhook.
6Probar y pasar a producción
- Con las llaves de sandbox y Producción sin marcar, haga un pago de prueba con las tarjetas de prueba de Openpay (vienen en su documentación).
- Revise que la transacción quede Confirmada en Odoo y que el pedido o la factura queden pagados.
- Cuando todo funcione, cambie el ID de comercio y la llave privada por los de producción.
- Registre el webhook también en el panel de producción de Openpay (son paneles distintos) y copie el nuevo código de verificación.
- Marque Producción y guarde.
7Cómo paga el cliente
En el pago del pedido, la factura o el link de pago, el cliente elige Tarjeta (dice Asegurado por Openpay) y toca Pagar. Odoo lo lleva a la página de Openpay, donde captura su tarjeta y confirma con su banco. Al terminar regresa a su sitio y ve el resultado.
| Estado en Openpay | Estado en Odoo |
|---|---|
| Pendiente (el cliente no ha terminado) | Pendiente |
| Completado | Confirmado: el pedido o la factura quedan pagados |
| Cancelado | Cancelado |
| Fallido (tarjeta rechazada, sin fondos, 3D Secure no aprobado) | Error, con el motivo que da Openpay |
8Reembolsos
Puede devolver todo o parte de un pago desde Odoo. Abra la transacción confirmada (o el pago de la factura) y use Reembolsar. Odoo envía el reembolso a Openpay y crea una transacción de reembolso con el resultado.
9Si la licencia no está activa
Si la licencia no está activa (no se activó o ya venció):
- la ficha del proveedor muestra el aviso en amarillo con el motivo;
- el proveedor no se puede publicar;
- sus clientes no ven Openpay al pagar y no se crean cargos nuevos;
- los pagos ya hechos, los avisos del webhook y los reembolsos siguen funcionando, para que ningún cliente quede sin su pago registrado ni sin su devolución.
10Solución de problemas
| Qué pasa | Qué revisar |
|---|---|
| El cliente no ve Openpay al pagar | Que el proveedor esté Publicado, que la licencia esté activa (aviso en la ficha), que la moneda sea MXN o USD y que el importe esté dentro de los mínimos y máximos de la pestaña Restricciones. |
| No me deja publicar el proveedor | La licencia no está activa. Actívela en Ajustes › Módulos de Odai. |
| El pago se queda en Pendiente | Que el webhook esté registrado y activado en Openpay con la misma URL, usuario y contraseña. Revise también que web.base.url sea la dirección pública con HTTPS. |
| Error al ir a pagar: credenciales inválidas | Que el ID de comercio y la llave privada sean del mismo panel (sandbox o producción) que indica la casilla Producción. |
| No aparece el código de verificación | Que la URL del webhook sea accesible desde internet y recargue la ficha del proveedor. |
| El reembolso marca error | El motivo viene de Openpay (por ejemplo, el cargo ya se reembolsó o el importe es mayor al pagado). |