По поводу подключения оплаты. Сейчас вожусь с настройками, но вот первые данные по добавлению.
На примере Робокассы:
1. Лезем в админку и в Настройках->Метод Оплаты (SETTINGS->Payment Methods) добавляем нужный нам вариант. В моем случае Робокасса.
2. Лезем в SQL. Открываем _payment_options и в поля is_gateway и gateway_active ставим значение 1.
3. Лезем в файл includes/config/gateways.php и вносим правки: в $gateway_links - добавляем 'robokassa' => 'robokassa.ru', в $address_string - 'robokassa' => $MSG['826ra'],
в $password_string - 'robokassa' => $MSG['826rp'], в $error_string - 'robokassa' => $MSG['826re'].
4. Лезем в language/En/messages.inc.php и добавляем 3 строки $MSG['826re'] = 'RoboKassa Error'; $MSG['826ra'] = 'RoboKassa ID'; $MSG['826rp'] = 'RoboKassa Key1';.
То же добавляем в Ru или что у кого, в зависимости от выбранного языка. Соответственно - RoboKassa ID это идентификатор магазина. Значение приходит в БД в поле gateway_admin_address,
а RoboKassa Key1, являющееся ключом, в gateway_admin_password.
5. Лезем в validate.php. Вносим следующее if (isset($_GET['robokassa']))
{
$fees->robokassa_validate();
}
6. Лезем в pay.tpl - ищите в шаблонах.... вносим туда:
<!-- IF gateways.NAME eq 'robokassa' and gateways.B_ACTIVE -->
<tr>
<td width="160" class="paytable1"><img src="images/robokassa.gif"></td>
<td class="paytable2 style="padding-left: 10px;">Кликните на кнопке справа для оплаты через ROBOKASSA</td>
<td class="paytable3">
<form action="<!-- IF SANDBOX -->
Для просмотра ссылки Войди или Зарегистрируйся ELSE -->
Для просмотра ссылки Войди или Зарегистрируйся ENDIF -->" method="post" id="form_robokassa">
<input type=PUBLIC name=MrchLogin value="{gateways.PAY_ADDRESS}">
<input type=PUBLIC name=OutSum value="{PAY_VAL}">
<input type=PUBLIC name=Desc value="{TITLE}">
<input type=PUBLIC name=Shp_custom value="{CUSTOM_CODE}">
<input type=PUBLIC name=SignatureValue value="{RO_KEY}">
<input name="submit" type="submit" value="{L_756}" border="0">
</form>
</td>
</tr>
<!-- ENDIF -->
По порядку:
type=PUBLIC - не забываем поменять на Hidden
но для теста - удобно на Паблике.
img src="images/robokassa.gif" - понятно, что это ссылка на логотип.
Для просмотра ссылки Войди или Зарегистрируйся - страница авторизации.
MrchLogin value="{gateways.PAY_ADDRESS}" - передаем значение ID магазина
name=OutSum value="{PAY_VAL} - передаем значение суммы
name=Desc value="{TITLE}" - описание платежа
Shp_custom value="{CUSTOM_CODE}" - дополнительный код со значением типа платежа, вернусь к нему позже.
name=SignatureValue value="{RO_KEY}" - как понятно это Сигнатура ну или хеш.
7. Лезем в pay.php там ищем // item values или $template->assign_vars(array(
Добавляем просчет Сигнатуры 'RO_KEY' => md5("$address:$pay_val::$password:Shp_custom=$custoncode"),
где:
$address - это как раз значение ID магазина
$pay_val - это сумма платежа
$password - это значение платежного пароля
Shp_custom=$custoncode - именно так!!! - значенее типа платежа. Вот теперь по нему подробнее.
Он нужен для определения куда что и кем добавляется. Формируется в файле pay.php автоматически, по принципу ID_ПользователяWEBID№.
Значения следующие:
WEBID1 - add to account balance, WEBID2 - pay for an item, WEBID3 - pay signup fee, WEBID4 - pay auction fee, WEBID5 - pay relist fee, WEBID6 - pay buyer fee,
WEBID7 - pay final value fee
8. Лезем в includes/class_fees.php и добавляем public function robokassa_validate() в соответствии с API по Робокассе. Вот теперь бы кто помог дописать эту обработку. А то что то я потерялся...
ВАЖНО! - не забываем чистить кэш через админку сайта после каждого внесения изменений в файлы.