laravel 中的 PayPal IPN 集成(需要在我的后端实时更新定期付款状态)

Posted

技术标签:

【中文标题】laravel 中的 PayPal IPN 集成(需要在我的后端实时更新定期付款状态)【英文标题】:PayPal IPN integration in laravel (need to update recurring payment status real time in my backend) 【发布时间】:2020-05-14 03:34:43 【问题描述】:

我正在使用 PayPal 的 php SDK 在我的 laravel 项目中集成 PayPal recurring。我成功地实现了这一点,但我只遇到了一种情况。

当用户订阅我的网站时,我第一次收到他/她的付款回复,但如何自动管理其付款状态。我正在使用 PayPal IPN,但仍未找到合适的解决方案。

需要在我的后台实时更新定期付款状态

【问题讨论】:

到目前为止你尝试过什么?非常一般的步骤是: (1) 实现一个 IPN 侦听器。 (2) 当IPN监听器URL收到来自PayPal的IPN时,将其发回PayPal进行验证。 (3) 如果验证成功,使用该IPN中的信息更新您数据库中的支付状态。 我想在用户支付成功后实时更新我的​​数据库。但在 IPN 中,这不是实时的。 【参考方案1】:

IPN 和 webhook 是仅有的两种自动方法,可以在每个结算周期甚至在结算周期之间(例如取消)收到定期付款状态更新的通知。


如果您担心客户进行的第一次初始付款,则不需要 IPN 或 webhook 就可以收到他们的初始结帐通知提供您使用用于集成的服务器端模式,例如:https://developer.paypal.com/demo/checkout/#/pattern/server

但是,如果您不使用服务器端模式来保证您的服务器会立即收到关于重复创建配置文件成功/失败的 API 响应,那么您确实需要 IPN 或 webhook以保证您的服务器得到通知。

【讨论】:

该链接只是一个 javascript 基本代码,它没有更新我的后端系统。我不明白。 在交易批准后,javascript 会提取 XHR,并且捕获发生在服务器端。但实际上,对于订阅,现在似乎有办法延迟“捕获”个人资料。一旦获得批准,订阅就会启动。所以为了保证通知,你需要实现 IPN 或者 webhook。没有别的办法。

以上是关于laravel 中的 PayPal IPN 集成(需要在我的后端实时更新定期付款状态)的主要内容,如果未能解决你的问题,请参考以下文章

没有 IPN 的 Paypal 集成

Laravel Paypal IPN 与 localtunnel 随机 400 错误请求

Paypal IPN 问题(与后端流程集成)

PayPal:IPN/REST/Webhooks 与 Java 程序的集成

PayPal 集成 (IPN) - 真的有多大可能?

Paypal IPN 集成问题