Order tools
Create, read, list, and refund orders.
An order is a single sale: a customer charged for one or more line items (products). Refunds happen at order level.
Tools
create_order
Create and immediately attempt to charge an order.
| readOnly | destructive | idempotent | openWorld |
|---|---|---|---|
false | false | true | false |
Required parameters: customer_id, payment_method_id, items (array of { product_id, quantity }).
Optional: currency (defaults to usd), description, shipping_address_id/shipping_address, metadata, source, idempotency_key.
The response includes the order in succeeded or failed state, with the underlying transaction details. An order.succeeded or order.failed webhook will follow.
list_orders
List orders with filters (customer, status, date range) and cursor pagination.
| readOnly | destructive | idempotent | openWorld |
|---|---|---|---|
true | false | true | false |
get_order
Get a single order, including its transactions and any refunds.
| readOnly | destructive | idempotent | openWorld |
|---|---|---|---|
true | false | true | false |
refund_order
Refund all or part of a paid order.
| readOnly | destructive | idempotent | openWorld |
|---|---|---|---|
false | true | true | false |
Required: order_id. Optional: amount (in cents; defaults to the full remaining balance), idempotency_key.
An MCP client should require human approval before calling refund_order in live mode — it permanently reverses captured funds.