Перейти к содержанию
priskorbno

Плагин Robokassa

Рекомендуемые сообщения

Стоит ocStore с плагином Робокассы (из последней версии ocStore). После оплаты через Робокассу перекидывает на окно на их сайте, в котором написано следующее:"Не удалось установить связь с магазином для передачи ему информации об оплате. Через минуту будет произведена повторная попытка."Платеж при этом проходит и деньги списываются. Так продолжается около двух минут, потом Робокасса говорит, что с магазином так связаться и не удалось и информация будет отправлена администратору магазина. Администратору действительно приходит на почту информация о списании.В общем, покупателей это ставит в ступор и без sms от банка они не понимают, прошел платеж в магазин или нет.В техподдержке Робокассы написали следующее:"Вы не корректно обрабатываете наши уведомления об оплате, или не даёте нам корректного ответа на запрос подтверждения платежа."Пароли сверял, пути прописывал так, как отображает плагин. Где копать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня магазин в домене третьего уровня, там не стоит www. :)post-670-1293741789,4028_thumb.pngpost-670-1293741789,4248_thumb.png

Изменено пользователем afwollis
overquote detected

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробуй запустить через тестовый режим. Там будет возможность увидеть что возвращает магазин на запрос робокассы о подтверждении платежа. + Есть ли в логах ошибки?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня аналогично ocStore v0.1.4, хостер-хостер, =( сейчас пытаюсь решить проблему, оплата проходит, и дальше эта ошибка...

Вот что в логах обнаружил:

2011-02-12 12:14:21 - PHP Notice: Undefined index: OutSum in .../catalog/controller/payment/robokassa.php on line 115

2011-02-12 12:14:21 - PHP Notice: Undefined index: InvId in .../catalog/controller/payment/robokassa.php on line 116

2011-02-12 12:14:21 - PHP Notice: Undefined index: SignatureValue in .../catalog/controller/payment/robokassa.php on line 117

2011-02-12 12:14:24 - PHP Notice: Undefined index: OutSum in .../catalog/controller/payment/robokassa.php on line 115

2011-02-12 12:14:24 - PHP Notice: Undefined index: InvId in .../catalog/controller/payment/robokassa.php on line 116

2011-02-12 12:14:24 - PHP Notice: Undefined index: SignatureValue in .../catalog/controller/payment/robokassa.php on line 117

2011-02-12 12:16:00 - PHP Notice: Undefined index: OutSum in .../catalog/controller/payment/robokassa.php on line 70

2011-02-12 12:16:00 - PHP Notice: Undefined index: InvId in .../catalog/controller/payment/robokassa.php on line 71

2011-02-12 12:16:00 - PHP Notice: Undefined index: SignatureValue in .../catalog/controller/payment/robokassa.php on line 72

2011-02-12 12:21:13 - PHP Notice: Undefined index: OutSum in .../catalog/controller/payment/robokassa.php on line 70

2011-02-12 12:21:13 - PHP Notice: Undefined index: InvId in .../catalog/controller/payment/robokassa.php on line 71

2011-02-12 12:21:13 - PHP Notice: Undefined index: SignatureValue in .../catalog/controller/payment/robokassa.php on line 72

2011-02-20 12:21:25 - PHP Notice: Undefined index: OutSum in .../catalog/controller/payment/robokassa.php on line 70

2011-02-20 12:21:25 - PHP Notice: Undefined index: InvId in .../catalog/controller/payment/robokassa.php on line 71

2011-02-20 12:21:25 - PHP Notice: Undefined index: SignatureValue in .../catalog/controller/payment/robokassa.php on line 72

2011-02-20 12:22:11 - PHP Notice: Undefined index: OutSum in .../catalog/controller/payment/robokassa.php on line 115

2011-02-20 12:22:11 - PHP Notice: Undefined index: InvId in .../catalog/controller/payment/robokassa.php on line 116

2011-02-20 12:22:11 - PHP Notice: Undefined index: SignatureValue in .../catalog/controller/payment/robokassa.php on line 117

Изменено пользователем kazaam2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Аналогичная проблема.

Версия магазина: ocStore v0.1.9 (OpenCart v1.4.9.4)

Изменения вносились только в шаблон.

Хостинг - обычный.

Проблема:

После оплаты товара через модуль робокасса, редиректит на такую страницу:

Не удалось установить связь с магазином для передачи ему информации об оплате. Через минуту будет произведена повторная попытка.

Если кнопку "Продолжить" клацнуть через 3-4 минуты - переходит на

Оплата счета выполнена. Вы будете перенаправлены обратно на сайт магазина автоматически через 30 секунд.

Нажмите кнопку «Вернуться», чтобы вернуться немедленно.

Вы также можете распечатать квитанцию по операции, нажав на кнопку «Напечатать».

При этом: статус товара меняется на заданный в настройках модуля робокассы, деньги приходят на счет в робокассе, на почту админа приходит уведомление о новом заказе

В тестовом режиме было так:

после редиректа с магазина на тестовый сервер робокассы, если нажать первую кнопку (соединение с Result URL) - возвращает это:

(The remote server returned an error: (500) Internal Server Error

. Если тут же нажать еще раз - возвращает "OK"

При этом: статус товара меняется на заданный в настройках модуля робокассы, на почту админа приходит уведомление о новом заказе

В логах:

2011-04-03 17:47:08 - PHP Notice:  Undefined index:  OutSum in .../catalog/controller/payment/robokassa.php on line 115
2011-04-03 17:47:08 - PHP Notice:  Undefined index:  InvId in .../catalog/controller/payment/robokassa.php on line 116
2011-04-03 17:47:08 - PHP Notice:  Undefined index:  SignatureValue in ...catalog/controller/payment/robokassa.php on line 117

В настройках робокассы

Result URL: http://домен.ru/index.php?route=payment/robokassa/callback (метод POST)

Success URL: http://домен.ru/index.php?route=payment/robokassa/success (метод POST)

Адреса точно соответствуют тем, что в настройках модуля робокассы

Очень прошу помочь в решении проблемы

Изменено пользователем dim565

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вообще, модуль робокассы у кого-то работает? Почему-то везде только проблемы пишут...

И есть ли решение моей проблемы?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Неужели никто не может помочь?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть ли у кого контакты разработчиков этого модуля?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В логах:

2011-04-03 17:47:08 - PHP Notice:  Undefined index:  OutSum in .../catalog/controller/payment/robokassa.php on line 115
2011-04-03 17:47:08 - PHP Notice:  Undefined index:  InvId in .../catalog/controller/payment/robokassa.php on line 116
2011-04-03 17:47:08 - PHP Notice:  Undefined index:  SignatureValue in ...catalog/controller/payment/robokassa.php on line 117

Вообще, вот эта запись в логе говорит о том, что был вызов ResultURL без передачи параметров. Если робокасса что-то такое некорректно передавала, не уверен что тут можно что-то сделать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не думаю, что робокасса передает что-то не так - все-таки серезный сервис, который проводит более 10 тысяч операций в день.

К тому же, техподдержка робокассы ссылается на ошибку в модуле

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть одно подозрение откуда взялись проблемы.

ResultURL типа http://ocstore.andyhost.ru/index.php?route=payment/robokassa/callback сам по себе уже является запросом типа GET. Я не уверен что в запросы типа GET можно одновременно передавать данные в POST. Рекомендую поиграться с типом запроса в настройках робокассы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет, проблема не в этом.

Но мне удалось повторить симптомы - пытаюсь определить в чем проблема.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо! Буду ждать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробуйте вот такой временный вариант:

В файле system/engine/front.php

в строке 34 (в самом начале функции private function execute($action)

вставить вот такой код:

		if (! is_object($action))
		{
		    return(false);
		};

На тестовом сервере ошибка перестает выдаваться. Проверьте, пожалуста, у себя.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Похоже нашел глюк в модуле робокассы. Предыдущую правку для front.php можно не делать.

В файле catalog/controller/payment/robokassa.php в функции callback найти вот такой блок:

			if( $order_info['order_status_id'] == 0) {
				$this->model_checkout_order->confirm($order_id, $new_order_status_id, 'ROBOKASSA');
				return (TRUE);
			}

и сделать что-бы он был вот таким (добавлена строка echo и изменен результат возврата):

			if( $order_info['order_status_id'] == 0) {
				$this->model_checkout_order->confirm($order_id, $new_order_status_id, 'ROBOKASSA');
				echo "Ok\n";
				return ('');
			}

Сообщите, плиз, о результатах.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

К сожалению, не помогло. Также пишет:

Не удалось установить связь с магазином для передачи ему информации об оплате. Через минуту будет произведена повторная попытка.

  • В robokassa.php изменил со строки 134 код на этот:

    if( $order_info['order_status_id'] == 0) {
                                    $this->model_checkout_order->confirm($order_id, $new_order_status_id, 'ROBOKASSA');
                                    echo "Ok\n";
                                    return ('');
                            }
    Проверил оплату 2 раза - не работает. Тогда
  • В front.php добавил это:

    if (! is_object($action))
                    {
                        return(false);
                    };
И опять проверил - опять ошибка :blink:

В логах все тоже самое, что и раньше:

2011-04-08 3:06:10 - PHP Notice:  Undefined index:  ...catalog/controller/payment/robokassa.php on line 115
2011-04-08 3:06:10 - PHP Notice:  Undefined index:  ...catalog/controller/payment/robokassa.php on line 116
2011-04-08 3:06:10 - PHP Notice:  Undefined index:  ...catalog/controller/payment/robokassa.php on line 117

По идее, если работает на тестовом сервере, должно ж и на обычном...Может, есть еще какие-нибудь варианты?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Правка во front.php - это подпорка при отсуствии правки в robokassa.php. Но она не помешает, по идее.

На счет неудачной попытки связи ничего не могу сказать. Мне сначала надо повторить эту ошибку. Тут я, пока, вижу единственный способ - если вы пустите меня на свой хостинг что-бы провести отладку. Я конечно могу попробовать объяснить ситуацию саппорту робокассы, но не знаю как они среагируют.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

К сожалению, не помогло. Также пишет:

И в тестовом режиме тоже не помогло?

Хотя, вроде вы пишете что на тестовом работает?

Написал в саппорт робокассы что-бы активировали мой логин. Когда (если) активируют - проверю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И в тестовом режиме тоже не помогло?

Хотя, вроде вы пишете что на тестовом работает?

К сожалению, мой аккаунт на робокассе прошел активацию пару дней назад и сервер тестовый уже недоступен.

Написал в саппорт робокассы что-бы активировали мой логин. Когда (если) активируют - проверю.

Тут я, пока, вижу единственный способ - если вы пустите меня на свой хостинг что-бы провести отладку

Если вы непротив, я вышлю вам личку данные доступа к фтп...все-таки, неизвестно, как ответит робокасса и хочется поскорее:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если вы непротив, я вышлю вам личку данные доступа к фтп...все-таки, неизвестно, как ответит робокасса и хочется поскорее:)

Можно попробовать. Надеюсь тестовые деньги компенсируете? :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ок, сейчас вышлю в личку.

Естественно, тестовые средства будут компенсированы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пофиксил. Для заинтересованных:

В файле catalog/controller/payment/robokassa.php в функции callback нужно заменить вот такие строки:

echo "OK\n";

вот на такую:

echo "OK".$order_id."\n";

dim565, спасибо за возможность отладить это дело.

  • +1 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
UncleAndy, еще раз благодарю за внимание и исправление ошибки :) :) Другие даже не ответили на мои письма о проблеме с модулем (один человек только сказал, что у него нет аккаунта на робокассе и помочь не может). Побольше бы таких знатаков, как вы B)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Просто так случилось что в данный момент я был свободен. Повезло. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.