javascript - 如何允许用户在 Django 中使用 paypal 相互支付
问题描述
我一直在关注这个,最终用户可以向我付款并获得他们的产品,但是,我希望用户互相付费。
两个用户都应该输入他们与他们的 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/
然后更改您的按钮代码以调用这两条路线:https ://developer.paypal.com/demo/checkout/#/pattern/server
对于互相付费的用户,添加一个payee
对象:https ://developer.paypal.com/docs/checkout/integration-features/pay-another-account/
推荐阅读
- php - preg_split 从右到左匹配预设实例数
- mysql - MySQL Left-Join vs Join with subquery 返回不同的结果
- docker - 标记和推送 Docker 映像更改摘要
- swift - swift词典中键和值的区别是什么
- java - 为什么我的网格显示实体字段 - Vaadin 14
- pandas - pandas pivot_table aggfunc 值错误
- json - 如何为 mongodump 编写正确的 mongodb 查询?
- regex - 用于 -2 和 5 之间的数字范围检查的正则表达式
- python - 如何比较同一列表中的元组?
- c - 矩阵(二维数组)及其值未正确写入 txt 文件