【问题标题】:react-paypal-button-v2 cannot authorize paymentreact-paypal-button-v2 无法授权支付
【发布时间】:2022-01-05 05:56:55
【问题描述】:

我正在尝试授权付款并稍后获取资金。基本上,我想保留客户卡上的资金。然后处理订单,最后在订单准备好时捕获金额。我按照贝宝指南这样做:https://developer.paypal.com/docs/business/checkout/add-capabilities/authorization/ 但是,无论我尝试过什么,我总是最终“捕获”全部金额而不是暂停。 我正在使用 react-paypal-button-v2 作为贝宝按钮 这是我的代码:

import { PayPalButton } from "react-paypal-button-v2";

const addPayPalScript = () => {
    const script = document.createElement("script");
    script.type = "text/javascript";
    script.src =
      "https://www.paypal.com/sdk/js?client-id=YOUR_CLIENT_ID&intent=authorize";
    //script.src = "https://www.paypal.com/sdk/js";
    script.async = true;
    script.onload = () => {
      setSdkReady(true);
    };
    document.body.appendChild(script);
  };
  useEffect(() => {
   
      if (!window.paypal) {
        addPayPalScript();
        setSdkReady(true);
      } else {
        setSdkReady(true);
      }
    }
  }, []);

return  {!sdkReady ? (
                    <Loader />
                  ) : (
                    <PayPalButton
                       amount={100}         
                      onSuccess={successPaymentHandler}

                    />
                  )}

我还尝试了以下方法:

const addPayPalScript = () => {
    const script = document.createElement("script");
    script.type = "text/javascript";
    script.src =
      "https://www.paypal.com/sdk/js";
    script.async = true;
    script.onload = () => {
      setSdkReady(true);
    };
    document.body.appendChild(script);
  };
 const initialOptions = {
    clientId:
      MyPaypalID,
    intent: "authorize",
  };

return  {!sdkReady ? (
                    <Loader />
                  ) : (
                    <PayPalButton
                       amount={100}         
                      onSuccess={successPaymentHandler}
    options={initialOptions}

                    />
                  )}

【问题讨论】:

    标签: reactjs paypal payment-gateway paypal-sandbox payment


    【解决方案1】:

    使用官方的react-paypal-js 并指定执行actions.order.authorize() 而不是默认捕获的onApprove 函数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-22
      • 2020-11-12
      • 2016-12-11
      • 2020-03-29
      • 1970-01-01
      • 2023-03-08
      • 2017-09-20
      • 1970-01-01
      相关资源
      最近更新 更多