【发布时间】:2021-02-21 20:50:48
【问题描述】:
我正在尝试使用 JavaScript/React 连接到 PayPal
我已设置流程,但仅用于识别美元。 我曾尝试遵循网上的建议,这对我一直很有帮助,但很难让它与英镑等另一种货币一起使用
const dispatch = useDispatch();
useEffect(() => {
const addPayPalScript = async () => {
const { data } = await Axios.get('/api/config/paypal');
const script = document.createElement('script');
script.type = 'text/javascript';
script.src = "https://www.paypal.com/sdk/js?client-id='myclientid'¤cy=GBP";
script.async = true;
script.onload = () => {
setSdkReady(true);
};
document.body.appendChild(script);
};
然后当我按下按钮时
<PayPalButton
amount={order.totalPrice}
onSuccess={successPaymentHandler}
></PayPalButton>
我在 order.currency 中也有货币作为字段。
错误来自 意外货币:美元传递给 order.create。请确保您在 paypal 脚本标签中传递 /sdk/js?currency=USD。 到 意外货币:英镑传递给 order.create。请确保您在 paypal 脚本标签中传递 /sdk/js?currency=GBP。
【问题讨论】:
-
client-id='myclientid'的格式如何?不应该有引号 -
不,我没有任何引号。我把它们放在它们上面是为了让它更清楚,但显然不是哈哈,所以如果我对以美元为单位的金额没问题,代码就可以工作,但我需要以 gbp 为单位。
-
好吧,如果您传递货币=GBP,那么它应该可以使用 GBP 创建订单,但您没有向我们展示后者
-
你知道我是否需要将 {order.totalPrice} 定义为某处的 GDP 吗?
-
当您创建付款时,它需要使用英镑。谁知道
抽象背后发生了什么,您显然在使用类似反应对象的东西,但我们无法就我们看不到的内容提供建议
标签: javascript paypal paypal-sandbox