gpt4 book ai didi

angular - 在 Angular 4 中处理 Paypal onAuthorize 回调

转载 作者:太空宇宙 更新时间:2023-11-03 16:22:34 25 4
gpt4 key购买 nike

我可以在 Angular 4 应用程序中成功加载 checkout.js,呈现 Paypal 按钮,出现新窗口,我确认付款,付款已处理但我不知道如何设置 onAuthorize 回调来处理 Angular 中的响应4(比如显示成功,存储一条支付记录到MongoDb)。这是我的代码。我可以看到包含付款响应的第一个 console.log,但我无法访问组件的范围,因此在执行第一个 console.log 后什么也没有。我在控制台中没有错误。即使是 console.log("successful!") 也没有被处理。

onAuthorize: (data, actions) => {
return actions.payment.execute().then(function(payment) {
console.log("response = " + JSON.stringify(payment));
this._alertService.success("The extension of subscription was succesfull!");
this.user.contracts.push({
"acquired": new Date(payment.create_time),
"price": payment.transactions[0].amount.total,
"expires": new Date(this.user.expires.getFullYear()+this.selectedAccountExtensionOption.addedYears, this.user.expires.getMonth(), this.user.expires.getDate())
});
console.log("successful!");

});
},

最佳答案

问题是上下文 (this) 在回调中不可用。最好的解决方案是按照 answer to this question 中的说明绑定(bind) this

替代解决方案是在 PayPal 回调中发出自定义事件(文档 here)

let event = new CustomEvent('dosomething', { data: "some data"});

然后在您的组件中捕获此事件。文档 here .

@HostListener('dosomething') 
onDoSomething(data) {
console.log(data)
// your rest of the implementation
}

关于angular - 在 Angular 4 中处理 Paypal onAuthorize 回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46861004/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com