从我的本地环境调用条带费用API时出现TLS问题

问题描述 投票:4回答:1

我正在沙盒模式下实现Stripe支付网关。我有嵌入式结帐流程,还创建了令牌,服务器使用该令牌来调用API来创建费用。

使用的API版本是:stripe.api_version = '2017-06-05'

charge = stripe.Charge.create(
   amount=1000,
   currency="usd",
   description="Example charge",
   source=token,
)

当我打电话给这个电荷创建api时,我收到以下错误:

b'{\ n“error”:{\ n“type”:“invalid_request_error”,\ n “message”:“Stripe不再支持使用TLS 1.0发出的API请求。请使用TLS 1.2或更高版本启动HTTPS连接。您可以在https://stripe.com/blog/upgrading-tls上了解更多信息。”\ n} \ n} \ n n

用于在本地计算机中创建费用的条带API是:

POST: https://api.stripe.com/v1/charges

如何在本地计算机上运行?

但是当我将它部署到AWS时,它正在那里工作。

python django stripe-payments
1个回答
4
投票

您的本地Python解释器链接到不支持TLS 1.2的旧版OpenSSL。您可以通过以下方式检查:

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

您需要OpenSSL 1.0.1或更新版本才能使用TLS 1.2。

如果您使用的是OS X,解决此问题的最简单方法是使用Homebrew包管理器:

$ brew update && brew upgrade && brew install openssl && brew install python

如果您使用的是Python 3,请在命令行末尾用python替换python3

© www.soinside.com 2019 - 2024. All rights reserved.