Php 将用户标识符传递给PayPal';s notify_url

Php 将用户标识符传递给PayPal';s notify_url,php,paypal,Php,Paypal,我的网站上有一个简单的PayPal购买按钮。用户转到paypal,当他完成购买后,他会自动重定向到我的网站(目前在沙盒上,重定向前有一个屏幕,上面写着“如果在10秒钟内你没有被重定向…”)。另外,我已经在我的服务器上设置了一个带有url的notify_url来处理成功付款 我有两个问题: 我的网站使用用户登录。因此,单击“购买”按钮的用户已经登录。我的问题是,当我在notify_url上处理paypal IPN时,找出哪个用户购买的最好方法是什么?我曾考虑根据按钮表单上的用户id设置一个唯一标识

我的网站上有一个简单的PayPal购买按钮。用户转到paypal,当他完成购买后,他会自动重定向到我的网站(目前在沙盒上,重定向前有一个屏幕,上面写着“如果在10秒钟内你没有被重定向…”)。另外,我已经在我的服务器上设置了一个带有url的notify_url来处理成功付款

我有两个问题:

  • 我的网站使用用户登录。因此,单击“购买”按钮的用户已经登录。我的问题是,当我在notify_url上处理paypal IPN时,找出哪个用户购买的最好方法是什么?我曾考虑根据按钮表单上的用户id设置一个唯一标识符,但我就是找不到如何实现这一点的文档

  • 当用户完成购买时,他应该能够访问某些内容。假设用户在购买后登录,我想检查数据库,看看他是否真的成功完成了购买。因此,我的问题是,我能否确定在用户登录/account之前执行notify_url回调

  • 我真的不想让愤怒的客户成功购买但仍然无法访问。确保这种情况永远不会发生的最佳方式是什么

    谢谢。

    如果您查看Paypal的,您将看到一个名为“custom”的字段可以使用。其说明:

    自定义:由您(商户)传递的自定义值。这些是 传递从未呈现给客户的变量。 长度:255个字符

    表格示例:

    <input type="hidden" name="custom" value="<?php echo $user_id; ?>"/>
    

    太好了,行得通。你知道第二个问题吗?虽然我不想说“确定”这个词,但我想是的。测试?我没有在表单中指定returnURL和notifyURL,但我在PayPal帐户的设置页面中设置了它们。一切正常,但我不能传递任何像上面那样的自定义值。有人能告诉我这里出了什么问题吗?
    $user_id = $_POST['custom'];