По робокассе, помогите с настройкой
- Ghost_nsk
- Сообщения: 825
- Зарегистрирован: 2012.01.01, 00:45
- Откуда: Новосибирск
- Контактная информация:
По робокассе, помогите с настройкой
товарищи, нашел на сайте замечательный компонент по подключению робокассы (автор RSol), находится здесь:
viewtopic.php?f=9&t=3696
малясь не врубаюсь, какие ссылки надо прописывать в настройках сервиса робокассы: Result URL, Success URL, Fail URL, чтобы нормально подвязаться с работой компонента. подскажите кто знает пжл
viewtopic.php?f=9&t=3696
малясь не врубаюсь, какие ссылки надо прописывать в настройках сервиса робокассы: Result URL, Success URL, Fail URL, чтобы нормально подвязаться с работой компонента. подскажите кто знает пжл
Re: По робокассе, помогите с настройкой
Если не ошибаюсь,
result url - это ссылка для апи сервиса робокассы, по которой происходит запрос с сервера робокассы, когда пользователь совершил платеж, с передачей контрольных параметров.
success url - это ссылка, по которой может (но не обязательно) перейти пользователь в случае успешного платежа.
fail url - ссылка по которой может перейти пользователь в случае ошибки при платеже.
result url - это ссылка для апи сервиса робокассы, по которой происходит запрос с сервера робокассы, когда пользователь совершил платеж, с передачей контрольных параметров.
success url - это ссылка, по которой может (но не обязательно) перейти пользователь в случае успешного платежа.
fail url - ссылка по которой может перейти пользователь в случае ошибки при платеже.
Yii Jabber Conference: [email protected]
- Ghost_nsk
- Сообщения: 825
- Зарегистрирован: 2012.01.01, 00:45
- Откуда: Новосибирск
- Контактная информация:
Re: По робокассе, помогите с настройкой
это я понял , я не вкупаю как подвязать компонент к этим ссылкамR3D3 писал(а):Если не ошибаюсь,
result url - это ссылка для апи сервиса робокассы, по которой происходит запрос с сервера робокассы, когда пользователь совершил платеж, с передачей контрольных параметров.
success url - это ссылка, по которой может (но не обязательно) перейти пользователь в случае успешного платежа.
fail url - ссылка по которой может перейти пользователь в случае ошибки при платеже.
Re: По робокассе, помогите с настройкой
В настройках робокассы(result, success, fail) прописываете пути к контроллеру расширения
- Ghost_nsk
- Сообщения: 825
- Зарегистрирован: 2012.01.01, 00:45
- Откуда: Новосибирск
- Контактная информация:
Re: По робокассе, помогите с настройкой
так я это и не могу понять как сделать, можно на примереsck_v писал(а):В настройках робокассы(result, success, fail) прописываете пути к контроллеру расширения
допустим, у нас робокасса лежит по адресу:
http://mysite.ru/user/pay
все 3 ссылки, должны быть http://mysite.ru/user/pay, или с каким-то параметром?
- RSol
- Сообщения: 325
- Зарегистрирован: 2010.05.07, 08:36
- Откуда: Северодонецк, Украина
- Контактная информация:
Re: По робокассе, помогите с настройкой
Привет!
Использование:
0. Копируем файлик в "ext.RC"
1. Подключаем его в конфиге:
2. Для перехода на платеж делаем
3. Для приема платежей в любом актионсе
Именно этот актионс прописываем в конфиге робокассы.
При попадании на этот актионс срабатывают события, прописанные в конфиге.
Не забудьте, что:
- актионс должен быть доступен всем пользователям;
- конструкция Yii::app()->user->id не вернет в ваших событиях ничего хорошего.
4. The end.
Использование:
0. Копируем файлик в "ext.RC"
1. Подключаем его в конфиге:
Код: Выделить всё
'components'=>array(
...
'rc'=>array(
'class'=>'ext.RC.RC',
'sMerchantLogin'=>'',
'sMerchantPass1'=>'',
'sMerchantPass2'=>'',
'sCulture' => 'ru',
'resultMethod => 'post',
'sIncCurrLabel' => 'QiwiR',
'orderModel' => 'Order',
'priceField'=>'price',
'isTest' => false,
'onSuccess'=>array('Order','Success'),
'onFail'=>array('Order','Fail'),
),
...
),
Код: Выделить всё
$amount = 100; //$
$orderId = 124;
$description = 'велосипед с зеркалом';
$clierntEmail = '[email protected]';
Yii::app()->rc->pay($amount, $orderId,$description,$clierntEmail);
Код: Выделить всё
Yii::app()->rc->result();
Yii::app()->end();
При попадании на этот актионс срабатывают события, прописанные в конфиге.
Не забудьте, что:
- актионс должен быть доступен всем пользователям;
- конструкция Yii::app()->user->id не вернет в ваших событиях ничего хорошего.
4. The end.
- Ghost_nsk
- Сообщения: 825
- Зарегистрирован: 2012.01.01, 00:45
- Откуда: Новосибирск
- Контактная информация:
Re: По робокассе, помогите с настройкой
RSol, кажись у Вас тут неточность:
у Вас сигнатура в верхний регистр не преобразуется, надо вот так видимо:
Код: Выделить всё
private function checkResultSignature($OutSum,$InvId,$SignatureValue)
{
$keys = array(
$OutSum,
$InvId,
$this->sMerchantPass2,
);
$sign = strtoupper(md5(implode(':', $keys)));
if($SignatureValue == $sign)
return true;
return false;
}
Код: Выделить всё
private function checkResultSignature($OutSum, $InvId, $SignatureValue) {
$keys = array(
$OutSum,
$InvId,
$this->sMerchantPass2,
);
$sign = strtoupper(md5(implode(':', $keys)));
if (strtoupper($SignatureValue) == $sign)
return true;
return false;
}
Последний раз редактировалось Ghost_nsk 2013.08.06, 21:17, всего редактировалось 1 раз.
-
- Сообщения: 58
- Зарегистрирован: 2012.01.18, 13:03
- Откуда: Украина. Запорожье
- Контактная информация:
Re: По робокассе, помогите с настройкой
самому написать модель и контроллеры для работы с робокассой и всех делов ))
Я так сделал, сам написал и проблем нет, самому проще разбираться в своём коде.
Я так сделал, сам написал и проблем нет, самому проще разбираться в своём коде.
- Ghost_nsk
- Сообщения: 825
- Зарегистрирован: 2012.01.01, 00:45
- Откуда: Новосибирск
- Контактная информация:
Re: По робокассе, помогите с настройкой
да не, код клевый,juniorspecialistphp писал(а):самому написать модель и контроллеры для работы с робокассой и всех делов ))
Я так сделал, сам написал и проблем нет, самому проще разбираться в своём коде.
RSol, спасибо, разобрался
там реально у тебя неточность
подключил, осталось дождаться активации и документов
- RSol
- Сообщения: 325
- Зарегистрирован: 2010.05.07, 08:36
- Откуда: Северодонецк, Украина
- Контактная информация:
Re: По робокассе, помогите с настройкой
Спасибо. Неточность... хз... раньше работало.Ghost_nsk писал(а): да не, код клевый,
RSol, спасибо, разобрался
там реально у тебя неточность
- Ghost_nsk
- Сообщения: 825
- Зарегистрирован: 2012.01.01, 00:45
- Откуда: Новосибирск
- Контактная информация:
Re: По робокассе, помогите с настройкой
проверено лично, что спокойно делается для только авторизированных юзеров, или для юзеров отдельной категории (а не только для всех гостей)RSol писал(а): Не забудьте, что:
- актионс должен быть доступен всем пользователям;
Последний раз редактировалось Ghost_nsk 2012.06.07, 18:54, всего редактировалось 1 раз.
- RSol
- Сообщения: 325
- Зарегистрирован: 2010.05.07, 08:36
- Откуда: Северодонецк, Украина
- Контактная информация:
Re: По робокассе, помогите с настройкой
Странно... Либо я что-то не так понимаю, либо неправильно объяснил.
Я тут когда-то писал статью (http://sed-story.ru/blog/saitostroenie/32.html) для приема платежей для другого сервиса. Там картинка вверху. Она показывает механизм работы платежных шлюзов.
Так вот запрос к этому актионсу делает платежный шлюз, а он не авторизирован.
Я тут когда-то писал статью (http://sed-story.ru/blog/saitostroenie/32.html) для приема платежей для другого сервиса. Там картинка вверху. Она показывает механизм работы платежных шлюзов.
Так вот запрос к этому актионсу делает платежный шлюз, а он не авторизирован.
- Ghost_nsk
- Сообщения: 825
- Зарегистрирован: 2012.01.01, 00:45
- Откуда: Новосибирск
- Контактная информация:
Re: По робокассе, помогите с настройкой
каждый раз вылазиет вот эта штука:
"Не удалось установить связь с магазином для передачи ему информации об оплате. Через минуту будет произведена повторная попытка."
потом проходит минуты 2-5 и после повторных попыток обращения к серваку он наконец все пополняет
это с чем может быть связано?
"Не удалось установить связь с магазином для передачи ему информации об оплате. Через минуту будет произведена повторная попытка."
потом проходит минуты 2-5 и после повторных попыток обращения к серваку он наконец все пополняет
это с чем может быть связано?
- Ghost_nsk
- Сообщения: 825
- Зарегистрирован: 2012.01.01, 00:45
- Откуда: Новосибирск
- Контактная информация:
Re: По робокассе, помогите с настройкой
никто не знает?
Re: По робокассе, помогите с настройкой
Вот и мне понадобилось прикрутить к сайту прием платежей.
У меня в таблице платежей есть поле "статус платежа", которое может быть "оплачено"/"ожидает оплаты".
Долго не мог никак разобраться с тем, а как же "обновлять" это поле.
И вот родилось решение.
В моделе, которую вы указываете в настройках этого компонента пишем такой код:
У меня в таблице платежей есть поле "статус платежа", которое может быть "оплачено"/"ожидает оплаты".
Долго не мог никак разобраться с тем, а как же "обновлять" это поле.
И вот родилось решение.
В моделе, которую вы указываете в настройках этого компонента пишем такой код:
Код: Выделить всё
public function Success($event)
{
Yii::trace('success', 'UserPayments::model');
$order=$event->sender->params['order'];//$order - содержит модель
$result=UserPayments::model()->findByPk((int)$order->id);//ищем платеж по номеру
if($result)//если нашли, меняем "статус платежа"
{
$result->status=self::STATUS_PAYED;
$result->save();
//обновляем у юзера "оплачено до" (payed)
Yii::app()->db->createCommand("update {{UserDetails}} set status=:status, payed=DATE_ADD(payed, INTERVAL 1 YEAR) where uid=:uid")->execute(array(":status"=>UserDetails::STATUS_PAYED,":uid"=>(int)$order->uid));
}
}
Re: По робокассе, помогите с настройкой
Наверное полезно бы заметить что
это вызов статических методов модели Order которая указывается выше, ато я полдня сидел разбирался, думал это экшены в контролере:)
Код: Выделить всё
'onSuccess'=>array('Order','Success'),
'onFail'=>array('Order','Fail'),
Re: По робокассе, помогите с настройкой
Использование:
0. Копируем файлик в "ext.RC"
Ребят помогите пожалуйста! Где находится этот ext.RC?
Я раз пятнадцать уже пересмотрел этот пост по РОБОКАССЕ, но так и не понял как подключить к моему framework-у.
Просто я только-только начал изучать Yii и пока мне сложно понять. А руководство требует подключить робокассу уже сегодня.
Если кому не сложно, опишите все действия по порядку(подробнее). Спасибо!
0. Копируем файлик в "ext.RC"
Ребят помогите пожалуйста! Где находится этот ext.RC?
Я раз пятнадцать уже пересмотрел этот пост по РОБОКАССЕ, но так и не понял как подключить к моему framework-у.
Просто я только-только начал изучать Yii и пока мне сложно понять. А руководство требует подключить робокассу уже сегодня.
Если кому не сложно, опишите все действия по порядку(подробнее). Спасибо!
- RSol
- Сообщения: 325
- Зарегистрирован: 2010.05.07, 08:36
- Откуда: Северодонецк, Украина
- Контактная информация:
Re: По робокассе, помогите с настройкой
Из документации:
protected/extentions/RC
Тебе нужна папка:Корневой псевдоним
Для удобства Yii предопределяет следующие системные псевдонимы:
Кроме того, если приложение использует модули, то у каждого модуля имеется совпадающий с его ID корневой псевдоним, указывающий на корень модуля. К примеру, если приложение использует модуль users, то для него будет определён корневой псевдоним users.
- system: соответствует директории фреймворка;
- zii: соответствует директории библиотеки расширений Zii;
- application: соответствует базовой директории приложения;
- webroot: соответствует директории, содержащей входной скрипт;
- ext: соответствует директории, содержащей все сторонние расширения.
protected/extentions/RC
Re: По робокассе, помогите с настройкой
знакомо), вот так рождается говнокод:).fantom103 писал(а):Использование:
0. Копируем файлик в "ext.RC"
Ребят помогите пожалуйста! Где находится этот ext.RC?
Я раз пятнадцать уже пересмотрел этот пост по РОБОКАССЕ, но так и не понял как подключить к моему framework-у.
Просто я только-только начал изучать Yii и пока мне сложно понять. А руководство требует подключить робокассу уже сегодня.
Если кому не сложно, опишите все действия по порядку(подробнее). Спасибо!
События вообще не самая легкая для понимания тема, достаточно долго медетировал над ними, но до нирваны дойти не удалось:). А робокасса оч простая сама по себе. Опишу на пальцах.
1. Берешь любезно предоставленный Rsol*ом код. Копируешь его туда где у тебя в структуре фреймворка например экстеншены(может быть любая папка по сути).
2. Копируешь также предоставленный автором конфиг.
3. Читаешь что автор написал выше про использование.'rc'=>array(
'class'=>'ext.RC.RC', //путь к скаченному файлику текущая директория ...\protected\extensions\RC\RC.php
'sMerchantLogin'=>'',//Логин в робокасе
'sMerchantPass1'=>'', // этот пароль указывается в робокасе в разделе администрирование, по первому хеширует при отправке при втором при успешно завершенной транзакции
'sMerchantPass2'=>'',
'sCulture' => 'ru',
'resultMethod => 'post', // в робокасе в настройках указываешь ПОСТ хотя и ГЕТ тоже обрабатывает
'sIncCurrLabel' => 'QiwiR', // способ оплаты вроде
'orderModel' => 'Order', // модель твоей таблицы в бд которая отвечает за транзакции
'priceField'=>'price', // поле в этой же моделе в которой находиться сумма платежа
'isTest' => false, // если тестируешь укажи тру
'onSuccess'=>array('Order','Success'), // статические методы модели которая отвечает за транзакции в которых ты обрабатываешь успешную или неуспешную транзакцию
'onFail'=>array('Order','Fail'),
),
4. Создаешь в контролере отвечающем за оплату 3 действия(помимо отвечающего за оплату с вызовом pay() ), result, success, fail, в первом вызываешь только
Код: Выделить всё
Yii::app()->rc->result();
Yii::app()->end();
5. Рабочий день закончился раньше идешь пить пиво:) начальству говоришь что парился до ночи и просишь оплаты за доп. часы:)
upd: $order=$event->sender->params['order']; в методе success должен по идее возращать модель с которой работаешь, но у меня почемуто возвращает массив, пришлось пропустить через foreach, почему хз.
Спасибо автору прежде всего за хороший пример событий который собственно и помог мне с ними разобраться наконец:), если где ошибся поправте
Re: По робокассе, помогите с настройкой
alekso Спасибо за быстрый ответ.
У меня такая ситуация - есть личный кабинет,
В этом л/к выводится баланс для каждого пользователя
Нужно что бы пользователь смог пополнить свой баланс с помощью РОБОКАССЫ.
про таблицу в базе - 'orderModel' => 'Order' ничего не видел ранее. Получается что мне нужно в базе для каждого пользователя создать еще одну таблицу для транзакций?
Сколько и какие столбцы нужны для этой транзакции?
У меня такая ситуация - есть личный кабинет,
В этом л/к выводится баланс для каждого пользователя
Нужно что бы пользователь смог пополнить свой баланс с помощью РОБОКАССЫ.
про таблицу в базе - 'orderModel' => 'Order' ничего не видел ранее. Получается что мне нужно в базе для каждого пользователя создать еще одну таблицу для транзакций?
Сколько и какие столбцы нужны для этой транзакции?