Modelo de integración de un proveedor de medio de pago
Mo$i (Cuenta Crezcamos) y Bre-B se tratan como un tercero más que se integra al checkout: la pasarela solo inicia el pago y entrega al pagador a la app del proveedor; el proveedor procesa el pago, da el feedback al pagador en su propia app y confirma el resultado a la pasarela por webhook.
Qué hace la pasarela
- Inicia el pago cuando el pagador elige el medio: arma un enlace para la app del proveedor a partir de una plantilla configurable con los parámetros
{amount},{reference},{token}y{merchant}(codificados como formulario: espacios como+).- Cuenta Crezcamos:
mosi://transfer?amount=…&reference=…&token=…&merchant=…. - Bre-B:
breb://pay?amount=…&reference=…&token=…&merchant=…y un QR con el mismo contenido. - Estas plantillas son valores de ejemplo; el esquema real lo acuerda cada proveedor con Crezcamos.
- Cuenta Crezcamos:
- No espera ningún retorno del navegador. No hay página de retorno ni de respuesta para estos medios: el control lo tiene la app del proveedor.
- Recibe la confirmación por el webhook de confirmación, crea o actualiza el pago y mueve el estado del link.
- Notifica al comercio con un webhook de pago estándar.
- Actualiza la página de pago abierta: tras iniciar el medio, la página consulta el estado del link cada 5 s; cuando llega un resultado reemplaza el QR o el botón por "Pago recibido", "El pago no se completó" o "Este link ya no está disponible".
Qué debe hacer el proveedor
| Obligación | Detalle |
|---|---|
| Procesar el pago y mostrarlo al pagador | La pasarela no muestra nada más. |
| Confirmar el resultado a la pasarela | POST al webhook de confirmación, siempre con el token del link. |
Reintentar hasta recibir 2xx o un error definitivo | Entrega al menos una vez; la pasarela deduplica por event_id. |
| No confirmar un monto distinto al del link | La pasarela lo rechaza con 422. |
| Enviar todos los resultados terminales | Aprobado, rechazado, y si aplica reembolso o contracargo. Un pago que nunca se confirma queda pendiente (decisión abierta). |
Estado de la integración real
Hoy el inicio del pago es una simulación local (enlace de plantilla, QR de demostración) y la pasarela no crea el pago hasta recibir el primer evento. Los puntos pendientes con cada proveedor están en decisiones abiertas.