Skip to main content
Los importes se representan como un string decimal, no como un número. Cada importe va acompañado de currencyCode, el código de moneda en formato ISO 4217.

Por qué string

Un string decimal evita los errores de redondeo de los números de punto flotante. Parsea el valor con una librería de decimales, no con float.
La escala no está normalizada: el mismo importe puede llegar como "12", "12.0" o "12.00". No compares importes como texto ni asumas una cantidad fija de decimales. Conviértelos a decimal antes de comparar u operar.

Campos de monto

En el pedido: subtotal, taxTotal, total, shippingTotal, discountTotal, amountPaid. La identidad que siempre se cumple es:
  • subtotal es la base neta de todo (productos + envío), después de descuentos. Equivale a total − taxTotal.
  • taxTotal es el total de impuestos del pedido.
  • total es el monto pagado.
shippingTotal y discountTotal son informativos: reflejan el costo de envío y el descuento tal como los vio el comprador, y ya están incluidos en subtotal/total. No los sumes para reconstruir el total — la única identidad es subtotal + taxTotal = total.
shippingTotal es el costo de envío tal como lo vio el comprador (con o sin impuesto, según cómo tu tienda muestre los precios). discountTotal es el descuento de productos y de pedido tal como lo vio el comprador. Los descuentos de envío no van aquí: se reflejan como un shippingTotal menor y aparecen en promotions. promotions lista las promociones aplicadas: id, code, title, class (GOODS / ORDER / SHIPPING) y amount. El id es la clave con la que cada línea referencia la promoción. En cada línea: price, listPrice, discountTotal, discountAllocations, subtotal, taxTotal, total. En cada línea se cumple subtotal + taxTotal = total. price es el precio unitario cobrado, antes de promociones. listPrice es el precio de lista de la variante al momento del pedido. Es null cuando la variante no tiene precio de lista. discountTotal es el descuento por promociones de la línea (la diferencia entre listPrice y price es una negociación aparte, no va aquí). taxTotal es el impuesto de productos de la línea; la suma de taxTotal de las líneas no equivale al taxTotal del pedido cuando el envío tiene impuesto (el del pedido también incluye el impuesto del envío). discountAllocations desglosa el discountTotal de la línea por promoción: cada entrada tiene promotionId (referencia a promotions[].id) y amount. Las asignaciones de una misma promoción suman exactamente su amount. Todos comparten la misma currencyCode del pedido.