这个braintree测试多次购买错误我应该担心什么?

我正在试图弄清楚如何使用braintree进行测试,而我遇到的是带宽错误。

response = ::Braintree::Customer.create(payment_method_nonce: Braintree::Test::Nonce::Transactable) token = response.customer.credit_card.first.token #so far so good response = ::Braintree::Transaction.sale(payment_method_token: token, amount: "1.00") #still good response = ::Braintree::Transaction.sale(payment_method_token: token, amount: "1.00") #response is failure # => Braintree::ErrorResult ... status: "gateway_rejected" 

所有这一切都没有停顿。
如果我再等一下并再次运行销售线,它再次起作用..

这当然会给测试脚本带来问题。 我可以把与BT的实际连接分开,但我有点担心这个。 我可以做?

我在布伦特里工作。 如果您有更多问题,可以随时与我们的支持团队联系 。

您可以在API文档的事务状态页面上查看gateway_rejected含义:

网关拒绝了

网关拒绝了该交易,因为AVS,CVV,重复或欺诈检查失败。

事务还具有网关拒绝原因 ,在这种情况下将是duplicate

您可以在控制面板文档中找到有关重复检查设置的更多信息:

配置重复的事务检查

默认情况下启用重复事务检查,沙箱和生产环境中都有30秒窗口。 具有帐户管理员权限的用户可以更新或禁用这些设置。

  1. 登录控制面板
  2. 导航到“设置”>“处理”>“重复事务检查”
  3. 单击编辑以调整时间窗口,或单击启用/禁用以打开/关闭该function

看起来它可能是速率限制错误。 在他们的帮助/文档/网站上搜索与速率限制相关的信息,这样您就可以知道限制是什么并解决它们。

但是……如果您正在谈论自动化测试中的测试 – 我建议您不要在测试套件中使用外部服务,并嘲笑所有内容。 理想情况下,您希望您的测试套件能够在网络连接中断时运行,并且您不希望在第三方服务速度较慢或网络速度较慢时速度变慢。

如果您真的想要对所有第三方服务进行完全集成测试,您可以创建一组特殊的测试,这些测试使用“@external”之类的东西进行注释,然后安排它们每周运行一次或者其他什么只是为了标记一些奇怪的变化或错误。