paypal - SESSION 变量在 Paypal IPN 过程中被销毁

标签 paypal session-variables paypal-ipn

我的问题是我的 SESSION 变量在 Paypal IPN 过程中被破坏了。

我已经成功地编写了我的 IPN 监听器来与 Paypal 对话,并且我可以毫无问题地处理 Paypal POST 返回给我的预定义 IPN 变量。尽管如此,我还是无法访问在进行 Paypal 付款之前创建的 SESSION 变量。当我连接到 Paypal 时,我假设它们正在被销毁。

我有很多变量,所以只使用 Paypal 的“自定义”字段是不收费的。

例如,如果我想向客户发送一封电子邮件,其中包含他们在我网站的订购过程中创建的 SESSION 变量(名为 $_SESSION[‘order_type’]):

<?php

//enable sessions
if (!isset($_SESSION)) {
  session_start();
}

**** Accept payment/verify using paypal listener etc****

// If everything is successful and the payment is accepted then send an email containing some previously stored session variables

   $mail_From = "From: me@example.com";
   $mail_To = "email@email.com";
   $mail_Subject = "Your payment has been made successfully” ;
   $mail_Body = "you have successfully made a ". $_SESSION['order_type']."order";
   mail($mail_To, $mail_Subject, $mail_Body, $mail_From);

   ?>

我的电子邮件从未包含我的 session 变量,这让我相信它们正在被销毁......请帮忙!

非常感谢,

大卫

最佳答案

您可以创建一个 session 保存处理程序来将所有 session 数据存储在数据库中。在 custom 字段中将 session ID 传递给 PayPal,并在从 PayPal 返回时恢复 session 。

http://nl.php.net/manual/en/function.session-set-save-handler.php 的示例开始

关于paypal - SESSION 变量在 Paypal IPN 过程中被销毁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4967465/

相关文章:

php - 如何测试定期计费 (Paypal Payments Pro)

api - codeigniter Paypal 集成

asp.net - Paypal Express Checkout 集成问题 (WEBREQUEST)

paypal - 如何获取信用卡余额?

c# - 在新构建后保留 Session[] 变量

php - PayPal 捐赠按钮付款后重定向

Paypal 沙箱和 Live API

javascript - 使用 javascript 设置 session 变量

asp.net - 使用自定义成员资格提供程序时,在 ASP.NET 中推荐的用户特定持久变量存储方法是什么?

angular - 如何在angular2中获取 Paypal 交易细节?