El flujo completo
1
Muestra el menú
GET /menu?location_id=... te entrega categorías, productos,
modificadores, precios y disponibilidad por stock. Renderiza tu carta con
eso; los id de productos y opciones son los que usarás al crear el
pedido.2
Cotiza el envío (solo delivery)
Cuando el cliente ingresa su dirección, llama a
POST /delivery/quote con la dirección (idealmente con lat/lng de Google
Maps). Te devuelve fee — lo que debe pagar el cliente — con las mismas
reglas de reparto del restaurante (reparto propio, Uber o PedidosYa, con
subsidios incluidos). Si available es false, ofrece retiro.3
Crea el pedido con pago online
POST /orders con payment: "online", el shipping_fee de la
cotización y tu return_url. La respuesta trae
payment_link.payment_url: redirige ahí al cliente para que pague
(transferencia o tarjeta vía Fintoc, a nombre del restaurante).4
El cliente paga y vuelve a tu página
Al confirmarse el pago, el pedido pasa automáticamente a la cocina
(KDS) del restaurante y el cliente vuelve a tu
return_url con
?order_id=...&payment=success. Un pedido que no se paga se cancela solo
y repone su stock.5
El restaurante opera desde su panel
Desde ahí el pedido sigue el flujo normal: la cocina lo acepta, lo
prepara y despacha el reparto desde el dashboard de FoodDelivery. Puedes
seguir el estado con
GET /orders/{order_id}.Ejemplo: pedido delivery pagado online
cURL
Respuesta (201)
payment_link.payment_url. Cuando vuelva a tu
return_url, consulta GET /orders/{order_id} para confirmar: si el pago se
acreditó verás status: "recibido" y payment.paid: true.
Si prefieres cobrar tú
Usapayment: "external" (el default): el pedido entra de inmediato a la
cocina como pago gestionado fuera de la plataforma, y el cobro corre por tu
cuenta.