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