Skip to main content
Todo valor monetario en la Developer API es un entero en las unidades menores de la moneda: centavos en el caso de USD. No hay decimales ni importes de punto flotante en ninguna parte de la API.
Esto es deliberado: representar el dinero con enteros evita los errores de redondeo de la aritmética de punto flotante, de modo que el total que usted lee es exactamente el total que se cobró al cliente.

En los pedidos

En el recurso de pedido, todos los importes son enteros en centavos de USD, y totals.currency indica la moneda:
Los artículos del pedido siguen la misma regla: base_price (por unidad, antes de modificadores), tax y el cambio de price de cada modificador son todos centavos enteros.
Maple calcula los totales y son los oficiales. total es igual a subtotal + tax + surcharge + tip + delivery fees. Usted nunca recalcula un precio visible para el cliente: lo lee. Consulte Cómo funciona Maple.

En los menús

Cuando publica un menú, los precios son un objeto amount que une el entero con su moneda:
amountMinor es el entero en la unidad más pequeña de la moneda, y currency es el código ISO‑4217 en mayúsculas (USD). Para USD son centavos: envíe centavos enteros y listo.
El soporte multimoneda está en construcción. Hoy la Developer API opera solo en USD: publique los menús en USD y los totales de los pedidos se devuelven en USD. El modelo del menú ya acepta importes que no son USD y perfiles por moneda (la colección currencies del menú, con dígitos de unidad menor y redondeo por moneda), pero la aplicación de precios multimoneda en el flujo de pedidos llegará pronto. Por ahora, desarrolle para USD.
Como referencia, los dígitos de la unidad menor varían según la moneda; el modelo está preparado para manejarlo cuando llegue el soporte multimoneda:

Redondeo

Como todos los importes son enteros, no hay redondeo en tránsito: el número que usted lee es exacto. El redondeo solo ocurre cuando Maple deriva un importe nuevo, como un descuento porcentual o una línea de impuesto. El valor predeterminado es el redondeo bancario (redondear la mitad al par), que evita el sesgo hacia arriba de redondear siempre .5 hacia arriba. Puede cambiarlo por moneda mediante el modo de redondeo del perfil de la moneda, pero el redondeo al par es el valor predeterminado: asúmalo cuando concilie los totales de su lado.

Formato para mostrar

Para mostrar un importe, divídalo entre 10 elevado a los dígitos de unidad menor de la moneda:
No fije la división entre 100 en el código si maneja monedas con otro exponente: obténgalo de la moneda.