Я использую библиотеку 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
попытайтесь отладить $ this-> paypal_ipn-> orderStatus. Кстати, что такое paypal_ipn и orderStatus? –
paypal_ipn - это имя библиотеки (класса), которая была вызвана в начале скрипта. orderStatus - это метод этого класса, который возвращает статус порядка - PAID (т. е. Complete), WAITING (i.e pending) или REJECTED. Как я уже сказал, даже когда я удалил это условие, мой код не запустился – Matanya