我正在将 PayPal REST API 集成到我的 Symfony 2 Web 应用程序中。我不确定完成订单/付款的正确时间/地点是什么:
连同其他参数,如金额、客户数据等。我将两个 URL 传输到 PayPal API:一个是用户在接受付款时重定向到的 URL,另一个是在付款取消时用户重定向到的 URL。
这没有任何问题,当付款完成时,当用户使用我之前传输的 URL 重定向到我的页面时,我会获得完成订单所需的所有信息(例如解锁某些内容)。
但是我不确定这是否是正确的方法:
pending将completed在他手动将钱转入其 PayPal 帐户时创建并将设置为。我必须以completed某种方式处理第二条消息可以使用Webhooks以下方法解决这些问题: 我在我的 PayPal 配置文件中指定一个特殊的回调 URL,API 将使用此 URL 通知我的系统不同的事件。
这样我会在付款待处理时收到通知,并在付款完成后立即收到第二个通知。听起来很棒。但是,Webhooks 是否也意味着完成即时支付?Doks 说,Webhooks 调用是异步执行的,并且无法保证它们的顺序。
我可以确定,PAYMENT.SALE.COMPLETED在用户重定向到我的页面之前,我的系统会通过Webhook接收事件吗?或者有没有可能,他先被重定向,我稍后再收到事件?在这种情况下,用户将返回页面并且看不到购买结果。
那么,处理重定向 URL 和 webhook 事件以完成付款的正确方法/顺序是什么?