为什么我不能在我的Paypal IPN文件中设置cookie

时间:2017-06-16 15:07:45

标签: javascript php paypal-ipn setcookie

我的Paypal ipn文件工作正常 - 一旦验证我可以将付款人添加到我的sql数据库并写入我服务器上的日志文件,但是setcookie似乎不起作用。我想简单地设置一个标志,以便我知道这个人付了钱。 我怎样才能设置一个标志,以便我的Javascript代码知道他们已付款?

2 个答案:

答案 0 :(得分:1)

IPN请求由PayPal服务器发出,而不是由用户的Web浏览器发出。您无法在未提出请求的用户代理中设置Cookie!

要将PayPal用于会员制,您需要做以下几件事:

  • 拥有使用数据库的用户登录系统。希望你已经拥有了!在包含用户的数据库表中包含已付款的列。

  • 在付款中包含一些数据,用于标识正在付款的用户。例如,在invoice字段中包含用户ID。

  • 收到经过验证的IPN后,请从invoice字段中读取用户ID,并更新数据库中的相应行。

答案 1 :(得分:-1)

我找到了这个解决方案,如果确实是服务器在检查之前没有设置cookie:

setcookie('uname', $uname, time()+60*30);
$_COOKIE['uname'] = $uname;

https://stackoverflow.com/a/3230167/7924393

如果可以提供帮助。