Перейти к содержимому


Фотография
- - - - -

QIWI - Не меняется статус оплаты


Лучший Ответ Cheren-dow , 19 April 2016 - 23:01

Вдруг у кого то будет похожая проблема, 

Попробуйте заменить полностью метод isValid на этот код:

/**
* Checks validation
* @param array $params
* @return bool|null|void
*/
public function isValid($params = array())
{
$order = $this->getOrder();
$orderAmount = $this->_order->val($this->app->jbrequest->get('amount'), $order->getCurrency());

if ($this->app->jbrequest->get('amount') == $orderAmount->val() &&
$this->app->jbrequest->get('status') == 'paid' &&
$this->app->jbrequest->get('error') == 0 &&
$this->app->jbrequest->get('bill_id') == $this->getOrderId()
) {
return true;
}

return false;
}
Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 5

#1 Sven

Sven

Отправлено 13 April 2016 - 12:22

После оплаты не меняется статус заказа на оплачено.
В настройках все как в этой теме.
Версия jbzoo 2.2.7 rev3148
Заметил что в настройках киви урл для оповещений имеет такой вид после сохранения: 
http://myshop.ru/index.php?option=com_zoo&controller=payment&task=paymentCallback
в то время в jbzoo такой: 
http://myshop.ru/index.php?option=com_zoo&controller=payment&task=paymentCallback

  • 0

#2 Cheren-dow

Cheren-dow

Отправлено 13 April 2016 - 14:58

Sven, ссылка сохраненная в qiwi ни как не влияет т.к у меня на тестовом сайте ссылка один в один и смена статусов осуществляется. 

http://my-site.ru/qiwi/index.php?option=com_zoo&controller=payment&task=paymentCallback

Стоит отметить что смена может происходит от нескольких секунд до 5 минут. Мне кажется после смены пароля уведомления вы не нажимали кнопку сохранить:

fcpz_200x0.jpg


  • 0
Изображение
 

#3 Sven

Sven

Отправлено 14 April 2016 - 07:05

Вчера все сменил API ID и пароль оповещения все равно статус не меняется после оплаты.В робокассе и ЯД меняется.


  • 0

#4 Cheren-dow

Cheren-dow

Отправлено 14 April 2016 - 09:14

Sven, что бы проверить работу qiwi на вашем сайте мне нужны FTP доступы + админ панель а так же временный доступ к сайту ishop.qiwi.com. 


  • 0
Изображение
 

#5 Sven

Sven

Отправлено 14 April 2016 - 10:21

Отправил


  • 0

#6 Cheren-dow

Cheren-dow

Отправлено 19 April 2016 - 23:01   Лучший Ответ

Вдруг у кого то будет похожая проблема, 

Попробуйте заменить полностью метод isValid на этот код:

/**
* Checks validation
* @param array $params
* @return bool|null|void
*/
public function isValid($params = array())
{
$order = $this->getOrder();
$orderAmount = $this->_order->val($this->app->jbrequest->get('amount'), $order->getCurrency());

if ($this->app->jbrequest->get('amount') == $orderAmount->val() &&
$this->app->jbrequest->get('status') == 'paid' &&
$this->app->jbrequest->get('error') == 0 &&
$this->app->jbrequest->get('bill_id') == $this->getOrderId()
) {
return true;
}

return false;
}

  • 0
Изображение
 




Click to return to top of page in style!