【发布时间】:2020-09-09 08:17:57
【问题描述】:
我们正在为我们的网络应用使用 Paypal 结账。我们有设置付款的客户端库。在后端,我们试图通过 webhook 捕获处理后的细节。我们在沙盒帐户上对此进行了测试。除了自定义字段外,webhook 正在按预期发送所有详细信息。我们需要自定义字段才能将付款与特定服务相关联。
在我们的网络应用中,我们有以下内容:
paypalConfig = {
env: 'sandbox',
style: {
size: 'responsive',
color: 'white',
shape: 'rect',
label: 'pay',
layout: 'horizontal',
tagline: 'false'
},
client: {
sandbox: 'SANDBOX_ID',
},
commit: false,
payment: (data, actions) => {
console.log("data is", data, actions);
return actions.order.create({
payment: {
transactions: [
{ amount: { total: this.finalAmount * 100, currency: 'USD' }, job_id: this.jobId }
]
}
});
},
onApprove: (data, actions) => {
return actions.order.capture().then((details) => {
// This function shows a transaction success message to your buyer.
// alert('Transaction completed by ' + details.payer.name.given_name);
this.openModel('modal1');
}).catch(err => {console.log("Error in authorize in paypal", err); this.openModel('modal2');})
}
}
如您所见,支付处理程序正在为交易对象添加一个 job_id 属性。在后端,我们正在监听以下事件:
结帐订单完成,付款捕获完成,付款销售完成
我们只需要监听一个事件(如收到付款),它会告诉我们交易何时完成。我不确定,所以我添加了所有似乎相关的事件,因为没有任何名为 Payment Received 的事件。
可以像我们在这里尝试的那样完成吗?我们没有在 webhook 中获取自定义 job_id 字段。
【问题讨论】:
标签: paypal paypal-sandbox