是否可以在VueJ中有条件地为paypal智能按钮呈现src脚本?

时间:2019-07-09 17:59:31

标签: javascript vue.js paypal paypal-sandbox

我正在尝试在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');



        },

任何帮助建议或进一步的参考将不胜感激。
谢谢

0 个答案:

没有答案