# Transactions & Fulfillment

> Hosted checkout, orders, payments, receipts, inventory and shipping on one transaction core.

> Markdown version of https://kanorio.com/en/developers/products/orders. Append `.md` to any developer docs URL for this format. Index: https://kanorio.com/llms.txt · MCP: https://app.kanorio.com/api/mcp

Status: **Available**

Orders record what a customer bought and paid. Checkout runs on Kanorio's hosted checkout page, which handles payment and receipts, then returns the customer to your front end.

## Core objects

- **Orders.** Line items, totals, the customer and the payment and fulfillment status.
- **Transactions.** Payments and refunds against an order.
- **Fulfillment.** Shipments for physical goods and access grants for digital ones.

## How the APIs fit

- Link your buy buttons to the hosted checkout with a `return_to` URL. Paying grants the linked entitlements automatically.
- Read orders with the Management API, and let customers see their own orders and receipts through the Customer API.
- Webhooks report paid orders, refunds and shipment status changes, with an `operationId` you can track.

Refunds are issued from the dashboard. Tokens are never granted the refund permission.

## What the APIs expose

| Capability | Status | API | Elements | Hosted site | Webhooks |
| --- | --- | --- | --- | --- | --- |
| Orders & hosted checkout | Available | Management API `orders.*`; Customer `GET /orders`, `GET /orders/:id` | — | `/orders`, `/data/orders`; system-hosted checkout & `/account/orders` | `ec.order.paid` |
| Merchant-to-customer subscriptions (recurring billing) | Planned | Planned (`subscriptions.*`), a sub-domain of the transaction core; not derived from the site's own Kanorio plan | — | Planned | — |

## API reference

- Management API: [Orders](https://kanorio.com/en/developers/management-api/orders) (2 operations)
- Management API: [Store](https://kanorio.com/en/developers/management-api/store) (1 operations)
- Customer API: [Orders](https://kanorio.com/en/developers/customer-api/orders) (2 operations)

## Webhook events

- `ec.order.paid`: Fired when an order payment succeeds and is captured.
- `ec.shipment.statusChanged`: Fired when a shipment status transitions (in transit, arrived at store, delivered, or exception).
- `ec.order.refunded`: Fired once per successful refund (partial or full, issued from the dashboard, at the payment provider, or by a lost chargeback) with the refunded lines and the order's refund status after it.

Payloads: https://kanorio.com/en/developers/webhooks/events

## Recent changes

- 2026-11-03: Customer API: course, unit and order text in the customer's locale
- 2026-11-02: Products: shipping is decided per variant

Full changelog: https://kanorio.com/en/developers/changelog

## For site owners

Dashboard help: https://kanorio.com/en/help/store-orders
