place_order
Submit a buyer's Ozon order only when the confirmed total matches the agreed amount, preventing surprise charges. Returns order number for cancel or payment.
Instructions
[GATED by orders_enabled — SPENDS REAL MONEY] Submit the order that get_checkout() describes. Not undoable from here except by cancel_order(). Read get_checkout() immediately before, show the user totals.order_total — what the order costs — and pass back the figure they agreed to. The call is refused if that no longer matches, and nothing is ordered. Returns once the order actually exists, with its order_number: keep it, it is what cancel_order() and pay_order() need. Paying from the Ozon Card balance settles with the order; pay-on-delivery leaves nothing to pay today.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| confirm_total | Yes | The total the user agreed to, copied from get_checkout().totals — either order_total ("777 ₽") or total ("0 ₽ сегодня"). Refused if Ozon has recalculated since. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| link | No | ||
| total | No | ||
| order_total | No | ||
| payment_url | No | ||
| order_number | No |