javascript - Paypal 智能按钮 : Is there any way onApprove runs without the payment having completed?

标签 javascript php paypal

所以我有一个使用 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/

相关文章:

api - 如何获取 Paypal API V2 的交易 ID

javascript - 如何在对象中附加数组值作为属性和值?

javascript - 如何异步查询多条SQL?

javascript - 为什么 JavaScript ES6 不支持多构造类?

php - 从 PHP 执行 wkhtmltopdf 失败

iphone - 关于iphone中的Paypal支付? (说明如下)

javascript - Paper.js 事件行为因浏览器而异

php搜索帮助

php - 关联表上的 sql whith OR

php - 使用 PayPal 的 REST API 定义谁支付交易费用