Процедура простая:
**Идем по ссылке [[https://rbkmoney.ru/Register.aspx?partner=397ced88-908f-4d2c-969f-3d64395b1da5|RBK Money]] и регистрируем магазин. Прием платежей всех типов можно начать сразу после регистрации. Сразу скачайте, заполните и вышлите почтой договор - как только они его получат и обработают (обычно пара недель), можно будет выводить средства на расчетный счет (без процентов и ограничений).**
==== XML ====
==== PHP ====
Код плагина для joomla
registerEvent( 'onPrepareContent', 'plgRBKMoney_UTM' );
function plgRBKMoney_UTM(&$row, &$params, $page=0){
$pos = strpos($row->text, '{rbkmoney_UTM}');
if ($pos==false) return;
$row->text = preg_replace('/{rbkmoney_UTM}/', '', $row->text);
$activepay_message = "";
$SecretKey = '**************'; // Берем из настроек магазина на сайте РБК
$eshopId=*********; //Идентификатор вашего магазина. Берем из настроек магазина на сайте РБК
$orderId=time(); //Номер покупки
$recipientCurrency="RUR";
$serviceName = 'Пополнение лицевого счета '.$_SESSION['URFA']['basic_account'];
$successUrl="https://***********/pay/rbkmoney?result=ok"; //Замените на ваш путь
$failUrl="https://***********/pay/rbkmoney?result=error"; //Замените на ваш путь
$account=$_SESSION['URFA']['basic_account'];
if (isset($_GET['result'])) {
if ($_GET['result']=="ok") $activepay_message = "
==== PHP ====
Код обработчика ответов с сервера RBK Money
Платеж принят на обработку, зачисление средств произойдет через несколько минут.
Проверить зачисление вы можете в Отчете по платежам
";
if ($_GET['result']=="error") $activepay_message = "
Ошибка платежа
";
$form_activepay_payment = '';
} else {
// Типа номер лицевого счета
$account = $_SESSION['URFA']['basic_account'];
$balance_fmt = sprintf("%01.2f руб.",$_SESSION['URFA']['balance']);
echo abs($_SESSION['URFA']['balance']);
$balance = ceil(abs($_SESSION['URFA']['balance'])*100)/100; // Вычисляем сумму платежа с округлением в большую сторону
$tariff_cost = sprintf("%01.2f руб.",$_SESSION['URFA']['tariff_cost']);
$form_activepay_payment = <<
Введите сумму:
EOF;
$activepay_message = '';
}
$row->text = preg_replace('/{rbkmoney_message}/', $activepay_message, $row->text);
$row->text = preg_replace('/{form_rbkmoney_payment}/', $form_activepay_payment, $row->text);
}
rpcf_add_payment_for_account($Account,$Summa,$payment_time,$burn_date,100,$sign,$sign,1); //0x3110
if (isset($payment_transaction_id['payment_transaction_id'])) {
$ErrorCode = 0;
fwrite($file_handle, date("d.m.Y H:i:s")." ".$_POST['paymentId']." ok\r\n");
}
else {
$ErrorCode = 255;
fwrite($file_handle, date("d.m.Y H:i:s")." ".$_POST['paymentId']." ERROR !!!\r\n");
}
}
fclose($file_handle);
?>
==== HTML ====