You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

测试Stripe checkout.session.completed webhook时传邮箱参数报错

解决Stripe CLI触发checkout.session.completed测试事件400错误问题

排查步骤与解决方案

1. 定位具体错误细节

登录Stripe测试仪表盘,找到错误提示中对应的请求日志(通过日志ID定位),查看详细报错内容——这能直接明确问题根源,比如参数冲突、默认配置与自定义参数不兼容等。

2. 验证基础触发流程

先去掉自定义参数,执行基础命令确认Stripe CLI与账号配置正常:

stripe trigger checkout.session.completed

如果该命令能成功触发事件,说明问题出在自定义参数的传递环节。

3. 调整自定义参数传递方式

若基础命令正常,尝试以下调整:

  • 更换引号类型(避免shell转义问题):
    stripe trigger checkout.session.completed \
      --add checkout_session:customer_email="aliasafyildirim@gmail.com"
    
  • 改用--override替换--add(默认fixture可能已设置相关字段,覆盖而非添加):
    stripe trigger checkout.session.completed \
      --override checkout_session:customer_email="aliasafyildirim@gmail.com"
    

4. 手动创建Session再触发事件

如果上述方法无效,可换用手动流程:

  1. 先创建测试Checkout Session:
    stripe checkout sessions create \
      --payment-method-types=card \
      --line-items price=price_xxx,quantity=1 \
      --mode=payment \
      --customer_email="aliasafyildirim@gmail.com"
    
    (替换price_xxx为你的测试环境价格ID)
  2. 用生成的Session ID模拟事件:
    stripe events simulate checkout.session.completed --object-id=cs_xxx
    

常见触发失败原因

  • 参数冲突:默认fixture创建的Session可能已关联测试客户,同时传递customer_email会触发Stripe校验错误
  • Shell转义问题:单引号在部分shell环境下会导致参数未正确解析
  • CLI缓存异常:可尝试清理缓存后重试:stripe fixture clean

内容的提问来源于stack exchange,提问作者yvzyldrm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 06:22:39