react-paypal-button-v2 无法授权支付

Posted

技术标签:

【中文标题】react-paypal-button-v2 无法授权支付【英文标题】:react-paypal-button-v2 cannot authorize payment 【发布时间】: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

                    />
                  )

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于react-paypal-button-v2 无法授权支付的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法在后端 Nodejs 中处理付款?

指定货币 SGD 的 PayPal API

React Paypal 按钮意图

如何在 React 和 Flask 中检测过期的 PayPal 订阅?

Apache2.2 服务无法启动。

无法计算构建计划:无法解析插件 org.apache.maven.plugins:maven-jar-plugin:2.3.2 或其依赖项之一