Skip to main content
Run the Universal Commerce Protocol handler locally and walk one full checkout: discover, create a session, complete it.

1 — Run the server

Those two flags disable caller authentication and are for local testing only. In production the Request-Signature header is what authenticates writes — see the integration guide for the signed setup.

2 — Discover

One well-known document advertises what the merchant supports:
You get back the capability list — checkout, fulfillment, discounts, orders. A client should branch on this rather than assuming; that is the point of the discovery step.

3 — Create a checkout session

The response carries the session id and its state. Update it (address, shipping option, discount code) with PUT /api/checkout-sessions/{id} as many times as needed.

4 — Complete it

Completion emits an order webhook — that, not the HTTP response, is the durable record of the purchase. Check /api/webhook-deliveries to see it.
Enable the iCommerce backend to make this real: the session then reserves actual inventory and creates an order in the embedded engine, instead of a protocol-level stub. See UCP.

Verify the whole loop

The handler requires UCP-Agent on every request and Request-Signature on writes. The local-testing flags that relax them turn off the only thing authenticating the caller, so a handler started with them accepts a checkout from anyone who can reach the port. Never set them on anything reachable beyond your own machine.

Next

  • UCP — endpoints, extensions, and how it relates to ACP and ICP
  • Integration guide — signatures, headers, production setup
  • ICP — the superset protocol, if you need mandates and negotiation

Next steps

Integration guide

Signatures, headers and the full endpoint set.

UCP overview

The protocol this handler implements.

Agentic Commerce Protocol

The sibling protocol, and when to use which.

Deploy a handler

Running one on managed Kubernetes.
Last modified on August 29, 2026