Я пытаюсь внедрить умную кнопку 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');
},
Будем благодарны за любые предложения или справки.
Спасибо