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/json

A2A 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