Install
openclaw skills install ucp-checkout-a2aImplement UCP Checkout over the A2A (Agent-to-Agent) binding — enable autonomous agent-to-agent commerce using Agent Cards and structured message parts. Use when building agent-to-agent commerce flows.
openclaw skills install ucp-checkout-a2aFetch live spec: Web-search site:ucp.dev specification checkout-a2a and fetch the page for the exact message structure, DataPart keys, and Agent Card format.
Also review Google's A2A protocol spec for the underlying transport: https://google.github.io/A2A/
A2A (Agent-to-Agent) is a protocol for autonomous inter-agent communication. UCP's A2A binding lets a Platform agent talk to a Business agent using structured messages rather than REST calls.
/.well-known/ucp profile under services.dev.ucp.shopping.a2a.endpoint.DataPart objects. Business agent responds with checkout state in DataPart objects.UCP-Agent header and X-A2A-Extensions header referencing the UCP spec version.| Key | Direction | Purpose |
|---|---|---|
a2a.ucp.checkout | Both | Checkout session data |
a2a.ucp.checkout.payment_data | Platform → Business | Payment credentials for completion |
a2a.ucp.checkout.risk_signals | Platform → Business | Optional risk signals |
ap2.merchant_authorization | Business → Platform | Merchant's JWS detached content signature for AP2 mandate flow |
ap2.checkout_mandate | Platform → Business | SD-JWT+kb credential proving user-authorized agent checkout |
Messages use A2A's standard format:
messageId: Unique ID (used for idempotency)contextId: Session/conversation IDkind: "message"role: "user" (from platform) or "agent" (from business)parts: Array of TextPart and DataPart objectsCheckout data is carried in DataPart with the appropriate key.
The Business agent uses messageId to detect duplicate requests. Task tracking uses taskId with contextId.
Before implementing, fetch the latest sample A2A Business Agent from https://github.com/Universal-Commerce-Protocol/samples (look for the a2a/ directory) to see the reference pattern.