Кросспост из блога
http://shaman.asiadata.ru.
![](http://shaman.asiadata.ru/files/images/uc_roboxchange.png)
Платежный модуль uc_roboxchange предназначен для проведения оплаты в вашем интернет-магазине на Ubercart через известный обменный сервис
RoboXchange (он же
Robokassa.ru). Обменный пункт, а значит и модуль позволяет принимать платежи в электронных валютах (Яндекс.Деньги, WebMoney, MoneyMail, RBK Money, Единый Кошелек, EasyPay, WebCreds), через sms, наличными через терминал Элекснет и переводом в системе CONTACT. Порт сделан в процессе разработки интернет-магазина
www.e-oriental.ru.
Спонсоры разработки
Евгений Ситников (Fasdalf) Далее по шагам все особенности установки и настройки...
Drupal & Ubercart
У вас уже должен быть на рабочем хостинге (не на локалке) установлен и настроен магазин на Drupal 6 и Ubercart 2.
Инструкции по установке и настройке ищите на соответствующих сайтах.
Drupal 6:
русский, английский.
Ubercart 2:
русский, английский.
Регистрация в Робокассе
На заглавной странице сайта
www.robokassa.ru находим здоровую кнопку «Подключиться сейчас!», жмем её и регистрируемся. После регистрации заходим в личный кабинет и вводим регистрационную информацию: название магазина, url сайта, и способ вывода денег. По последнему замечу, что если вы хотите принимать платежи в WebMoney, то это можно делать только на ее кошелек. Т.е. получая оплату на Яндекс.Деньги вы теряете покупателей с WM. Кроме того для получения оплаты на WM у вас должен быть персональный аттестат системы. Таковы условия WebMoney Transfer. Лучше всего также, чтобы тип кошелька совпадал с валютой используемой в вашем магазине. Но об этом ниже.
В разделе администрирования нужно установить три адреса вашего магазина по которым робокасса будет обмениваться данными (они генерируются модулем)
Result url:
http://example.com/uc_roboxchange/done
Success url:
http://example.com/uc_roboxchange/success
Fail url:
http://example.com/uc_roboxchange/fail Где
http://example.com/ замените на адрес вашего сайта.
Методом запросов укажите POST - это безопаснее. К тому же при GET модуль отдаст покупателю ошибку при возврате в магазин. Здесь же заполните два пароля: Пароль #1 и Пароль #2, применяемые для шифрации данных в обмене между кассой и магазином. Само собой они должны отличаться от пароля для входа в саму систему и друг от друга. Все эти настройки потом надо в том же виде внести в настройки модуля RoboXchange.
После заполнения формы, отправляете администратору робокассы письмо со своим логином и кратким описанием магазина, и ждете активации записи. Robokassa не подключает «сайты, на которых предлагаются товары и услуги, запрещенные законодательством РФ или противоречащие международному праву». Остальным, видимо, можно.
Обратите внимание также на то, что после активации кассы изменить многие настройки, в частности номер кошелька будет невозможно.
Установка и настройка модуля Roboxchange
Скачиваете модуль Roboxchange или, если вы хотите
проспонсировать его портирование, покупаете его в магазине заодно тестируя функциональность. (Сумма от 1WMZ до любой, которую считаете необходимой).
Распакованную папку с модулем можно скопировать в несколько мест:
1. системная папка модулей Drupal /sites/all/modules;
2. папка с штатными платежными системами Ubercart /sites/all/modules/ubercart/payment;
3. рекомендуемая разработчиками Ubercart папка для сторонних модулей /sites/all/modules/ubercart/contrib.
После включения модуля его настройки появятся на страницах управления магазином в установках оплаты admin/store/settings/payment/edit/methods.
На этой странице разворачиваем группу "RoboXchange установка". Задаем нужные параметры:
Action url по умолчанию
https://merchant.roboxchange.com/Index.aspx
Merchant Login - ваш логин в робокассе.
Merchant Pass 1 - ваш Пароль #1 в робокассе.
Merchant Pass 2 - ваш Пароль #2 в робокассе.
После сохранения настроек значок робокассы должен появиться в интерфейсе корзины в списке способов оплаты.
Проблемное место на мой взгляд только поле Rate to site currency. Это курс валюты вашего сайта по отношению к валюте обменника на ваш кошелек. По умолчанию он был равен единице, и если цены в магазине в рублях, то используйте кошелёк WMR, а если в долларах - WMZ. В остальных случаях вам придется подбирать в этом поле более или менее точный курс валюты обмена: 33 или 0,03 на сегодня. При значениях меньше текущего курса наблюдалась отмена оплаченных счетов. Видимо, с этим багом ещё придётся разбираться. Поэтому лучше вам использовать тот кошелёк, чья валюта совпадает с ценами вашего сайта.
Еще один совет по безопасности. Придумайте для всех адресов интерфейса модуля (в настройках робокассы) какие-нибудь неординарные адреса, а на сайте перепишите системные путь синонимами. А для сокрытия системных путей вроде есть какой-то модуль.
Примечания
Версия модуля под Drupal 5 была сделана
gor'ом. Весь исходный функционал в порте на Drupal 6 оставлен неизменным (в API робокассы изменился только URL). Моя работа по портированию заключалась в следующих шести моментах:
1. Новая редакция файла uc_roboxchange.install (изменения в Schema API).
2. Новая реализация hook_menu (изменения в API).
3. Корректировка параметров функций, связанных с формами (изменения в Form API).
4. Изменения параметров функций url().
5. Замена адреса мерчанта по умолчанию.
6. Чистка кода от несоответствий
стандартам кодирования Drupal.
uc_roboxchange для Drupal 6
Скачать модуль uc_roboxchange для Drupal 6
Спонсировать разработку модуля для Drupal 6 Порт на Drupal 6 + Ubercart 2 платёжного модуля RoboXchange (статья в блоге автора)
Первый электронный магазин использующий этот модуль под Drupal 6
uc_roboxchange для Drupal 5
uc_roboxchange - RoboXchange payment gateway для Drupal 5
Ubercart RoboXchange drupal module
RoboXchange Drupal module (ecommerce + ubercart)
Через транзакции к доходу, или как настроить модуль RoboXchange в Ubercart'e
Общие сведения
ROBOKASSA. Описание интерфейсов
Этапы подключения к ROBOKASSе
Стандарты кодирования в Drupal