亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

用戶無法互相付款 django-paypal

用戶無法互相付款 django-paypal

慕工程0101907 2023-09-26 16:18:55
我有一個在線商店,用戶可以互相付款購買東西,我一直在使用沙箱帳戶對其進行測試,但我認為它不起作用。我實在不明白問題出在哪里這是我的觀點.py:def payment_process(request, trade_id):    trade = get_object_or_404(Trade, id=trade_id)    host = request.get_host()    paypal_dict = {        'business': trade.seller.email,         'amount': Decimal(trade.price),        'item_name': trade.filename,        'invoice': str(trade.id),        'currency_code': 'USD',        'notify_url': 'https://{}{}'.format(host,                                           reverse('paypal-ipn')),        'return_url': 'https://{}{}/{}'.format(host,                                           *reverse('payment_done', kwargs={'trade_id': trade.id})),        'cancel_return': 'https://{}{}'.format(host,                                              reverse('home')),    }    form = PayPalPaymentsForm(initial=paypal_dict)    return render(request, 'payment/payment_process.html', {'trade': trade, 'form': form})@csrf_exemptdef payment_done(request, trade_id):    # Do some very important stuff after paying ...    # It would be really nice if someone can help me with a checker    messages.success(request, 'Your product is in your inbox now')    return redirect('trade:inbox')我的網址.py:urlpatterns = [    path('admin/', admin.site.urls),    ...    # Prodbox Payment    path('payment/process/<int:trade_id>/', payment_views.payment_process, name="payment_process"),    path('payment/done/<int:trade_id>/', payment_views.payment_done, name="payment_done"),    # Prodbox packages    path('paypal/', include('paypal.standard.ipn.urls')),]完成付款后將用戶重定向到 payment_done 視圖非常重要(如果我有一個檢查器在運行完成功能之前檢查付款是否完成,那就太好了)另請注意,我強調用戶使用他們的 PayPal 電子郵件帳戶那么為什么它不起作用?
查看完整描述

1 回答

?
千巷貓影

TA貢獻1829條經驗 獲得超7個贊

您說它不起作用,但沒有提供有關問題行為及其不起作用的原因的信息。

但我認為這并不重要,因為您使用了一個糟糕的集成(django-paypal,基于支付標準)來實現您想要的付款人返回“非常非常重要”的行為。


您應該切換到的集成是集成 v2/checkout/orders,無論是否帶有 Checkout-Python-SDK。您的服務器上需要兩條路線,一條用于“設置交易”,一條用于“捕獲交易”,記錄如下: https: //developer.paypal.com/docs/checkout/reference/server-integration/

用于審批的最佳前端 UI 如下: https: //developer.paypal.com/demo/checkout/#/pattern/server。在一個獨立的 HTML 文件中讓它運行良好,該文件調用 2 個 django 后端路由(通過 fetch),然后將其作為前端集成到 django 模板和結賬流程中。

對于用戶向另一個用戶付款的功能,請使用payee此處記錄的對象: https: //developer.paypal.com/docs/checkout/integration-features/pay-another-account/


查看完整回答
反對 回復 2023-09-26
  • 1 回答
  • 0 關注
  • 95 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號