繁体   English   中英

贝宝智能按钮:有没有办法在付款未完成的情况下运行 onApprove?

[英]PayPal Smart Buttons: Is there any way onApprove runs without the payment having completed?

所以我有一个使用 PayPal 智能按钮的网站,我有一个代码,可以在买家购买产品时向他发送产品。 它使用 PHP 文件发送产品。

我有在 onApprove 函数运行时调用 PHP 的 javascript 代码。

我知道这不是最安全的方法,但我发现使用 API 真的很困难,而且需要很多时间,所以我决定这样做。

但是当我没有收到 PayPal 上的钱,但程序将产品发送给他们时,我遇到了问题。 它有时有效,有时无效。

我确信 PHP 代码只能在 onApprove 运行时运行,所以这不是问题。

有没有办法让 onApprove 在付款未完成的情况下运行?

当然是。 只要客户批准付款, onApprove运行,这意味着他们单击了最终批准操作,通常称为“立即付款”。 并不意味着支付已经捕获/完成导致贝宝交易。

通常在onApprove您会执行类似 call actions.capture() ,因此如果成功(并且仅当成功时),您将想要触发您的 PHP 代码。 更安全的实现是调用您的 PHP 代码并让它在服务器端执行 v2/orders 捕获 API 调用,但这取决于您。 这是这种服务器端集成模式的演示: https : //developer.paypal.com/demo/checkout/#/pattern/server

或者,您也可以尝试定义一个onComplete函数来调用您的 PHP 代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM