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 无法授权支付的主要内容,如果未能解决你的问题,请参考以下文章
如何在 React 和 Flask 中检测过期的 PayPal 订阅?
无法计算构建计划:无法解析插件 org.apache.maven.plugins:maven-jar-plugin:2.3.2 或其依赖项之一