我正在使用CI IPN库,并且就其功能而言,一切运行顺利,并且所有txn信息都提交给DB,这意味着脚本被调用并运行。 但是,当我尝试在成功的txn的情况下添加我自己的指令 - 即向客户端发送电子邮件并将其详细信息添加到数据库 - 它完全忽略了我的代码。我试图删除“如果成功”的条件,它仍然无法正常工作。 值得注意的是,当我通过另一个控制器的直接调用在IPN控制器外部运行这些模型时,它们运行得非常好。 这是代码:
class Ipn extends CI_Controller {
// To handle the IPN post made by PayPal (uses the Paypal_Lib library).
public function index()
{
$this->load->library('PayPal_IPN'); // Load the library
// Try to get the IPN data.
if ($this->paypal_ipn->validateIPN())
{
// Succeeded, now let's extract the order
$this->paypal_ipn->extractOrder();
// And we save the order now
$this->paypal_ipn->saveOrder();
// Now let's check what the payment status is and act accordingly
if ($this->paypal_ipn->orderStatus == PayPal_IPN::PAID)
{
$this->load->model("register_model"); // my own code
$this->register_model->insert(); // my own code
$this->register_model->email_customer(); //my own code
} // end if PAID
}
else // Just redirect to the root URL
{
$this->load->helper('url');
redirect('/', 'refresh');
} // end if validates
} // end function
} // end class
TIA为您提供帮助。 Matanya
答案 0 :(得分:1)
调试Paypal IPN代码可能有点噩梦,我遇到了类似的麻烦,最终将控制器中的变量记录到文件中。
您确定“register_model”型号没有问题吗?也许尝试添加一些logs,检查您收到的变量。如果它记录并且看起来都正确,则需要查看“register_model”模型。