我正在沙箱模式下实施Stripe支付网关。我已经嵌入了checkout进程并且还创建了令牌,服务器使用该令牌来调用API来创建费用。
使用的API版本是:stripe.api_version = '2017-06-05'
charge = stripe.Charge.create(
amount=1000,
currency="usd",
description="Example charge",
source=token,
)
当我打电话给这个电荷创建api时,我收到以下错误:
b'{\ n“错误”:{\ 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时,它正在那里工作。
答案 0 :(得分: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
。