我正在沙盒模式下实现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解释器链接到不支持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
。