Paypal IPN如何获得当前会话

时间:2010-06-25 12:46:25

标签: php session paypal paypal-ipn

我想将之前的$_SESSION['cart']转到Paypal IPN

我使用的IPN Code示例。一切正常,脚本从Paypal获得$_POST数据。

if (strcmp ($res, "VERIFIED") == 0) {
        $subject = time();
        $to      = 'my@email.com';
        foreach ($_POST as $key => $value) { 
        $body .= "\n$key: $value";
        }
        mail($to, $subject, $body); 
}

问题

if (strcmp ($res, "VERIFIED") == 0) {
 // 1. How to get my previous $_SESSION['cart'] here? 
 // 2. When I call my $_SESSION['cart'] here not ouput will come & it's empty.
 // 3. Or this code only to get $_POST data from Paypal website only?
}

1 个答案:

答案 0 :(得分:2)

您不能,因为IPN会在您的结帐流程之外得到通知。它本质上是一个与您网站的订购/付款流程分开的后台操作。如果您需要访问该会话中的信息,则需要将其存储在数据库中,然后在其中包含一些也传递给Paypal的标识符。电子邮件地址通常很好,但是一个独特的令牌,如某种哈希,可能更好。然后,当IPN通知带有该标识符时,您可以将该信息从数据库中提取出来并根据需要使用。