Checkout A2A Binding
Overview
This document specifies the Agent2Agent Protocol (A2A) binding for Checkout Capability.
Transport Discovery
Businesses supporting A2A transport must specify the agent card endpoint in their UCP Profile:
{
"ucp": {
"services": {
"dev.ucp.shopping": {
"a2a": {
"endpoint": "https://example-business.com/.well-known/agent-card.json"
}
}
}
}
}Shopping Agent Profile Advertisement
Shopping platforms MUST send their profile URI as UCP-Agent request headers:
UCP-Agent: profile="https://agent.example/profiles/v2025-11/shopping-agent.json"
Content-Type: application/jsonA2A Interactions
The UCP A2A extension URI: https://ucp.dev/specification/reference?v=2026-01-11
Businesses MUST advertise this extension in their A2A Agent Card:
{
"extensions": [
{
"uri": "https://ucp.dev/specification/reference?v=2026-01-11",
"description": "Business agent supporting UCP",
"params": {
"capabilities": [
{
"name": "dev.ucp.shopping.checkout",
"version": "2026-01-11"
}
]
}
}
]
}Checkout Functionality
The Checkout entity must be returned as part of a DataPart object with key a2a.ucp.checkout.
Natural Language Input
{
"message": {
"role": "user",
"parts": [
{
"type": "text",
"text": "add Pixel 10 Pro to my checkout"
}
],
"messageId": "69da8f87-991b-479e-80dc-ed92fcb57cbe",
"kind": "message",
"contextId": "aad14abc-4082-4748-84ca-4afff85aedfa"
}
}Structured Input
{
"message": {
"role": "user",
"parts": [
{
"type": "data",
"data": {
"action": "add_to_checkout",
"product_id": "PIXEL-10-PRO",
"quantity": 1
}
}
],
"messageId": "e94a8c10-69f4-4c4c-b988-21a298302da6",
"kind": "message",
"contextId": "aad14abc-4082-4748-84ca-4afff85aedfa"
}
}Response Format
{
"id": 33,
"jsonrpc": "2.0",
"result": {
"contextId": "4629ea79-7201-4ece-bc7a-ce19fff76e61",
"kind": "message",
"messageId": "8e8566e0-6d7c-4f29-bd90-26a132385baa",
"parts": [
{
"data": {
"a2a.ucp.checkout": {...checkoutObject}
},
"kind": "data"
}
],
"role": "agent"
}
}Checkout Completion
Standard Completion
{
"message": {
"role": "user",
"parts": [
{
"type": "data",
"data": {"action":"complete_checkout"}
},
{
"kind": "data",
"data": {
"a2a.ucp.checkout.payment_data": {
"id": "instr_1",
"handler_id": "gpay",
"type": "card",
"credential": {
"type": "PAYMENT_GATEWAY",
"token": "examplePaymentMethodToken"
}
}
}
}
],
"messageId": "e94a8c10-69f4-4c4c-b988-21a298302da6",
"kind": "message",
"contextId": "aad14abc-4082-4748-84ca-4afff85aedfa"
}
}AP2-Based Completion
When AP2 mandates extension is active, include ap2.checkout_mandate:
{
"kind": "data",
"data": {
"a2a.ucp.checkout.payment_data": {
"id": "instr_1",
"handler_id": "gpay",
"type": "card",
"credential": {
"type": "PAYMENT_GATEWAY",
"token": "examplePaymentMethodToken"
}
},
"ap2": {
"checkout_mandate": "eyJhbGciOiJFUz..."
}
}
}See Also
- Checkout Capability - Core checkout specification
- AP2 Mandates Extension - Cryptographic proof extension
- Checkout REST Binding - REST API binding