Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django、条带费用、APIConnectionError_Python_Django_Stripe Payments - Fatal编程技术网

Python Django、条带费用、APIConnectionError

Python Django、条带费用、APIConnectionError,python,django,stripe-payments,Python,Django,Stripe Payments,我试图在我的网站上实现条带卡支付,我对他们的API相当陌生,看看他们的例子,我更喜欢为cardnumber、expirydate和cvc设置单独的字段,所以我没有使用card对象。以下是我的代码: Javascript:下面是checkout.html页面上的最后一个按钮单击事件,在提交到charge.html页面之前,将在其中生成一个令牌并设置隐藏输入字段中的各种值 $("#cardPayBtn").click(function() { var options = { };

我试图在我的网站上实现条带卡支付,我对他们的API相当陌生,看看他们的例子,我更喜欢为cardnumber、expirydate和cvc设置单独的字段,所以我没有使用card对象。以下是我的代码:

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页面中的表单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')",))
经过几个小时的搜索,我有点不知所措,任何帮助或建议都非常感谢,谢谢


Jim

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