Conceptos (Merchant)
El modelo Merchant gira en torno a un terminal físico que opera de forma autónoma y segura. Cuatro ideas lo resumen.
1. Dos modelos de confianza
- Merchant / Admin (backend, ERP, dashboards) → se autentica con JWT (Bearer).
- Terminal / POS (el hardware) → se autentica con HMAC (POS Signature) usando una secret key persistente.
Así, comprometer un dispositivo no compromete la cuenta del comercio, y viceversa.
2. Pairing (vinculación) — una sola vez
El terminal se "presenta" al servidor una única vez en su vida:
- El admin (con su Bearer) solicita vincular un serial y genera un OTP.
- El técnico ingresa el OTP en el POS; el dispositivo lo canjea.
- El servidor genera una Secret Key y la guarda asociada al serial; el POS la guarda en su memoria segura.
A partir de ahí, la Secret Key nunca vuelve a viajar por internet. → Comunicación con punto de venta.
3. Operación firmada (HMAC)
Ya vinculado, cada petición del POS se firma con HMAC-SHA256 sobre body + timestamp + url y la Secret Key. Esto da integridad (si cambian el monto o la URL, la firma falla) y protección contra replay (por el timestamp).
4. Pago a dos tiempos y cierre de lote
- El POS consulta transacciones pendientes y confirma el pago (
commit) — un flujo de dos tiempos con confirmación. - También confirma anulaciones.
- Al final de la jornada, envía un cierre de lote (settlement) para conciliar las operaciones del día.