///|
fn main raise {
let plan = @jieheng.compile_plan(
id="stripe-graduated-example",
version="2026-10-21",
metric="units",
unit="unit",
currency="USD",
tiers=[
{ up_to: Some("5"), unit_price: "7", },
{ up_to: Some("10"), unit_price: "6.5", },
{ up_to: None, unit_price: "6", },
],
)
for quantity in ["6", "20", "25"] {
let result = @jieheng.rate(plan, {
customer: "example-customer",
metric: "units",
period: "example-period",
quantity,
})
let bill = @jieheng.settle(result, scale=2, rounding=HalfEven)
println("\{quantity} units: \{bill.currency} \{bill.amount}")
for line in result.lines {
println(
" tier \{line.tier}: \{line.quantity} x \{line.unit_price} = \{line.subtotal}",
)
}
}
}