【问题标题】:How to allow users to pay with paypal each other in Django如何允许用户在 Django 中使用 paypal 相互支付
【发布时间】:2021-01-17 02:21:18
【问题描述】:

我关注了 This,最终用户可以向我付款并获得他们的产品,但是,我希望用户互相付费。

两个用户都应该输入与他们的 PayPal 关联的电子邮件地址,现在我怎样才能使交易转帐到其他用户的电子邮件地址而不是我? 我的html

<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<scriptsrc="https://www.paypal.com/sdk/js?client-id=MY_SANDBOX_CLIENT_ID"></script>

<h1>you are about to pay {{ trade.price }}</h1>
<div id="paypal-button-container"></div>

<script>
            paypal.Buttons({
                createOrder: function (data, actions) {
                    return actions.order.create({
                        purchase_units: [{
                            amount: {
                                value: '{{trade.price}}'
                            }
                        }]
                    });
                },
                onApprove: function (data, actions) {
                    return actions.order.capture().then(function (details) {
                        $.ajax({
                            url: "{% url 'payment:pay_trade' trade.id %}",
                            data: {
                                csrfmiddlewaretoken: "{{ csrf_token }}"
                            },
                            method: 'POST',
                            success: function (response) {
                                alert('Successfully paid')
                            },
                            error: function (response) {
                                alert('something went wrong')
                            }
                        })
                    });
                }
            }).render('#paypal-button-container');
        </script>

功能:

def pay_trade(request, trade_id):
    trade = get_object_or_404(Trade, pk=trade_id)
    if request.method == 'GET':
        return render(request, 'payment/pay_trade.html', {'trade': trade})
    else:
        # Give something to the buyer
        # No idea how to check if the transaction was made but i hope so ;-;
          return JsonResponse({})

另外,如果有人可以帮我在使用功能之前检查付款是否完成,那就太好了,谢谢!

【问题讨论】:

    标签: javascript django paypal django-paypal


    【解决方案1】:

    如果您想检查付款是否完成,您应该切换到 v2/orders/checkout API 的适当服务器端集成,无论是否使用 Checkout-Python-SDK。

    您需要两条路线,一条用于“设置交易”,另一条用于“创建交易”,记录在此:https://developer.paypal.com/docs/checkout/reference/server-integration/

    然后更改您的按钮代码以调用这两条路线:https://developer.paypal.com/demo/checkout/#/pattern/server


    对于互相付费的用户,添加一个payee对象:https://developer.paypal.com/docs/checkout/integration-features/pay-another-account/

    【讨论】:

      猜你喜欢
      • 2021-01-15
      • 2021-03-22
      • 2013-08-13
      • 2017-08-17
      • 2013-08-15
      • 1970-01-01
      • 2013-12-02
      • 2014-09-21
      • 1970-01-01
      相关资源
      最近更新 更多