在 Paypal SDK 中更改货币

Changing currency in Paypal SDK

我正在尝试在 JavaScript/React

中连接到 PayPal

我设置了流程,但只识别美元。 我曾尝试遵循一直对我有用的在线建议,但很难让它与另一种货币(如 GBP

一起使用
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'&currency=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。

更新:应该使用官方 react-paypal-js 模块

使用[非官方]时https://github.com/Luehang/react-paypal-button-v2#large_blue_diamond-props

“货币”有一个参数,例如

<PayPalButton 
    amount={order.totalPrice}
    currency="GBP"
    onSuccess={successPaymentHandler}
></PayPalButton> 

这是创建订单时的货币,(如果在抽象代码中指定)需要与SDK加载线上的货币相匹配。