Paypal 提供了一个 easy way to integrate its express checkout solution但是在用 typescript 编写的 angular2 项目中使用此解决方案的最佳解决方案是什么?
最佳答案
我用过这样的解决方案:
加载外部脚本的方法
private loadExternalScript(scriptUrl: string) {
return new Promise((resolve, reject) => {
const scriptElement = document.createElement('script')
scriptElement.src = scriptUrl
scriptElement.onload = resolve
document.body.appendChild(scriptElement)
})
组件代码
ngAfterViewInit(): void {
this.loadExternalScript("https://www.paypalobjects.com/api/checkout.js").then(() => {
paypal.Button.render({
env: 'sandbox',
client: {
production: '',
sandbox: ''
},
commit: true,
payment: function (data, actions) {
return actions.payment.create({
payment: {
transactions: [
{
amount: { total: '1.00', currency: 'USD' }
}
]
}
})
},
onAuthorize: function(data, actions) {
return actions.payment.execute().then(function(payment) {
// TODO
})
}
}, '#paypal-button');
});
}
信用
Andrei Odri 在这里的回答:script tag in angular2 template / hook when template dom is loaded
关于angular - 如何将 PayPal 快速结帐集成到 angular2 typescript 项目中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43806348/