UCP协议
UCP 是面向商业生态的开放标准协议,用于解决各类商业主体系统割裂、互操作困难的问题,提供统一通信语言与功能基础。
一、核心目标
互操作性:连接消费平台、商家与支付生态
能力发现:消费端可动态查询商家支持功能(如访客结账、会员体系)
安全合规:基于 OAuth 2.0、PCI-DSS 实现敏感数据安全交换
智能代理商务:支持 AI 代理代用户完成复杂购物任务
二、核心模块与关键要点
1.发现、治理与能力协商
命名空间:反向域名格式{反向域名}.{服务}.{能力},无需中央注册
能力协商:商家(服务端)从双方能力交集中选定生效项,取最高兼容版本
配置文件:商家固定在/.well-known/ucp发布配置,平台通过UCP-Agent头传递配置地址
扩展机制:支持单父 / 多父扩展,通过extends字段关联,依赖不满足自动剔除
2. 身份与认证
双重作用:配置文件同时声明能力与签名公钥,支持无许可对接
认证方式:兼容 API 密钥、OAuth2.0、mTLS、HTTP 消息签名(RFC 9421)
密钥发现:从配置文件signing_keys获取 JWK 格式公钥,完成验签
3. 支付架构(核心亮点)
信任三角:商家↔支付方(法定信任)、平台↔支付方(令牌化)、平台↔商家(传递令牌)
流程:协商支付处理器→平台获取令牌→提交商家完成支付
三大场景:数字钱包、带 SCA 挑战的令牌化、自主代理(AP2)
PCI 合规:平台 / 商家尽量不接触原始支付数据,降低合规范围
安全扩展:AP2 授权扩展提供不可否认的交易证明
4. 传输层
支持 4 种传输方式,按需协商:
REST:核心传输,HTTP/1.1+JSON,标准状态码
MCP:基于 JSON-RPC,适配 AI 模型工具调用
A2A:代理间协议
EP:嵌入式协议,通过continue_url启动
5. 标准能力
购物车(Cart)
结账(Checkout)
订单(Order)
身份关联(Identity Linking)
支持折扣、履约、AP2 授权等扩展
6. 安全与版本
传输:全链路 HTTPS
信号:平台提供 IP、UA 等环境数据,用于风控与授权
兼容规则:新增非必填字段兼容;删改字段、修改流程为破坏性变更
独立版本:协议、能力、厂商自定义能力分别版本化
7. 错误处理
协商失败返回continue_url降级到网页流程
区分发现失败、版本不支持、能力不兼容、签名错误等标准错误码
REST 与 MCP 分别对应 HTTP 状态码与 JSON-RPC 错误码
三、四大参与角色
平台(应用 / 代理)面向用户的消费入口,负责发现商家、发起结账、呈现交互界面示例:AI 购物助手、超级 App、搜索引擎
商家商品 / 服务销售方,为订单责任主体,开放库存、定价、履约等能力示例:零售商、航司、酒店、服务商
凭证提供商(CP)安全管理用户支付与地址信息,签发支付令牌、保护隐私数据示例:数字钱包、身份认证方
支付服务提供商(PSP)为商家处理支付授权、清算,对接卡组织,直接使用 CP 提供的令牌示例:Stripe、Adyen、PayPal
四、三大基础架构单元
核心能力:商家支持的基础功能,协议的 “动作”示例:结账、身份关联、订单管理
扩展能力:基于核心能力的可选增强功能示例:折扣(扩展结账)、AP2 授权规则(扩展结账)
服务层:数据交换的底层通信方式,传输无关示例:REST API(主)、MCP、A2A(代理间通信)
五、核心价值
无许可对接:无需提前注册,发现配置即可交互
多端兼容:覆盖网页、APP、AI 代理、嵌入式场景
安全合规:令牌化、验签、PCI 范围最小化
灵活扩展:能力与扩展分离,厂商可自定义