Skip to Content

वेनेजुएला: पीओएस मर्केंटिल सी2पी और वुएल्टो डिजिटल

US$ 1,500.00 US$ 1,500.00
5,400,000.00

Terms and Conditions
30-day money-back guarantee
Shipping: 2-3 Business Days

¿Listo para implementarlo en tu Odoo?

Agenda una demo o habla con un consultor y resuelve tus dudas antes de comprar. Instalación, configuración y soporte incluidos.

Icono POS Mercantil C2P

Venezuela: POS Mercantil C2P y Vuelto Digital — Odoo 19

Pago Móvil C2P y Vuelto Digital del Banco Mercantil integrados al Punto de Venta

Odoo 19 Punto de Venta Pago Móvil Venezuela Banco Mercantil Vuelto Digital

Descripción


El módulo POS Mercantil C2P para Odoo 19 conecta el Punto de Venta directamente con el API Tpago C2P y Vuelto Digital del Banco Mercantil de Venezuela, permitiendo cobrar al cliente vía Pago Móvil interbancario y devolver el vuelto digital sin salir del POS.

El cajero captura los datos del cliente (cédula, banco, teléfono y OTP) en un popup OWL nativo de 5 pasos. Las llamadas al banco viajan a través de un controlador backend de Odoo que aplica el cifrado obligatorio AES/ECB/PKCS5Padding con clave derivada de SHA-256 sobre los campos sensibles (cédula, teléfonos, OTP) antes de enviarlos al endpoint apimbu.mercantilbanco.com.

Soporta cobro C2P (compra) con OTP del banco emisor del cliente, y Vuelto Digital P2P hacia cualquier banco venezolano afiliado al sistema Pago Móvil interbancario, con auditoría completa en pos.payment y pos.order.
Cumple con el contrato oficial de seguridad del API Mercantil: cifrado AES-ECB-SHA256 sólo en backend, transporte HTTPS estricto y X-IBM-Client-Id como header de autenticación.

Funcionalidades por bloque


Cobro C2P (Compra)
  • Cobro al cliente vía Pago Móvil interbancario
  • Captura de teléfono, banco y cédula del pagador
  • OTP solicitado al banco emisor (Tpago para Mercantil)
  • Persistencia de referencia y trace en pos.payment
  • Manejo de 17 códigos de error oficiales en español
Vuelto Digital (P2P)
  • Cálculo automático del vuelto al recibir más del cobrado
  • Envío vía Pago Móvil al teléfono del cliente
  • Receptor pre-cargado con datos del paso 1
  • Editable si el receptor es distinto al pagador
  • Referencia separada del cobro para conciliación
29 Bancos Venezolanos
  • Lista oficial completa del sistema Pago Móvil
  • बीडीवी, मर्केंटिल, प्रांतीय, बेनेस्को, बीएनसी, टेसोरो...
  • Selector con código + nombre del banco
  • Instrucciones OTP específicas por banco
  • SMS / app del banco / Tpago según el emisor
Cifrado y Seguridad
  • SHA-256 के साथ AES/ECB/PKCS5पैडिंग (16 बाइट्स)
  • Cifrado siempre en backend, nunca en JS
  • Secret Key restringido a base.group_system
  • Logs sin datos sensibles (cédula, OTP, teléfono)
  • TLS estricto (verify=True) hacia el banco
Certificación & Producción
  • Endpoint de certificación configurable por método
  • Endpoint de producción precargado
  • Botón 🔌 Probar Conexión con verificación SSL
  • Cambio modo sin reinicio del servidor
  • Timeout configurable (default 30 s)
Popup OWL2 — 5 pasos
  • Indicador visual de avance del flujo
  • Validación de teléfono (11 dígitos, formato 04XX)
  • Validación de cédula/RIF (V/E/J + número)
  • Pre-carga de datos del partner del ticket
  • Reintentos guiados desde la pantalla de error

Interfaz y experiencia de usuario


El cajero ve el método de pago "Pago Móvil C2P (Mercantil)" en la pantalla de pago del POS. Al seleccionarlo se abre un popup de 5 pasos guiados que precarga los datos del cliente cuando hay un partner asignado al ticket. Una vez confirmado el cobro, el indicador de procesamiento se mantiene hasta que el banco responde, y todas las referencias quedan asociadas al pago para conciliación posterior.

Configuración del método de pago

Configuración de credenciales Mercantil C2P en pos.payment.method

Flujo completo en el POS

Pantalla de pago del POS con Pago Móvil C2P (Mercantil)
0. Pantalla de pago del POS — método "Pago Móvil C2P (Mercantil)"
Paso 1 — datos del cliente
1. Captura de datos: teléfono, banco emisor, cédula/RIF
Paso 2 — OTP
2. OTP — teléfono enmascarado e instrucciones por banco
Paso 3 — pago aprobado y cálculo de vuelto
3. Pago aprobado — referencia, trace y cálculo automático del vuelto
Paso 4 — datos del receptor del vuelto
4. Vuelto Digital — receptor pre-cargado con los datos del cliente
Paso 5 — pantalla final con ambas referencias
5. Cierre — referencias del cobro y del vuelto entregadas

Flujo de Trabajo


Configuración inicial
  1. Regístrese en apiportal.mercantilbanco.com y suscriba el plan "Botón de Pagos Móviles (C2P) y Vuelto".
  2. Al recibir el correo de Mercantil con X-IBM-Client-Id, Secret Key, MerchantId y endpoint de certificación, vaya a Punto de Venta → Configuración → Métodos de Pago.
  3. Edite el método "Pago Móvil C2P (Mercantil)" y cargue las credenciales en la pestaña Mercantil C2P.
  4. Seleccione el modo Certificación para pruebas y verifique conectividad con el botón 🔌 Probar Conexión.
  5. Asocie el método de pago al POS desde la configuración de la tienda.
Cobro C2P en el POS
  1. El cajero arma el ticket y selecciona "Pago Móvil C2P (Mercantil)" en la pantalla de pago.
  2. El popup captura teléfono, banco emisor y cédula/RIF del cliente (paso 1).
  3. Al solicitar el OTP, el sistema decide si lo envía vía Tpago (clientes Mercantil) o muestra instrucciones específicas (otros bancos).
  4. El cliente entrega el OTP al cajero, quien lo introduce y confirma el cobro (paso 2).
  5. El backend cifra los datos sensibles, llama al API Mercantil y muestra la respuesta (paso 3).
Entrega de vuelto digital
  1. Si el cliente pagó más del monto cobrado, el popup calcula el vuelto y ofrece enviarlo vía Pago Móvil.
  2. El receptor se pre-carga con los datos del cliente; el cajero puede cambiarlos si el destino es diferente.
  3. Al confirmar, el banco genera la transacción P2P y devuelve la referencia del vuelto.
  4. La pantalla final muestra ambas referencias (cobro + vuelto) para imprimir o entregar al cliente.

Detalles Técnicos


  • Hereda pos.payment.method, pos.payment y pos.order.
  • Implementa una PaymentInterface personalizada (PaymentMercantilC2P) en el POS, con popup OWL2 nativo de 5 pasos.
  • Endpoint oficial: POST https://apimbu.mercantilbanco.com/mercantil-banco/prod/v1/payment/c2p.
  • Cifrado obligatorio AES/ECB/PKCS5Padding con clave derivada de SHA-256 (primeros 16 bytes) sobre los campos sensibles, codificación Base64/UTF-8.
  • Header de autenticación X-IBM-Client-Id y JSON con merchant_identify, client_identify y transaction_c2p.
  • Endpoints internos JSON-RPC: /web/pos/mercantil/c2p/{pay,vuelto,request_otp,banks,search}.
  • Compatible con Odoo Enterprise y Community Edition.
  • Depende de: point_of_sale, base_setup y el paquete Python pycryptodome.
Nota: antes de pasar a producción, certifique al menos una transacción exitosa contra el endpoint de certificación que Mercantil le suministre por correo. Sólo entonces el banco habilitará el ClientID de producción.
Importante: el campo Secret Key debe permanecer secreto. El módulo lo restringe al grupo base.group_system y nunca se imprime en logs. Si sospecha exposición, solicite a Mercantil rotar la clave inmediatamente.

Bancos venezolanos soportados


El módulo soporta los 29 bancos venezolanos afiliados al sistema Pago Móvil interbancario: Banco de Venezuela (BDV), Venezolano de Crédito (BVC), Banco Mercantil, Banco Provincial (BBVA), Bancaribe, Banco Exterior, BOD, Banco Caroní, Banesco, Sofitasa, Banco Plaza, Bancorp, BFC Banco Fondo Común, 100% Banco, DelSur, Banco del Tesoro, BAV, Bancrecer, Mi Banco, Activo, Bancamiga, BANID, Banplus, Bicentenario, Nuevo Mundo, Banatlantico, BNC e INSOFIN.

Requisitos


Módulos Odoo
  • Punto de Venta (point_of_sale)
  • Configuración Inicial (base_setup)
Paquete Python
  • pycryptodome (cifrado AES)
Configuración previa
  • Cuenta jurídica en Banco Mercantil
  • Afiliación al servicio C2P (genera el merchantId)
  • Registro como desarrollador en el portal API Mercantil
  • Plan "Botón de Pagos Móviles (C2P) y Vuelto" activado
  • Certificado SSL válido en el servidor Odoo

Contáctanos


Obtendrás asistencia gratuita durante 60 días por cualquier error o problema.

Para consultas o soporte: [email protected]