На моем веб-сайте есть товары в нескольких валютах, которые продаются на одной и той же странице, поэтому пользователь может щелкнуть продукт, который продается в евро, и заплатить в евро, или щелкнуть продукт, который продается в долларах США, и заплатить в долларах США ии так далее ...
Проблема в том, что после инициализации нового PayPal SDK вы не можете изменить принимаемую валюту без:
- уничтожения элемента
- изменив ссылку на SDK, чтобы она принимала другую валюту
- , вручную вводя ее на страницу
- реинициализируя ее
Как вы, наверное, понимаетеэто не очень быстро, стабильно или безопасно одновременно.Я что-то пропустил?Я знаю, что вы могли бы отправить валюту в качестве параметра в старой версии Express Checkout.
Документация PayPal приводит в бешенство, в ней отсутствует много информации и нет большого сообщества вокруг нее, поэтому янигде не смог найти ответ на мой вопрос.
Я попытался отправить валюту в параметрах платежа, но если она отличается от инициализированной валюты, он выдает ошибку несоответствия валют, когда вы пытаетесь подтвердить платеж.
Прямо сейчас я вручную вводю и повторно инициализирую PayPal SDK с правильной валютой, если пользователь нажимает на опцию оплаты через PayPal, но это медленно и требует жесткого сна (хотя, вероятно, из-за моего отсутствиязнаний, вероятно, есть лучшие способы).
Вот псевдокод моей текущей настройки, который не приемлем:
initialisePaypalSDK(currency) {
destroy old initialisation
change link to paypal with new currency
inject new link to page
initialise the new sdk
sleep until the paypal variable is defined
showPayPalButton()
}
Я ожидаю, что есть более простой и безопасный способ изменениявалюта, чем эта.Спасибо.