我的网站在同一页上销售多种货币的产品,所以一个人可以点击以欧元出售的产品并用欧元付款,或者他们可以点击以美元出售的产品并用美元付款,依此类推...
问题是,一旦你初始化了新的PayPal SDK,就不能改变它接受的货币,除非进行以下操作:
- 销毁该元素
- 更改SDK的链接,使其接受不同的货币
- 手动将其注入到页面中
- 重新初始化它
你可能能理解,这样做并不是很快速、稳定或安全。我有什么遗漏吗?我知道你可以将货币作为参数发送到旧的Express Checkout版本中。
PayPal文档让人沮丧,缺少很多信息,并没有很大的社区围绕它,所以我无法在任何地方找到答案。
我尝试在支付参数中发送货币,但如果与初始化的货币不同,一旦尝试确认付款,就会抛出货币不匹配错误。
现在,如果用户选择使用PayPal付款选项,我正在手动重新注入和重新初始化带有正确货币的paypal SDK,但这很慢,需要硬编码休眠时间(虽然这可能是由于我的知识不足,可能有更好的方法)。
这是我当前设置的伪代码,这是不可接受的:
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()
}
我希望有一种更简单、更安全的方式来更改货币,谢谢。
https://www.paypal.com/sdk/js?client-id=${credentials}¤cy=USD
,它只接受美元支付,我必须重新注入和重新初始化它,并加上¤cy=EUR
才能让它与欧元一起工作。如果我不设置参数,则默认为美元,而且您不能将数组作为参数发送。 - Артём Юрков