Braintree - 如何在 braintree 中重置重试

Braintree - how to reset retries in braintree

我在 python 和 swift.can 中使用 braintree 谁能告诉我如何在 braintree 中重置重试。 我收到此错误

SSLError: HTTPSConnectionPool(host='api.sandbox.braintreegateway.com', port=443): Max retries exceeded with url: /merchants/merchantid/client_token (Caused by SSLError(SSLError(1, u'[SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590)'),))

完全披露:我在 Braintree 工作。如果您有任何其他问题,请随时联系 support.

"retries exceeded" 错误似乎是一个转移注意力的错误,它实际上指向 SSL 不兼容。 SSL: TLSV1_ALERT_PROTOCOL_VERSION SSLError 表示主机 url api.sandbox.braintreegateway.com 将不接受您的 TLS 版本。 从 2016 年 12 月 16 日开始,Braintree 弃用了 Sandbox 对 TLSv1.1 的支持,转而支持 TLSv1.2,您可以在 this blog post.

中了解相关信息

要解决此问题,您需要使用终端运行检查您的计算机的 OpenSSL 版本:

$ python3 -c "import ssl; print(ssl.OPENSSL_VERSION)"

如果OpenSSL版本不是1.0.1+,您需要将OpenSSL更新到最新版本,支持TLSv1.2。如果您使用的是 Homebrew,则可以按照说明进行操作 outlined here.