Stripe payments 如何端到端测试条';新的结帐会话

Stripe payments 如何端到端测试条';新的结帐会话,stripe-payments,stripe-checkout,Stripe Payments,Stripe Checkout,我正在寻找一种方法来为使用Stripe的新(er)的应用程序设置集成测试 一般的工作流程是: 发布/后端/创建会话 返回签出会话ID 用户将在stripe的域上完成购买 这是我无法自动化的部分 Stripe使用会话ID重定向回我的网站 POST/backend/fulfill session id/$session\u id 我能够为步骤1设置测试,并检查会话是否成功创建 我无法获取给定的会话ID并让stripe假装已成功支付,这将阻止我测试步骤3 有没有办法在不向混合中添加浏览器的情况下自动执

我正在寻找一种方法来为使用Stripe的新(er)的应用程序设置集成测试

一般的工作流程是:

  • 发布
    /后端/创建会话
  • 返回
    签出会话ID

  • 用户将在stripe的域上完成购买
  • 这是我无法自动化的部分

  • Stripe使用会话ID重定向回我的网站
  • POST
    /backend/fulfill session id/$session\u id

    我能够为步骤1设置测试,并检查会话是否成功创建

    我无法获取给定的会话ID并让stripe假装已成功支付,这将阻止我测试步骤3


    有没有办法在不向混合中添加浏览器的情况下自动执行步骤2?

    这里的答案是不测试Stripe的系统,而是测试您自己的系统


    您应该模拟成功和失败状态,而不是在代码中实际重定向到条带签出。

    条带ECLI可用于重新发送事件-

    实现3的快速方法是

  • 手动完成2,注意

  • 使用CLI假装会话已成功支付:

    条带事件重新发送\u事件\u id


  • 我同意,但我不想根据不同的产品/订阅组合重新创建Stripe的不同可能结果。我宁愿运行端到端测试,让他们来管理购买状态。我想确认我正在读取/更新正确的数据,但如果不完成购买,我就无法确认。条带签出有3种可能的结束状态:1。重定向失败,承诺()2中给出了错误。付款成功,用户被重定向到
    success\u url
    3。付款被取消,用户被重定向到
    cancel\u url
    。在这种情况下,您只需测试1中的故障,以及2和3的URL是否存在且可访问。如果要测试的是webhook,则可以使用Stripe cli触发
    checkout.session.completed
    ,以进行测试: