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.

readOnlydestructiveidempotentopenWorld
falsefalsetruefalse

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.

readOnlydestructiveidempotentopenWorld
truefalsetruefalse

get_order

Get a single order, including its transactions and any refunds.

readOnlydestructiveidempotentopenWorld
truefalsetruefalse

refund_order

Refund all or part of a paid order.

readOnlydestructiveidempotentopenWorld
falsetruetruefalse

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.