Skip to content

Orders

An order is the container for a payment transaction. Create an order first, then initiate a payment against it.

POST /pos/v1/orders

Required scopes: tilt/payments:create

{
"location_id": "uuid",
"total_cents": 5000,
"description": "Fleet service — invoice #INV-001",
"external_reference": "INV-001",
"external_source": "my-dms",
"external_id": "dms-order-9912",
"customer_name": "Alice Example",
"customer_phone": "+15551234567",
"customer_email": "alice@example.com",
"department_id": "uuid-optional",
"metadata": {},
"level3": { }
}
FieldTypeRequiredDescription
location_idUUIDYesThe location where this order originates. Must be within your partner scope.
total_centsintegerYesOrder total in cents. Must be > 0.
descriptionstringNoFree-text description shown in the admin portal and on receipts.
external_referencestringNoYour internal reference (invoice #, PO #). Indexed — searchable in the portal.
external_sourcestringNoSource system name (e.g. "my-dms").
external_idstringNoSource system’s primary key for this record.
customer_namestringNoCustomer display name.
customer_phoneE.164NoCustomer phone for SMS receipt.
customer_emailemailNoCustomer email for email receipt.
department_idUUIDNoDepartment within the location.
metadataobjectNoArbitrary key/value pairs stored with the order.
level3objectNoLevel 3 line-item data for B2B / fleet card schemes. See Level 3 data.
{
"order_id": "uuid",
"status": "open",
"total_cents": 5000,
"created_at": "2024-01-15T10:30:00Z"
}
GET /pos/v1/orders/{order_id}

Required scopes: tilt/payments:read

Returns the order with its current status and associated payments.

{
"order_id": "uuid",
"location_id": "uuid",
"status": "paid",
"total_cents": 5000,
"description": "Fleet service — invoice #INV-001",
"external_reference": "INV-001",
"customer_name": "Alice Example",
"payments": [
{
"payment_id": "uuid",
"status": "approved",
"amount_cents": 5000,
"method": "card",
"created_at": "2024-01-15T10:30:45Z"
}
],
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:45Z"
}
StatusDescription
openCreated, no payment yet
pendingPayment initiated, awaiting processor response
paidPayment approved
partially_paidPartial payment applied
voidedVoided before settlement
refundedFully refunded
cancelledCancelled by operator or timeout