AuroraPOS · Conceptos
Cobro empujado
Un repartidor llega a la puerta del cliente con un terminal Android. El pedido lo registró el sistema del comercio, que está en la tienda o en la nube, no en la moto. ¿Cómo llega el cobro al terminal? El sistema del comercio lo empuja: crea el cobro indicando el terminal de destino, y el terminal abre solo la pantalla de pago.
Es como la comanda que la cocina imprime en el mostrador del mesero: el pedido aparece donde tiene que aparecer, sin que nadie lo dicte.
El recorrido
Sección titulada «El recorrido»sequenceDiagram participant S as Sistema del comercio participant M as FINORA Merchant participant T as Terminal (AuroraPOS) participant A as Switch Aurora S->>M: Crea la intención con el terminal de destino Note over M: Orden PENDIENTE (vence en 5 min) T->>M: ¿Hay algo para mí? (sondeo largo) M-->>T: Orden entregada T->>M: Acepto la orden Note over T: Abre la pantalla de pago T->>A: Compra con la tarjeta del cliente A-->>T: Aprobada T->>M: Resultado: aprobada Note over M: Orden COMPLETADA · intención PAGADA S->>M: Consulta la intención M-->>S: Pagada
Los estados de la orden
Sección titulada «Los estados de la orden»| Estado | Qué significa |
|---|---|
| Pendiente | El Merchant la tiene en cola para el terminal |
| Entregada | El terminal la recogió |
| Aceptada | El terminal la admitió y abrió la pantalla de pago |
| Completada | El cobro terminó y el resultado quedó registrado |
| Expirada | Nadie la atendió a tiempo (cinco minutos por defecto) |
| Cancelada | Se canceló antes de que el terminal la aceptara |
Las reglas
Sección titulada «Las reglas»- Un cobro a la vez por terminal. Si el terminal tiene una orden sin resolver, una segunda recibe
409 TERMINAL_OCUPADO. La intención queda creada y se puede despachar cuando el terminal se libere. - La entrega es atómica. Si por error dos procesos intentan entregar la misma orden, solo uno lo consigue.
- Un tiempo de espera es EN_DUDA, nunca rechazo. El terminal no vuelve a cobrar; la venta se resuelve después.
- Vencer no es rechazar. Una orden expirada no cobró nada: se puede volver a despachar.
- Entre empresas de la misma cadena: un comercio principal puede empujar cobros a los terminales de sus agencias; una agencia no puede empujarlos al principal ni a otra agencia.
- La venta se atribuye a la sucursal asignada ese día al terminal, o a su sucursal fija. Ver La jerarquía del comercio.
Por qué sondeo largo y no notificaciones push
Sección titulada «Por qué sondeo largo y no notificaciones push»Los equipos de pago suelen no tener los servicios de Google, y una infraestructura de notificaciones push es otra pieza que operar. El sondeo largo sobre HTTPS, con la credencial propia de cada equipo, funciona en cualquier red. El canal está aislado detrás de una interfaz, así que cambiarlo en el futuro no cambia las reglas.
Para practicarlo con ejemplos, sigue la lección 7 de Una venta de punta a punta. Para el repartidor, la guía es Cobrar a domicilio con el datáfono.