2012-05-20 2 views
0

Я использую библиотеку CI IPN, и, насколько касается их функциональности, все работает плавно, и вся информация txn привязана к БД, а это означает, что скрипт вызывается и запускается , Однако, когда я пытаюсь добавить свои собственные директивы в случае успешной отправки txn - i.e клиенту и добавления его данных в БД - он полностью игнорирует мой код. Я попытался удалить условие «если успешно», и он все еще не работает. Важно отметить, что когда я запускаю эти модели вне контроллера IPN посредством прямого вызова с другого контроллера, они работают отлично. Вот код:IPN-библиотека CodeIgniter - скрипт игнорирует мой код

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 

ТИА для вашего рода помощь. Matanya

+0

попытайтесь отладить $ this-> paypal_ipn-> orderStatus. Кстати, что такое paypal_ipn и orderStatus? –

+0

paypal_ipn - это имя библиотеки (класса), которая была вызвана в начале скрипта. orderStatus - это метод этого класса, который возвращает статус порядка - PAID (т. е. Complete), WAITING (i.e pending) или REJECTED. Как я уже сказал, даже когда я удалил это условие, мой код не запустился – Matanya

ответ

1

Это может быть немного кошмаром, чтобы отлаживать ваш IPN-код Paypal, у меня были подобные проблемы и в результате я записывал переменные в своем контроллере в файл.

У вас нет проблем с вашей моделью "register_model"? Возможно, попробуйте добавить несколько logs, проверьте, какие переменные вы получаете. Если он регистрируется, и все выглядит правильно, вам нужно посмотреть на свою модель «register_model».

Смежные вопросы