Можно ли условно отобразить скрипт src в VueJs для умной кнопки PayPal? - PullRequest
1 голос
/ 09 июля 2019

Я пытаюсь внедрить умную кнопку PayPal в VueJs, однако мое приложение для обработки платежей должно обрабатывать несколько валют.Валюта, которую принимает PayPal, определяется в файле сценария index.html, который нельзя динамически изменить в VueJS.Однако возможно ли заменить этот подход чем-то встроенным в VueJ, когда умная кнопка / кнопки рендерится.Это означает, что возможно динамически изменить ¤cy = XXX или параметр кода продавца в зависимости от условия?

Я не желаю использовать решение vue-paypal-checkout в качестве егоустарел в отношении конечных точек и информации об ответах, которую вы можете получить.

Кроме того, я пробовал аналогичные решения, описанные ниже, но обнаружил ошибку «paypal» из-за рендеринга.

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');



        },

Будем благодарны за любые предложения или справки.
Спасибо

...