Robokassa

Вопросы по платежным системам и методам оплаты

Модератор: core team

ganeevr
Новенький
Сообщения: 8
Зарегистрирован: Пн мар 09, 2015 10:11 am

Robokassa

Сообщение ganeevr » Ср май 20, 2015 12:49 pm

Не получается подключить робокассу, настройки выставил, но почему то не работает.
Не перебрасывает на шлюз оплаты. http://investpi.ru/

Аватара пользователя
xoma
Администратор
Сообщения: 1971
Зарегистрирован: Ср авг 22, 2012 8:54 am
Контактная информация:

Re: Robokassa

Сообщение xoma » Сб май 23, 2015 1:13 pm

Судя по всему у Вас Робокасса в панели управления не настроена.
После размещения заказа - http://investpi.ru/public/order/544102d ... 56dfe3821c нет ни одного способа оплаты.
отследить-посылку.рф - дружит с "Юпи!", следит за посылками!

Sav8bit
Новенький
Сообщения: 3
Зарегистрирован: Вс июл 12, 2015 12:11 pm

Re: Robokassa

Сообщение Sav8bit » Вт июл 28, 2015 1:05 pm

Подскажите, а после оплаты через робокассу должен происходить редирект на какую-либо страницу или это нужно дописывать?
В настройках робокассы указываю для Result Url, Success Url и Fail Url урл, указанный в админке в строке "Ссылка для HTTP уведомлений платежной системы" вида http://домен/payment/process/5
Если для Success Url и Fail Url указываю другой адрес, то не юпи не воспринимает это, как прошедшую. оплату.
--------------------------------------------------------------------------------------
Почитал документацию робокассы
Факт успешности сообщения магазину об исполнении операции определяется по результату, возвращаемому обменному пункту. Результат должен содержать "OKnMerchantInvId", т.е. для счета #5 должен быть возвращен текст "OK5".

К сожалению, в модуле это не реализовано, или я что-то упустил.
Дописал пока вывод этого ответа и action вот такой для редиректа обратно на заказ

Код: Выделить всё

public function actionSuccess()
    {
        $ord = Order::model()->findByNumber(Yii::app()->request->getParam('InvId'));
        $this->redirect(['/order/order/view', 'url' => $ord->url]);
    }


P.S. все делаю на версии 0.9.6

Аватара пользователя
xoma
Администратор
Сообщения: 1971
Зарегистрирован: Ср авг 22, 2012 8:54 am
Контактная информация:

Re: Robokassa

Сообщение xoma » Ср июл 29, 2015 9:38 am

Ммм уведомления сайтом принимаются корректно, можно попробовать на демо-магазине вот тут http://demo.yupe-project.ru/store
Заказ переводится в необходимый статус.

http://awesomescreenshot.com/03653tu471
отследить-посылку.рф - дружит с "Юпи!", следит за посылками!

igor3310
Гуру
Сообщения: 101
Зарегистрирован: Вт июл 21, 2015 5:22 pm

Re: Robokassa

Сообщение igor3310 » Чт окт 08, 2015 1:14 pm

Скажите пожалуйста - создал 2 способа оптлаты (заполнил их данные произвольными данными) , НО на странице оплаты (заказа) их невыводит (вообше массив $model->delivery->hasPaymentMethods() пуст ) - подскажите в чем может быть дело (кеш 2 раза чистил)?

Сгенерило ссылку в плат. методах для ответа http://yupe/payment/process/3 , перехожу для теста по ней , а там пусто (белая страница)

И неподскажите - можно во 2 страницу оформления заказа (где платежная система выводит) - вставлять HTML код своей оплаты (например ПриватБанка) , получается туда я подставлю сумму ,№ заказа и могу оплачивать ? И в таком случае - как бек УРл указать чтоб в систему статус оплаты попал (могу в качестве айди указать ту же Робокассу - которую небуду использовать?

Аватара пользователя
sabian
Ниндзя
Сообщения: 351
Зарегистрирован: Ср фев 18, 2015 8:34 pm
Откуда: Воронежская область
Контактная информация:

Re: Robokassa

Сообщение sabian » Чт окт 08, 2015 2:23 pm

igor3310 писал(а):Скажите пожалуйста - создал 2 способа оптлаты (заполнил их данные произвольными данными) , НО на странице оплаты (заказа) их невыводит (вообше массив $model->delivery->hasPaymentMethods() пуст ) - подскажите в чем может быть дело (кеш 2 раза чистил)?

Оплата привязывается к доставке. Заходите в редактирование доставки и справа будет список ваших платежных систем.

igor3310 писал(а):Сгенерило ссылку в плат. методах для ответа http://yupe/payment/process/3 , перехожу для теста по ней , а там пусто (белая страница)

Там и должно быть пусто. На эту страницу платежная система делает возврат с данными платежа. Потом происходит редирект на страницу заказа.

igor3310 писал(а):И неподскажите - можно во 2 страницу оформления заказа (где платежная система выводит) - вставлять HTML код своей оплаты (например ПриватБанка) , получается туда я подставлю сумму ,№ заказа и могу оплачивать ? И в таком случае - как бек УРл указать чтоб в систему статус оплаты попал (могу в качестве айди указать ту же Робокассу - которую небуду использовать?

Можно, просто нужно создать свой платежный модуль.

igor3310
Гуру
Сообщения: 101
Зарегистрирован: Вт июл 21, 2015 5:22 pm

Re: Robokassa

Сообщение igor3310 » Чт окт 08, 2015 4:41 pm

Спасибо большое!
Правда из всех 3-х методов оплат (Робокаса, ПайлерБОбработка вручную) - одна Робокасса генерирует скрытую форму для отправки ( renderCheckoutForm ) и соответственно рабочий метод , а остальные нет почему то.


А по совему модулю подскажите - просмотрел Робокачсу - так там только файл protected\modules\robokassa\components\payments\RobokassaPaymentSystem.php с рабочим кодом , где 2-а метода , один из них renderCheckoutForm как уже понял генерирует форму запроса ,а вот processCheckout получает ответ сервера и обрабатывать должен - где можно почитать про это ? И получается можно скопировать модуль Робокассы и на его основе свой способ оплат сделать?

Аватара пользователя
sabian
Ниндзя
Сообщения: 351
Зарегистрирован: Ср фев 18, 2015 8:34 pm
Откуда: Воронежская область
Контактная информация:

Re: Robokassa

Сообщение sabian » Чт окт 08, 2015 5:01 pm

Да, можете на основе Робокассы сделать свой модуль. Ксожалению документация по созданию модулей пока не готова.

igor3310
Гуру
Сообщения: 101
Зарегистрирован: Вт июл 21, 2015 5:22 pm

Re: Robokassa

Сообщение igor3310 » Пт окт 09, 2015 9:34 am

А в модуле ПайЛер вот это :
if (!$sessionId) {
return false;
}
недает форму вывести - этот сесион айди нужен?
=============
И скажите пож как победить ощибку:
Невозможно определить CSRF.

это уже при переходе назад на сайт с платежного сервиса
Последний раз редактировалось igor3310 Пт окт 09, 2015 10:10 am, всего редактировалось 1 раз.

Аватара пользователя
sabian
Ниндзя
Сообщения: 351
Зарегистрирован: Ср фев 18, 2015 8:34 pm
Откуда: Воронежская область
Контактная информация:

Re: Robokassa

Сообщение sabian » Пт окт 09, 2015 9:54 am

igor3310 писал(а):этот сесион айди нужен?

Конечно нужен. Он формируется вот здесь https://github.com/sabian/yupe-payler/b ... er.php#L49
И обратите внимание, что он запрашивается с сервера платежной системы. Если у вас не отображается форма, то возможно вы не настроили платежный модуль.

igor3310
Гуру
Сообщения: 101
Зарегистрирован: Вт июл 21, 2015 5:22 pm

Re: Robokassa

Сообщение igor3310 » Пт окт 09, 2015 10:11 am

Форму настроил произвольными параметрами - а ссесион айди пустой - как его вывести по другому можно?
=======
И скажите пож как победить ощибку:
Невозможно определить CSRF.
это уже при переходе назад на сайт с платежного сервиса
==============
И как можно работать с объектом $request->getParam() ? адо удалить значение так unset($request->getParam('ik_sign')); (ощибку дает) и еще такое сделать :
array_push($request->getParam(),$key);
$signString = implode(':' ,$request->getParam());

Аватара пользователя
sabian
Ниндзя
Сообщения: 351
Зарегистрирован: Ср фев 18, 2015 8:34 pm
Откуда: Воронежская область
Контактная информация:

Re: Robokassa

Сообщение sabian » Пт окт 09, 2015 12:47 pm

igor3310 писал(а):Форму настроил произвольными параметрами - а ссесион айди пустой - как его вывести по другому можно?

Если вы настраиваете именно модуль Payler, то произвольные данные не допустимы. Вам нужно подавать заявку на получение тестового доступа.
Если вы просто модифицируете модуль под свою платежную систему, то нужно читать документацию, наверняка там тоже нужен тестовый доступ, да и формат запроса наверняка будет отличаться, так что у вас не получится просто скопировать модуль и вбить адрес другой платежной системы.

igor3310 писал(а):И скажите пож как победить ощибку:
Невозможно определить CSRF.
это уже при переходе назад на сайт с платежного сервиса

Этой ошибки не должно быть, т.к. данные возвращаются через GET запрос. Видимо вы что-то сделали не так.

igor3310 писал(а):И как можно работать с объектом $request->getParam() ? адо удалить значение так unset($request->getParam('ik_sign')); (ощибку дает) и еще такое сделать :
array_push($request->getParam(),$key);
$signString = implode(':' ,$request->getParam());

"get" - это получение. Вы не можете там что-либо изменять. Для этого надо записать данные в переменную.

Код: Выделить всё

$data = $request->get...

И теперь у вас будет работать unset

Код: Выделить всё

unset($data['параметр'])

igor3310
Гуру
Сообщения: 101
Зарегистрирован: Вт июл 21, 2015 5:22 pm

Re: Robokassa

Сообщение igor3310 » Пт окт 09, 2015 1:24 pm

PayLer -невыводит форму потому что сесионАйди непопадает в нее - как это сесион айди туда по другому подставить.

Можно как то из $request->getParam() получить весь массив переменых и записать в свою для обработки?

А пардон переставил в $_GET и ощибка Невозможно определить CSRF. - исчезла, но я в качестве бек УРЛ указал созданную страницу (Контент->Страницы) - там можно или на другой УРЛ придусмотрен уже?

Аватара пользователя
sabian
Ниндзя
Сообщения: 351
Зарегистрирован: Ср фев 18, 2015 8:34 pm
Откуда: Воронежская область
Контактная информация:

Re: Robokassa

Сообщение sabian » Пт окт 09, 2015 2:06 pm

igor3310 писал(а):PayLer -невыводит форму потому что сесионАйди непопадает в нее - как это сесион айди туда по другому подставить.

Я же вам сказал уже, что sessionId генерируется на сервере Payler-а на основании данных вашего заказа. А для этого вам нужно иметь реальный тестовый аккаунт (они выдают доступ к платежной панели, данные тестовых карт и данные для проведения платежей) на сайте Payler-a, а не выдуманные вами.

igor3310 писал(а):Можно как то из $request->getParam() получить весь массив переменых и записать в свою для обработки?


igor3310
Гуру
Сообщения: 101
Зарегистрирован: Вт июл 21, 2015 5:22 pm

Re: Robokassa

Сообщение igor3310 » Пт окт 09, 2015 2:17 pm

Спасибо разобрался - использую $_POST

А скажите пож - почему тогда платежный метод ОБРАБОТКА ВРУЧНУЮ - невыводит формы и вообше неработает


Вернуться в «Платежные системы и оплата»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость