结账 API
2.1 能力标识
结账能力的命名空间为dev.ucp.shopping.checkout,是UCP最核心的交易能力。它定义了从创建购物会话到完成支付的完整流程。
2.2 结账会话状态机
一个结账会话(Checkout Session)在其生命周期内经历6个明确的状态:requires_escalation 状态允许商家在AI无法自动处理的场景下将控制权交给人类(例如需要法律合规确认的高价商品)。complete_in_progress 到 incomplete 的回退路径处理支付失败等异常场景。
2.3 五种操作
Create — 创建结账会话
Get — 查询结账会话
Update — 更新结账会话
ready_for_complete。
Complete — 提交完成
ready_for_complete 时可调用。调用后状态变为 complete_in_progress,商家异步处理支付和订单创建。成功后状态变为 completed,失败则回退到 incomplete。
响应:
Cancel — 取消会话
completed 和 canceled 两个终态外,任何状态都可以取消。
2.4 ISO 4217 金额处理
UCP严格要求所有金额使用 ISO 4217最小货币单位(minor units)表示,避免浮点数精度问题:2.5 嵌入式结账UI
当AI代理无法在纯API模式下完成结账(例如复杂的支付验证、3D Secure认证),UCP支持嵌入式UI模式:
嵌入式UI通过
requires_escalation 状态触发。商家在响应中返回UI URL:
2.6 价格透明要求
UCP要求所有价格信息必须完全透明。在结账会话中,定价对象必须包含:
AI代理在调用Complete操作前,必须向消费者展示完整的价格明细并获得确认。
下一章: 身份关联 — OAuth 2.0 Authorization Code流程、令牌撤销和scope管理