这个 braintree 测试多次购买错误是我应该担心的吗?

is this braintree testing multi purchase error something I should worry about?

我正在尝试弄清楚如何使用 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 的实际连接,但我对此有点担心。我应该吗?

看起来可能是速率限制错误。搜索他们的 help/docs/site 有关与速率限制相关的信息,这样您就可以了解限制是什么并解决它们。

但是...如果您谈论的是自动化测试中的测试 - 我建议您不要在测试套件中使用外部服务,而是模拟所有内容。理想情况下,您希望您的测试套件即使在网络连接中断时也能够 运行,并且您不希望它在第 3 方服务速度慢或您的网络速度慢时变慢。

如果您真的想对所有第 3 方服务进行完整的集成测试,您可以创建一组特殊的测试,这些测试用“@external”之类的注释进行测试,然后将它们安排到 运行 每周一次或其他只是为了标记一些奇怪的更改或错误。

我在布伦特里工作。如果有更多问题,可以随时get in touch with our support team.

您可以在 transaction statuses page of the API docs 上看到 gateway_rejected 的含义:

Gateway rejected

The gateway rejected the transaction because AVS, CVV, duplicate or fraud checks failed.

事务也有一个 gateway rejection reason,在本例中为 duplicate

您可以找到有关 duplicate checking settings in the control panel docs 的更多信息:

Configure duplicate transaction checking

Duplicate transaction checking is enabled by default with a 30-second window in both the sandbox and production environments. These settings can be updated or disabled by users with Account Admin privileges.

  1. Log into the Control Panel
  2. Navigate to Settings > Processing > Duplicate Transaction Checking
  3. Click Edit to adjust the time window or Enable/Disable to turn the feature on/off