Skip to content

委托支付规范 ​

支付服务提供商实施委托支付规范以处理和保护代理商务交易

使用代理商务协议进行构建对所有人开放。ChatGPT 中的即时结账目前仅对批准的合作伙伴可用。要申请参与即时结账,请在此处填写表单。

概述 ​

委托支付规范允许 OpenAI 安全地与商家或其指定的支付服务提供商(PSP)共享支付详细信息。然后,商家及其 PSP 以与收集的任何其他订单和支付相同的方式处理交易和处理相关支付。

此规范适用于谁? ​

通过委托支付规范直接与 OpenAI 集成仅适用于 PSP 或使用自己保险库的 PCI DSS 1 级商家。对于其他人,Stripe 的共享支付令牌是第一个兼容委托支付规范的实现,更多 PSP 即将推出。

工作原理 ​

  1. 买家使用他们首选的支付方式结账并将其保存在 ChatGPT 中。
  2. 委托支付负载直接发送到商家的 PSP 或保险库。委托支付是一次性的并设置有限额。
  3. PSP 或保险库返回范围限定为 PCI 范围之外的委托支付的支付令牌。
  4. OpenAI 在完成结账调用期间转发令牌,使商家能够完成交易。

关键要点 ​

  • OpenAI 不是记录商家。在代理商务协议下,商家带上自己的 PSP 并处理支付,就像他们处理任何其他数字交易一样。
  • 一次性和受限。支付令牌受委托支付的最大金额和到期时间限制,有助于保护用户并防止滥用。
  • 商家拥有的支付。结算、退款、退单和合规性仍由商家及其 PSP 负责。
  • 安全设计。委托支付规范确保 PSP 返回的凭证范围狭窄,不能在用户批准的购买定义限制之外使用。
  • PCI 范围。直接与委托支付规范集成涉及直接处理持卡人数据(CHD),可能会影响您的 PCI 范围。

REST 端点 ​

POST /agentic_commerce/delegate_payment ​

调用方向:OpenAI -> PSP

标头 ​

字段描述示例值
Authorization用于发出请求的 API 密钥Bearer api_key_123
Accept-Language内容(如消息和错误)的首选语言环境en-US
User-Agent有关发出此请求的客户端的信息ChatGPT/2.0 (Mac OS X 15.0.1; arm64; build 0)
Idempotency-Key用于确保请求幂等的密钥idempotency_key_123
Request-Id用于跟踪目的的每个请求的唯一密钥request_id_123
Content-Type请求内容的类型application/json
Signature请求正文的 Base64 编码签名eyJtZX...
Timestamp格式化为 RFC 3339 字符串2025-09-25T10:30:00Z
API-VersionAPI 版本2025-09-12

请求正文 ​

字段类型必需描述
payment_methodPaymentMethod是支付方式详细信息
allowanceAllowance是最大可收费金额和到期时间
billing_addressAddress是账单地址
risk_signalsRiskSignals否风险信号以帮助欺诈检测
metadataObject否附加元数据
PaymentMethod 对象 ​
字段类型必需描述
typeString是支付方式类型(例如 card)
cardCard否卡详细信息(如果类型为 card)
Card 对象 ​
字段类型必需描述
numberString是卡号
exp_monthInteger是到期月份
exp_yearInteger是到期年份
cvcString是CVC/CVV 代码
Allowance 对象 ​
字段类型必需描述
amountInteger是最大可收费金额(以最小货币单位计)
currencyString是ISO 4217 货币代码
expires_atString是ISO 8601 到期时间戳
Address 对象 ​
字段类型必需描述
nameString否姓名
line_oneString是地址第一行
line_twoString否地址第二行
cityString是城市
stateString否州/省
postal_codeString是邮政编码
countryString是ISO 3166-1 alpha-2 国家代码

响应 ​

字段类型必需描述
tokenString是支付令牌
payment_method_summaryPaymentMethodSummary是支付方式摘要
expires_atString是令牌到期时间
PaymentMethodSummary 对象 ​
字段类型必需描述
typeString是支付方式类型
cardCardSummary否卡摘要(如果类型为 card)
CardSummary 对象 ​
字段类型必需描述
brandString是卡品牌(例如 visa, mastercard)
last4String是卡号后四位
exp_monthInteger是到期月份
exp_yearInteger是到期年份

安全要求 ​

请求签名 ​

所有请求必须使用签名进行验证:

  1. 创建规范请求正文(规范 JSON)
  2. 使用共享密钥计算 HMAC-SHA256 签名
  3. 在 Signature 标头中包含 Base64 编码的签名

令牌安全 ​

返回的支付令牌必须:

  • 限定范围到特定商家
  • 设置到期时间(建议 30 分钟)
  • 限制为一次性使用
  • 包含最大可收费金额

PCI 合规性 ​

实施此规范需要:

  • PCI DSS 1 级认证
  • 安全的令牌存储
  • 加密的数据传输
  • 定期安全审计

错误处理 ​

错误响应 ​

字段类型必需描述
typeString是错误类型
codeString是错误代码
messageString是人类可读的错误消息
paramString否违规参数

常见错误代码 ​

  • invalid_request - 请求格式无效
  • invalid_signature - 签名验证失败
  • invalid_payment_method - 无效的支付方式
  • amount_too_high - 金额超过限制
  • card_declined - 卡被拒绝
  • expired_card - 卡已过期

测试 ​

测试环境 ​

使用测试环境进行集成测试:

POST https://api-test.yourpsp.com/agentic_commerce/delegate_payment

测试卡 ​

使用以下测试卡号:

  • 成功:4242 4242 4242 4242
  • 拒绝:4000 0000 0000 0002
  • 需要认证:4000 0027 6000 3184

生产就绪 ​

在上线之前:

  1. ✅ 完成 PCI DSS 认证
  2. ✅ 实施请求签名验证
  3. ✅ 设置监控和告警
  4. ✅ 配置速率限制
  5. ✅ 测试所有错误场景
  6. ✅ 准备事件响应计划

资源 ​

有关完整的规范详细信息和示例,请参阅英文版本或访问上述资源。

基于 Apache 2.0 许可证发布。