如何解决如何在Django中允许用户通过Paypal互相付款
我一直关注 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({})
此外,如果有人可以帮助我在完成此功能之前检查付款是否完成,那就太好了!
解决方法
如果您要检查付款是否完成,则应切换到v2 / orders / checkout API的正确服务器端集成,无论是否带有Checkout-Python-SDK。
您将需要两条路线,一条用于“设置交易”,另一条用于“创建交易”,在此处记录:https://developer.paypal.com/docs/checkout/reference/server-integration/
然后更改您的按钮代码以调用这2条路由:https://developer.paypal.com/demo/checkout/#/pattern/server
对于互相付款的用户,添加一个payee
对象:https://developer.paypal.com/docs/checkout/integration-features/pay-another-account/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。