python - Python Django、Stripe 收费、APIConnectionError
问题描述
我正在尝试在我的网站上实现 Stripe 卡支付,我对他们的 API 相当陌生,查看了他们的示例,我更喜欢为卡号、到期日和 cvc 设置单独的字段,所以我没有使用卡目的。以下是我的代码:
Javascript:以下是 checkout.html 页面上的最终按钮单击事件,其中生成令牌并设置隐藏输入字段中的各种值,然后提交到 charge.html 页面。
$("#cardPayBtn").click(function() {
var options = {
};
stripe.createToken(cardNumber, options).then(function(result) {
if (result.error) {
var errorElement = document.getElementById('cardErrors');
errorElement.textContent = result.error.message;
//alert(errorElement);
}
else {
$("#chargeAmount").val(parseInt($("#totalFee").val())*100);
$("#chargeCurrency").val("gbp");
$("#tokenSource").val(JSON.stringify(result.token));
$("#cardPaymentForm").submit();
}
});
});
在chargeView.py 文件中,post 方法用于处理checkout.html 页面的form-post 动作,并创建如下费用;
def post(self, request):
token = request.POST["tokenSource"]
chargeAmount = request.POST['chargeAmount']
chargeCurrency = request.POST['chargeCurrency']
charge = stripe.Charge.create(
amount=chargeAmount,
currency=chargeCurrency,
description='Example charge',
source=json.loads(token),
)
return render(request, self.template)
我查了一下,有金额、货币和来源的值;但是,收费没有通过以下错误;
APIConnectionError at /photos/charge/
Unexpected error communicating with Stripe. If this problem persists,
let us know at support@stripe.com.
(Network error: SSLError: ("bad handshake: SysCallError(-1, 'Unexpected EOF')",))
经过几个小时的搜索,我有点无能为力,感谢任何帮助或建议,谢谢!
吉姆
解决方案
我自己找到了答案,是因为公司的OpenSSL认证过时了,如果你的openSSL版本低于1.0.xx需要更新,我用的是MAC OS,所以可以通过Brew更新,那么安装新版本的 Python 并将 SSL 链接到新的 Python,require.txt 下的所有依赖项都需要重新安装。
推荐阅读
- microsoft-graph-api - Microsoft 图形通知停止工作
- xml - 将 xml 模式命名空间链接到实例 xml 实例
- node.js - 如何在 bitnami ruby 堆栈中配置子域
- unit-testing - WSO2 ESB 单元测试套件 - 来自注册表的工件问题
- hyperledger-fabric - 链码实例化错误:配置的日志记录驱动程序不支持读取
- linux - 如何解释 /proc/self/mountstats 中时间列的这种值 - 它是否表明存在性能问题?
- azure - Gitlab CI/CD 部署到 Azure Web 服务
- elasticsearch - Elasticsearh 作为 BI 平台
- go - Go 切片变异最佳实践
- c - 每次操作后队列重置