Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

Плагин Robokassa


Recommended Posts

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

Link to post
Share on other sites

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

Edited by afwollis
overquote detected
Link to post
Share on other sites

  • 4 months later...

У меня аналогично 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

Edited by kazaam2
Link to post
Share on other sites

  • 5 weeks later...

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

Версия магазина: 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)

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

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

Edited by dim565
Link to post
Share on other sites

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

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

Link to post
Share on other sites

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

Link to post
Share on other sites

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

Link to post
Share on other sites

В логах:

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 без передачи параметров. Если робокасса что-то такое некорректно передавала, не уверен что тут можно что-то сделать.

Link to post
Share on other sites

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

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

Link to post
Share on other sites

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

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

Link to post
Share on other sites

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

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

Link to post
Share on other sites

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

Link to post
Share on other sites

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

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

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

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

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

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

Link to post
Share on other sites

Похоже нашел глюк в модуле робокассы. Предыдущую правку для 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 ('');
			}

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

Link to post
Share on other sites

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

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

  • В 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

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

Link to post
Share on other sites

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

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

Link to post
Share on other sites

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

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

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

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

Link to post
Share on other sites

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

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

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

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

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

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

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

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

Link to post
Share on other sites

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

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

Link to post
Share on other sites

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

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

echo "OK\n";

вот на такую:

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

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

  • +1 2
Link to post
Share on other sites

UncleAndy, еще раз благодарю за внимание и исправление ошибки :) :) Другие даже не ответили на мои письма о проблеме с модулем (один человек только сказал, что у него нет аккаунта на робокассе и помочь не может). Побольше бы таких знатаков, как вы B)
Link to post
Share on other sites

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

Link to post
Share on other sites

Плагин Робокасса неработает. Пишет вот это при попытке отослать данные:

К сожалению, оплата этого счета невозможна, так как некоторые параметры счета некорректны.

Неверный параметр: Signature.

Прочел на сайте Робокассы про Signature следущее.

sSignatureValue

- контрольная сумма MD5 - строка представляющая собой 32-разрядное число в 16-ричной форме и любом регистре (всего 32 символа 0-9, A-F). Формируется по строке, содержащей некоторые параметры, разделенные ':', с добавлением sMerchantPass2 - (устанавливается через интерфейс администрирования) т.е. nOutSum:nInvId:sMerchantPass2[:пользовательские параметры, в отсортированном порядке]

К примеру если при инициализации операции были переданы пользовательские параметры shpb=xxx и shpa=yyy то подпись формируется из строки ...:sMerchantPass2:shpa=yyy:shpb=xxx

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.