所以我有一个使用 PayPal 智能按钮的网站,并且我有一个代码,可以在买家购买产品时向他发送产品。它使用 PHP 文件发送产品。
我有在 onApprove 函数运行时调用 PHP 的 JavaScript 代码。
我知道这不是最安全的方法,但我发现使用 API 真的很难,而且会花费很多时间,所以我决定这样做。
但是当我没有收到 PayPal 上的钱,但程序将产品发送给他们时,我遇到了问题。有时有效,有时无效。
我确信 PHP 代码只能在 onApprove 运行时运行,所以这不是问题。
有什么方法可以在付款尚未完成的情况下运行 onApprove 吗?
最佳答案
是的,当然。每当客户批准付款时,onApprove
就会运行,这意味着他们点击了最终批准操作,通常措辞为“立即付款”。这并不意味着付款已被捕获/完成并导致 PayPal 交易。
通常在 onApprove
中,您会执行诸如 call actions.capture()
之类的操作,因此如果成功(并且仅当成功时),您会想要触发您的PHP 代码。更安全的实现是调用 PHP 代码并让它在服务器端执行 v2/orders capture API 调用,但这取决于您。以下是此类服务器端集成模式的演示:https://developer.paypal.com/demo/checkout/#/pattern/server
或者,您也可以尝试定义一个 onComplete
函数来调用您的 PHP 代码。
关于javascript - Paypal 智能按钮 : Is there any way onApprove runs without the payment having completed?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60660452/