Paypal IPN, как получить текущий сеанс - PullRequest
0 голосов
/ 25 июня 2010

Я хочу получить свои предыдущие $_SESSION['cart'] для IPN Paypal

Образец Код IPN , который я использую.Все работает нормально, и скрипт получил данные $_POST от Paypal.

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 Ответ

2 голосов
/ 25 июня 2010

Вы не можете, потому что IPN уведомляется вне вашего процесса оформления заказа.По сути, это фоновая операция, отдельная от процесса заказа / оплаты вашего сайта.Если в этом сеансе есть информация, к которой вам нужно получить доступ, вам необходимо сохранить ее в базе данных, а затем включить в нее какой-либо идентификатор, который также передается в Paypal.Адреса электронной почты обычно хороши, но уникальный токен, такой как хэш, вероятно, лучше.Затем, когда приходит уведомление IPN с этим идентификатором, вы можете извлечь эту информацию из базы данных и использовать по мере необходимости.

...