这个 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.
- Log into the Control Panel
- Navigate to Settings > Processing > Duplicate Transaction Checking
- Click Edit to adjust the time window or Enable/Disable to turn the feature on/off
我正在尝试弄清楚如何使用 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.
- Log into the Control Panel
- Navigate to Settings > Processing > Duplicate Transaction Checking
- Click Edit to adjust the time window or Enable/Disable to turn the feature on/off