PHP(CodeIgniter)-PAYPAL IPN(无法将当前用户的会话发送到贝宝的ipn文件)

z31licg0  于 2022-12-07  发布在  PHP
关注(0)|答案(1)|浏览(108)

我的集成工作正常,即使IPN返回的信息正确。但是,我不能发送会话到IPN文件,以添加用户ID到数据库除了从贝宝(价格/交易_id...)返回的信息。会话是共享的所有其他页面和功能,在我的应用程序,除了通知。php(ipn文件)。

nsc4cvqm

nsc4cvqm1#

IPN是从PayPal服务器直接发送到您的服务器的邮件。它不会与访问您网站的用户共享任何会话信息,因为用户及其用户代理(浏览器)不会以任何方式参与IPN通信。
IPN是一种非常古老的传统技术,应该很快就会被淘汰,没有理由将其与当前的PayPal结账集成一起使用,这些集成可以提供支付捕获成功和失败的即时API响应。
但是,如果您出于某种奇怪的原因必须继续使用IPN服务,通常的方法是在原始PayPal交易中包含一个custom参数,该参数的值将作为IPN数据的一部分传回,然后可以与Web会话、未结订单或其他任何您需要做的事情进行协调。
但是,最好的解决方案还是不要使用IPN,而是集成当前的v2/checkout/orders API,最好不要将用户从您的站点重定向出去,并使用上下文中的JS SDK审批流。

相关问题