最初来自 https://github.com/braintree/braintree-web/issues/296
一般信息
将 Braintree-web gem 与 Spree 商店结合使用
SDK版本:3.2.0 环境:使用rspec的测试环境 浏览器和操作系统:运行 phantomjs 的 Poltergeist 问题描述
我们在 Poltergeist 和 Phantom JS 下运行规范时遇到此错误。我们正在使用 Phantom JS 2.1.1:
BraintreeError: Cannot contact the gateway at this time
我们的生产应用程序不会出现该症状,仅在测试我们的应用程序的测试运行环境中出现,运行 Capubara * Rspec(使用 poltergeis/phantomjs)
对于这个问题的后代,只是想向其他人报告,我们确认了这一点的根本原因是(无意的)对
window.braintree.client(...)
函数本身的双重调用。当我们更正我们的代码时,不要双重调用该函数,问题就消失了。如上所述,症状似乎在生产中并未显现,仅在 phantomjs(带有 capybara/rspec)测试环境中显现。
很高兴结束,因为这是我们自己的重构。
其他答案(不是我们的问题)表明此错误可能因 SSL 问题而出现
如果对相关第三方域(例如 Braintree-api.com 或 pay.google.com)的请求被浏览器隐私插件等阻止,也会报告此错误。
就我而言,这是一个浏览器插件,我尚未为我的本地开发站点禁用它,这导致了几分钟的头痛。