0

$_SESSION['cart']PaypalIPNの前に取得したい

私が使用しているIPNコードのサンプル。すべてが正常に機能し、スクリプトは$_POSTPaypalからデータを取得しました。

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?
}
4

1 に答える 1

2

IPNはチェックアウトプロセスの外部で通知されるため、これはできません。これは基本的に、Webサイトの注文/支払いプロセスとは別のバックグラウンド操作です。そのセッションにアクセスする必要のある情報がある場合は、それをデータベースに保存してから、Paypalにも渡される何らかの識別子を含める必要があります。通常、電子メールアドレスは適切ですが、ある種のハッシュのような一意のトークンの方がおそらく優れています。次に、IPN通知にその識別子が含まれると、その情報をデータベースから引き出して、必要に応じて使用できます。

于 2010-06-25T13:10:46.863 に答える