我正在尝试在VueJs中实现贝宝智能按钮,但是我的付款处理应用程序必须处理多种货币。贝宝接受的货币在index.html脚本文件中定义,您无法在VueJS中动态更改。但是,当智能按钮获得渲染时,可以用VueJs中内置的方法代替这种方法。意味着是否可以根据条件动态更改&currency = XXX 或市场代码参数?
我不愿意使用vue-paypal-checkout解决方案,因为它不赞成使用端点,并且您可以检索到哪些响应信息。
此外,我在下面尝试了类似的解决方案,但是由于渲染而遇到“贝宝”未定义的错误。
let ckeditor = document.createElement('script'); ckeditor.setAttribute('src',"//cdn.ckeditor.com/4.6.2/full/ckeditor.js");
document.head.appendChild(ckeditor);
来自 https://medium.com/@lassiuosukainen/how-to-include-a-script-tag-on-a-vue-component-fe10940af9e8
在下面,您可以看到我的智能按钮渲染功能。
当安装页面时,渲染按钮函数在执行时就存在于函数中。在我的情况下,此页面是个孩子。
createPayPalOrderFor10() {
var selectedIdOfService = this.serviceIdSelected
var enteredNumberOfCustomer = this.telephoneNumberEntered
paypal.Buttons({
createOrder: function(data, actions) {
return actions.order.create({
purchase_units: [{
amount: {
value: '10.00',
}
}]
});
},
onApprove: function(data, actions) {
return actions.order.capture().then(function(details) {
AXIOS({
method: 'POST',
url: 'api/order/',
data: {
serviceId: selectedIdOfService,
telephoneNumber: enteredNumberOfCustomer,
amount: details.purchase_units[0].amount.value,
customerPayPalId: data.payerID,
paymentCurrency: details.purchase_units[0].amount.currency_code,
payPalCaptureTime: details.create_time,
transactionId: details.purchase_units[0].payments.captures[0].id,
orderNumber: data.orderID
},
})
.then(response => {
console.log(response.data)
})
}
);
}
}).render('#paypal-button-container-10');
},
任何帮助建议或进一步的参考将不胜感激。
谢谢