在开发环境中,我可以测试条带支付(使用测试卡)。但是运行 rspec 功能测试,支付失败并且我收到以下错误。
已禁用对使用低于 1.2 的 TLS 版本发出的测试模式请求的支持,并将于 2018 年 6 月 13 日取消对实时模式的支持。请使用 TLS 1.2 或更高版本启动 HTTPS 连接。您可以在https://stripe.com/blog/upgrading-tls了解更多相关信息。
我使用 capybara(v2.13) 和 poltergeist 进行功能测试。我尝试了此URL 中提到的升级步骤。但问题仍然存在。
由于您的问题不清楚,因此此答案假定错误是在“浏览器”(Poltergeist 使用的 PhantomJS)向 Stripe 发出请求时发生的。如果服务器向 Stripe 发出请求时发生错误,则此答案将没有任何区别。
PhantomJS(Poltergeist 使用)有一个“--ssl-protocol”命令行选项,Poltergeist 默认为 TLSv1。您可以在驱动程序注册中对其进行自定义 - https://github.com/teampoltergeist/poltergeist#customization。
Capybara.register_driver :poltergeist do |app|
Capybara::Poltergeist::Driver.new(app,
phantomjs_options: ['--ssl-protocol=TLSv1.2']
)
end
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句