Order object

An Order represents a payment request created by a merchant. Orders define what the customer should pay (items, totals, currency, rails, and expiration), and track payment status over time. Orders can receive one or multiple payments depending on the selected rail and the order capabilities (for example partial payments or overpayments).

Amounts are decimal strings

All monetary amounts in Orders are represented as decimal strings (for example "15.00" or "0.000001"). Do not use floating-point numbers.

Decimal precision depends on the currency/asset. For details, see Amounts and currency conversion.


Order fields

FieldTypeDescription
idstringUnique order identifier (e.g., ord_...).
external_reference_idstringMerchant-provided identifier to correlate Orbi orders with your internal system.
merchant_idstringMerchant identifier that owns the order.
statusstringCurrent order status. See Order lifecycle for details.
itemsItem[]Line items included in the order.
paymentsEmbeddedPayment[]Payments associated with the order (may be empty while awaiting payment).
total_amountstringTotal amount for the order, derived from items (including modifiers).
remaining_amountstringAmount still required to complete the order.
currencystringOrder currency (ISO 4217 for fiat, or asset code for crypto).
ratesRecord<string, string>Reference rates used for conversions (when applicable).
capabilitiesCapabilitiesBehavior rules for the order (cancel/update, partial payments, overpayments, etc.).
deposit_instructionsDepositInstructions[]Rail-specific instructions required to complete payment.
payment_referencestring?Optional payment reference used for lookup and reconciliation.
metadataRecord<string, string>?Merchant-defined structured metadata.
expiration_datestring?ISO-8601 timestamp when the order expires (if configured).
created_atstring?ISO-8601 creation timestamp.
updated_atstring?ISO-8601 last update timestamp.

Items and modifiers

Orders are built from line items. Each item can optionally include modifiers (add-ons or customizations).

Item

FieldTypeDescription
namestringItem name displayed to the customer.
quantitynumberQuantity of the item.
unit_pricestringUnit price as a decimal string.
currencystringCurrency/asset code for the item price.
modifiersModifier[]?Optional list of item modifiers.

Modifier

FieldTypeDescription
namestringModifier name.
quantitynumberQuantity of the modifier.
unit_pricestringModifier unit price as a decimal string.
currencystringCurrency/asset code for the modifier price.

Note
The Order total_amount is derived from the items and their modifiers. For rounding rules and precision requirements, see Amounts and currency conversion.


Payments (embedded)

The payments array contains payments applied and associated with the order.

FieldTypeDescription
idstringPayment identifier (e.g., pay_...).
payment_railstringPayment rail used for this payment (for example orbi_pay or crypto_deposit).
provider_idstringProvider-side identifier (for example an on-chain transaction hash or provider reference).
amountstringAmount received for this payment as a decimal string.
currencystringCurrency/asset code of the payment.
metadataRecord<string, string>?Optional provider metadata.
created_atstringISO-8601 timestamp when the payment was recorded.

Capabilities

Capabilities define what actions are allowed on an order and how payments behave.

FieldTypeDescription
can_cancelbooleanWhether the merchant can cancel the order via API or dashboard.
can_updatebooleanWhether the merchant can update the order after creation. (deprecated)
can_overpaybooleanWhether the customer is allowed to pay more than the required amount.
partial_paymentsbooleanWhether multiple payments can contribute to the same order.
express_checkoutbooleanWhether the order supports express checkout flows.
expiration_auto_renewalbooleanWhether the order can be automatically renewed after expiration.

Deposit instructions

Deposit instructions describe how the customer should complete payment for an order. The structure of details depends on the selected rail.

FieldTypeDescription
methodstringPayment method/rail used to complete the order.
detailsRecord<string, any>?Rail-specific instructions (for example a deposit address and network for crypto deposits).

Did this page help you?