谁能帮帮我?正如标题所说,我有一个用户使用paypal购买的订单页面,支付完成后,用户被重定向到form.php。我的问题是,我可以直接访问form.php!!我怎样才能使它只能从贝宝访问成功付款?我知道我必须使用IPN或DPT,但我应该在我的form.php中写什么,以便我可以检查支付是否成功,用户是否可以访问此页面?伙计们,我需要你们的帮助!有人能写这个缺失的代码吗?
没有办法通过简单的重定向来验证付款是否已经完成。你"可以"检查推荐人,但这很容易被欺骗。
对于一个可靠的验证,你需要使用Paypal的IPN。
-
在您的
SetExpressCheckout
呼叫中添加一些独特的和即将到期的变量,您可以将其视为ReturnUrl
中的"即将到期的会话"(甚至可以使用会话,如果适合您的需要)。 -
Paypal将在这些变量重定向(以及预期的
token
和payerid
)时将这些变量回显给您 -
在
ReturnUrl
中验证" expires session"变量- 如果无效/不存在,按您认为适当的方式处理(例如,重定向到某处,错误消息等)
所以从本质上讲,只有当对它的请求是"有效的"(根据您如何定义"有效的")时,您才能使页面"可访问"。
Hth…