FINORA Merchant · Concepts
El cobro a domicilio de punta a punta
This content is not available in your language yet.
Objetivo
Sección titulada «Objetivo»Al terminar sabrás quién participa en un cobro a domicilio, por qué camino viaja cada dato y en qué punto se protege al cliente para que nunca pague dos veces.
Los actores
Sección titulada «Los actores»| Actor | Qué hace |
|---|---|
| Cliente | Paga con su tarjeta bancaria (chip o sin contacto) o con su Tarjeta FINORA |
| Motorizado | Lleva el pedido y el teléfono (o el datáfono) con el que se cobra |
| App de reparto + SDK | Sabe el pedido, el monto y la tienda de origen; pide el cobro |
| FINORA Pago | La app de cobro de FINORA en el mismo teléfono: verifica a tu app, lee la tarjeta, pide clave y firma, emite el recibo |
| Lector Bluetooth | Lee la tarjeta y cifra sus datos y la clave antes de que salgan del lector |
| Servidor de la empresa de reparto | Sus pedidos y su conciliación; en el cobro en la nube, crea las ventas |
| Merchant FINORA | Recibe la orden, valida integrador y sucursal, garantiza la idempotencia y arma el mensaje de autorización |
| Switch y autorizador | Enrutan la autorización al emisor de la tarjeta (hoy, contra un banco simulado) |
| Portal del comercio | Muestra cada venta en vivo en el Monitor de transacciones, con la sucursal del pedido, su línea de tiempo y su firma |
Los dos caminos
Sección titulada «Los dos caminos»Camino A · app a app (SDK), todo en el teléfono del motorizado:
flowchart LR
APP["App de reparto"] -- "1 · cobrar" --> PAGO["FINORA Pago"]
PAGO <-- "2 · Bluetooth" --> LEC["Lector"]
PAGO <-- "3-4 · orden y transacción cifrada" --> M["Merchant FINORA"]
M <-- "5-7 · autorización" --> E["Switch y emisor"]
PAGO -- "8 · resultado" --> APP
Camino B · cobro en la nube (API), desde el servidor de la empresa:
flowchart LR
SRV["Servidor de la empresa"] -- "B1 · crear venta y enviarla" --> M["Merchant FINORA"]
M -- "B2 · orden" --> DAT["Datáfono asignado"]
DAT -- "veredicto" --> M
M -- "B3 · webhook firmado" --> SRV
| Camino A: SDK app a app | Camino B: cobro en la nube | |
|---|---|---|
| Quién pide el cobro | Tu app, en el teléfono del motorizado | Tu servidor, por la API de pagos |
| Dónde se cobra | En ese mismo teléfono, con su lector | En el datáfono que elijas |
| Cómo llega el resultado | Directo a tu app, al terminar | Webhook firmado o consulta por API |
| Credencial | La firma de tu app (no hay clave en el teléfono) | La clave de API del comercio, solo en tu servidor |
| Úsalo cuando | El motorizado ya usa tu app en su teléfono | El cobro lo decide el despacho, no el motorizado |
Los ocho pasos del camino A
Sección titulada «Los ocho pasos del camino A»- Tu app pide el cobro a FINORA Pago con monto,
referenciaExterna(tu pedido) y sucursal de origen. FINORA Pago comprueba tu paquete y la huella de tu certificado contra la lista de integradores del comercio. - FINORA Pago despierta el lector por Bluetooth (o lo encuentra ya listo, ver lección 8) y el cliente acerca o inserta su tarjeta. El lector cifra tarjeta y clave: el teléfono nunca ve el número de la tarjeta.
- FINORA Pago crea la orden en el Merchant con tu referencia, la sucursal, tu identidad de integrador y el medio. El Merchant vuelve a verificar al integrador y la sucursal, y devuelve el total de la orden.
- FINORA Pago envía la transacción cifrada al Merchant por HTTPS.
- El Merchant arma la autorización y la entrega al switch.
- El switch enruta al emisor de la tarjeta (bancaria) o al emisor de la Tarjeta FINORA.
- El veredicto vuelve por el mismo camino. Si no vuelve, sale un reverso automático: nadie paga dos veces.
- El cliente firma si hace falta, FINORA Pago muestra el recibo y devuelve el resultado a tu app. Al mismo tiempo el portal del comercio muestra la venta en vivo y, si te suscribiste, tu servidor recibe el webhook.
Las tres barreras contra el doble cobro
Sección titulada «Las tres barreras contra el doble cobro»- Tu referencia es la clave de idempotencia. Repetir el cobro con la misma
referenciaExternanunca crea una segunda orden: FINORA Pago te repite el resultado que conoce, sin volver a leer la tarjeta. - El servidor también la recuerda. Aunque el teléfono pierda su registro, el Merchant devuelve la misma orden.
EN_DUDAno es un rechazo. Si la respuesta del emisor no llegó, el cobro queda en duda y se resuelve consultando, nunca cobrando otra vez (lección 6).
Ejemplo
Sección titulada «Ejemplo»Pedido PED-1001 de 125,00 Bs que sale de la tienda CENTRO:
| Momento | Dato |
|---|---|
| Tu app pide | montoCentavos = 12500, referenciaExterna = PED-1001, sucursalCodigo = CENTRO |
| El Merchant crea | Orden FNR… (la referenciaFinora) atribuida a CENTRO |
| El emisor responde | 00, autorización y RRN |
| Tu app recibe | APROBADA, últimos 4, marca, referenciaFinora, sucursalCodigo = CENTRO |
| El Monitor de transacciones muestra | La venta en CENTRO, con su línea de tiempo y la firma (si tienes el permiso) |
Verificación
Sección titulada «Verificación»Responde sin mirar:
- ¿Qué dato de la tarjeta recibe tu app? Solo los últimos 4 dígitos y la marca.
- ¿Quién decide a qué tienda va la venta en el camino A? Tu app, con la sucursal que declara; el servidor la valida.
- ¿Qué haces si recibes
EN_DUDA? No cobras otra vez: repites con la misma referencia o consultas. - ¿Dónde vive la clave de API en el camino B? Solo en tu servidor, nunca en la app.
Siguiente: Lección 2 · Integra el SDK en una app Android en 10 minutos