And*_*ord 6 php paypal paypal-sandbox paypal-rest-sdk
我正在尝试将PayPal REST API集成到我的Symfony 2 Web应用程序中,但我发现很难理解完整的工作流程到底是什么样的:
在贝宝文档描述以下步骤接受付款.可以使用PayPal Playground来模拟这些步骤:
Payment通过查询API对象approval url接收PaymentPayment对象中定义的成功链接将其重定向回我的页面.使用收到的信息执行付款.approved从文档:一旦付款完成后,它被称为 销售.然后,您可以查找销售并退款.
到现在为止还挺好.但是:在这个工作流程中,Webhooks在哪里使用/解雇?我在PayPal开发人员仪表板中定义了一个通配符Webhook(接受所有可能的事件).
我的观察是,我的系统接收网络挂接事件1-2分钟(!) 后,用户被重定向到成功的链接和被处决后付款(第四步).
除了执行付款和接收Webhook之间的这个长时间延迟之外,这个工作流程意味着我只接收处理成功链接后的Webhook .这意味着,处理成功链接绝对是完成付款所必需的.它是否正确?
我需要使用Webhooks吗?
我已经在几天前问过这个问题了,nifr的答案是非常合理的:人们不能相信用户遵循任何重定向URL,但应该只依赖于Webhook事件.
然而,这与我之前描述的观察结果相冲突,因为如果不处理重定向URL,我将永远不会收到Webhook ...
因此,处理PAYMENT.SALE.COMPLETEDwebhook事件没有多大意义,因为在处理重定向URL时应该已经完成了.正确?
但是,只有通过收听这些事件,才能处理待处理付款的更新,处理退款或撤销付款等.
所以答案是:只使用Webhooks获取之前付款的更新.正确?
所以,主要问题是:
我仍然是 PayPal 世界的新手,但几天前我在网上商店中集成了 PayPal Plus REST API,根据我的理解,我可以看出工作流程如下所示:
$payment->execute($paymentExecution,$api);,您要求 Paypal 向用户收取费用。但在此之后,你就没有钱了。Paypal 首先处理收费并稍后通过 WebhookEvents 通知您。当用户通过直接借记卡或信用卡等方式付款时,Webhook 通知(具有令人讨厌的延迟)尤其重要。处理此类付款需要几秒钟/几分钟。
该redirectUrl对于收费/执行付款是绝对必要的。这里执行成功,只是告诉用户,他完成了他的工作,你可以在这里保存/捕获 PaymentID/Transaction id 以便以后通过 WebhookEvent Listener 使用/更新。
所以我建议您仅在通过 WebhookEvent Listener 收到通知后更新数据库(付款已完成),而不是在成功的 RedirectUrl 中更新。
| 归档时间: |
|
| 查看次数: |
1159 次 |
| 最近记录: |