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到期年份
cvcStringCVC/CVV 代码
Allowance 对象
字段类型必需描述
amountInteger最大可收费金额(以最小货币单位计)
currencyStringISO 4217 货币代码
expires_atStringISO 8601 到期时间戳
Address 对象
字段类型必需描述
nameString姓名
line_oneString地址第一行
line_twoString地址第二行
cityString城市
stateString州/省
postal_codeString邮政编码
countryStringISO 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 许可证发布。