Skip to content
FINORA Academy
SistemaFINORA Merchant

FINORA Merchant · Concepts

El cobro a domicilio de punta a punta

PilotVerifiedBeginner12 min

This content is not available in your language yet.

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.

ActorQué hace
ClientePaga con su tarjeta bancaria (chip o sin contacto) o con su Tarjeta FINORA
MotorizadoLleva el pedido y el teléfono (o el datáfono) con el que se cobra
App de reparto + SDKSabe el pedido, el monto y la tienda de origen; pide el cobro
FINORA PagoLa 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 BluetoothLee la tarjeta y cifra sus datos y la clave antes de que salgan del lector
Servidor de la empresa de repartoSus pedidos y su conciliación; en el cobro en la nube, crea las ventas
Merchant FINORARecibe la orden, valida integrador y sucursal, garantiza la idempotencia y arma el mensaje de autorización
Switch y autorizadorEnrutan la autorización al emisor de la tarjeta (hoy, contra un banco simulado)
Portal del comercioMuestra cada venta en vivo en el Monitor de transacciones, con la sucursal del pedido, su línea de tiempo y su firma

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 appCamino B: cobro en la nube
Quién pide el cobroTu app, en el teléfono del motorizadoTu servidor, por la API de pagos
Dónde se cobraEn ese mismo teléfono, con su lectorEn el datáfono que elijas
Cómo llega el resultadoDirecto a tu app, al terminarWebhook firmado o consulta por API
CredencialLa firma de tu app (no hay clave en el teléfono)La clave de API del comercio, solo en tu servidor
Úsalo cuandoEl motorizado ya usa tu app en su teléfonoEl cobro lo decide el despacho, no el motorizado
  1. 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.
  2. 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.
  3. 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.
  4. FINORA Pago envía la transacción cifrada al Merchant por HTTPS.
  5. El Merchant arma la autorización y la entrega al switch.
  6. El switch enruta al emisor de la tarjeta (bancaria) o al emisor de la Tarjeta FINORA.
  7. El veredicto vuelve por el mismo camino. Si no vuelve, sale un reverso automático: nadie paga dos veces.
  8. 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.
  1. Tu referencia es la clave de idempotencia. Repetir el cobro con la misma referenciaExterna nunca crea una segunda orden: FINORA Pago te repite el resultado que conoce, sin volver a leer la tarjeta.
  2. El servidor también la recuerda. Aunque el teléfono pierda su registro, el Merchant devuelve la misma orden.
  3. EN_DUDA no 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).

Pedido PED-1001 de 125,00 Bs que sale de la tienda CENTRO:

MomentoDato
Tu app pidemontoCentavos = 12500, referenciaExterna = PED-1001, sucursalCodigo = CENTRO
El Merchant creaOrden FNR… (la referenciaFinora) atribuida a CENTRO
El emisor responde00, autorización y RRN
Tu app recibeAPROBADA, últimos 4, marca, referenciaFinora, sucursalCodigo = CENTRO
El Monitor de transacciones muestraLa venta en CENTRO, con su línea de tiempo y la firma (si tienes el permiso)

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