簡體   English   中英

Python Django,Stripe收費,APIConnectionError

[英]Python Django, Stripe charge, 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下的所有依賴項都需要重新安裝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM