如何將Stripe付款網(wǎng)關(guān)與Django Oscar集成?
我正在嘗試將Stripe付款網(wǎng)關(guān)與Django oscar集成到一個電子商務(wù)站點上,該站點在線銷售雜貨,我使用python 3.6.3,Django 2.0,Django-oscar 1.6,stripe 1.82.2。方法1:因此,我在django-oscar組中關(guān)注了此鏈接:https://groups.google.com/forum/#!searchin/django-oscar/handle_payment$20override%7Csort:date/django-oscar/Cr8sBI0GBu0/PHRdXX2uFQAJ我已經(jīng)注冊了條帶帳戶,并使用我的可發(fā)布密鑰和測試密鑰來配置條帶。問題是,當(dāng)我嘗試使用標(biāo)簽為“用卡付款”提供的按鈕進(jìn)行付款時,它會收集我的卡信息,然后當(dāng)我單擊該按鈕,它顯示“有些錢將從卡中扣除”,如下圖所示:“預(yù)覽”頁面的圖像然后,在我單擊下訂單按鈕后,它向我顯示了此信息: 確認(rèn)頁面的圖像雖然我已經(jīng)用我的卡付款了。我想奧斯卡似乎還不知道這筆付款已經(jīng)通過條紋完成了,但是我不確定如何解決。方法2:我嘗試使用dj-stripe,在這里找到:https://github.com/dj-stripe/dj-stripe但是我在https://dj-stripe.readthedocs.io/en/stable-1.0/上閱讀了整個文檔 ,似乎我只能將其用于需要訂閱的產(chǎn)品,我不需要訂閱,而文檔dj-stripe尚未完全完成。我嘗試了django-oscar官方 倉庫,鏈接在這里:https : //github.com/django-oscar/django-oscar-stripe,該存儲庫已有五年歷史,我認(rèn)為它不兼容與我的Django oscar版本一起使用。方法3:我嘗試使用stripe.js和elements并創(chuàng)建了我的表單來接受卡片:在我的python views.py文件中,我創(chuàng)建了條帶電荷和源。@csrf_exemptdef stripe_payment(request): user = request.user source_id = request.POST.get("stripeSource", None) amount = request.POST.get("amt", None) stripe.api_key = "your_test_key" customer = stripe.Customer.create( email=email, source=source_id, ) # print("Customer ID: ", customer['id']) amt = float(amount) * 100 # print("Amount:", int(amt)) int_amt = int(amt) charge = stripe.Charge.create( amount=int_amt, currency='cad', customer=customer['id'], source=source_id, ) return HttpResponseRedirect("/checkout/preview/")然后,我在條紋儀表板中創(chuàng)建了一個Webhook,并將其鏈接到我的本地URL,每次通過Web鉤子發(fā)送來自Stripe的響應(yīng)時,此URL都會被命中。@csrf_exemptdef demo_checkout(request): # Retrieve the request's body and parse it as JSON: event_json = json.dumps(json.loads(request.body), indent=4) # event_json = json.loads(request.body)到目前為止,我可以從儀表板上跟蹤各種事件或日志,以及諸如創(chuàng)建客戶,進(jìn)行收費(fèi)以及通過網(wǎng)絡(luò)掛鉤發(fā)送響應(yīng)之類的事件都可以,但是我不知道該如何完成付款,這樣Django-oscar也可以知道付款已經(jīng)完成,并且不顯示“不需要付款”: 謝謝頁面我已經(jīng)嘗試了所有這些方法,但是仍然無法使用。我愿意使用建議的任何其他方法,或者對到目前為止介紹的任何方法所做的改進(jìn)。我是django-oscar的新手并給出一些代碼和一些解釋的答案將是有幫助的。
查看完整描述