首页 文章

Python Django,Stripe charge,APIConnectionError

提问于
浏览
0

我正在尝试在我的网站上实现Stripe卡支付,我对他们的API相当新,看了他们的例子,我更喜欢为cardnumber,expirydate和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页面中的表单发布操作,并按以下方式创建费用;

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)

我检查过,数量,货币和来源都有 Value ;但是,收费不会发生以下错误;

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')",))

经过几个小时的搜索,我有点无能为力,感谢任何帮助或建议,谢谢!

吉姆

1 回答

  • 0

    我自己找到了答案,这是由于公司过时的OpenSSL认证,如果你的openSSL版本低于1.0.xx你需要更新它,我使用的是MAC OS,所以可以通过Brew更新,然后安装新版本的Python并将SSL链接到新的Python,需要重新安装requirements.txt下的所有依赖项 .

相关问题