ruby-on-rails - Stripe - 在测试模式下向客户添加无效卡?

标签 ruby-on-rails stripe-payments vcr

我想用 VCR 测试 invoice.payment_failed 事件

伪代码:

  • 使用无效卡创建客户
  • 使用发票项目创建发票
    (这里发票会自动支付)
  • 使用 Stripe::Event
  • 获取 invoice.payment_failed 事件

    在步骤 1 中,Stripe 返回错误,提示我要添加无效卡。我使用了来自 https://stripe.com/docs/testing 的“4000000000000119”卡号

    基本上我想创建一个场景,其中用户拥有在他们第一次购买/订阅时曾经有效的卡。但一年后它不再有效。

    我不想模拟事件数据并将它们存储在 yml 中。我直接从 Stripe 获取事件并用 VCR 记录它。

    答案是: 4000 0000 0000 0341 卡号。 https://stripe.com/docs/testing中描述
    (所以不允许我在发布后 8 小时内回答我的问题)

    最佳答案

    在这里的几个层面上,您不是在测试您的 invoice.payment_failed代码——您正在测试整个应用程序,甚至测试 Stripe 本身。这不是生产力。

    如果您想测试您的 webhook 处理程序是否正确处理失败的付款,那就是 只有你需要或想要测试的东西。如果在测试过程中涉及到 Stripe(或 Stripe 的 VCR 传真机),则您需要解决应用程序设计或测试设计问题的可能性非常高。

    关于ruby-on-rails - Stripe - 在测试模式下向客户添加无效卡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23952602/

    相关文章:

    ruby-on-rails - 未初始化的常量错误

    python - 来自 twitter api 的 vcr.py 存储调用

    java - Kotlin 中的 Try-catch block ——返回什么

    stripe-payments - 我可以将客户从 Stripe 托管发票页面重定向回我的商店吗?

    javascript - 从 strip 结帐中删除 “email address” 字段

    rspec - 根据请求 URI 在 VCR 中设置默认选项

    ruby - 针对特定规范关闭 VCR

    ruby-on-rails - 在 :through association 中过滤查询

    mysql - Rails,将列添加到选择语句

    ruby-on-rails - 设计无法完成 session Controller 功能的管理模型