2

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

我有两个问题:

  1. 我的网站使用用户登录。所以点击购买按钮的人是已经登录的用户。我的问题是,当我在 notify_url 上处理 paypal IPN 时,确定哪个用户进行了购买的最佳方法是什么?我考虑过根据按钮表单上的用户 ID 设置一个唯一标识符,但我只是找不到文档如何做到这一点。

  2. 当用户完成购买时,他应该能够访问某些内容。所以说用户在购买后登陆http://www.example.com/account,我想检查一下数据库,看看他是否真的成功完成了购买。所以我的问题是,我可以确定 notify_url 回调将在用户登陆 /account 之前执行吗?

我真的不希望有成功购买但仍然无法访问的愤怒客户。确保这种情况永远不会发生的最好方法是什么?

谢谢你。

4

1 回答 1

2

如果您查看 Paypal 的IPN 和 PDT 变量页面,您会看到可以使用名为“custom”的字段。其描述:

custom:由您(商家)传递的自定义值。这些是永远不会呈现给客户的传递变量。长度:255 个字符

表格示例:

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

在您的 IPN 响应脚本中:

$user_id = $_POST['custom'];
于 2012-10-02T15:28:19.530 回答