Содержание

Процедура простая: Идем по ссылке RBK Money и регистрируем магазин. Прием платежей всех типов можно начать сразу после регистрации. Сразу скачайте, заполните и вышлите почтой договор - как только они его получат и обработают (обычно пара недель), можно будет выводить средства на расчетный счет (без процентов и ограничений).

XML

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE install SYSTEM "http://dev.joomla.org/xml/1.5/plugin-install.dtd">
<install version="1.5" type="plugin" group="content">
	<name>Оплата RBK Money</name>
	<author>Kayfolom</author>
	<authorEmail>ekorepov@ukhta-inform.ru</authorEmail>
	<authorUrl>authorUrl</authorUrl>
	<creationDate>2011</creationDate>
	<copyright>c</copyright>
	<license>license</license>
	<version>1.0</version>
	<description>Оплата RBK Money</description>
	<files>
		<filename plugin="rbk_money_utm">rbk_money_utm.php</filename>
	</files>
    <params />
</install>

PHP

Код плагина для joomla

<?php
 
defined( '_JEXEC' ) or die( 'Restricted access' );
@ini_set("display_errors", "0");
error_reporting(E_ALL);
 
jimport( 'joomla.plugin.plugin' );
 
$mainframe->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 = "<BR>Платеж принят на обработку, зачисление средств произойдет через несколько минут. <br>Проверить зачисление вы можете в <a href=\"/stat/index.php/paymentreport\">Отчете по платежам</a> <BR>";
 
	if ($_GET['result']=="error") $activepay_message = "<BR>Ошибка платежа<BR>";
	$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
<table width="100%" border="0" cellspacing="1" cellpadding="1">
     <tr>
          <td bgcolor="#FFFFFF">
               <div align="center">Баланс вашего лицевого счета $balance_fmt</div>
          </td>
     </tr>
     <tr>
          <td bgcolor="#FFFFFF">
               <div align="center">Стоимость вашего текущего тарифа $tariff_cost </div><BR>
          </td>
     </tr>
 
     <tr>
          <td bgcolor="#FFFFFF">
               <div align="center">Вы можете пополнить лицевой счет используя платежную систему RBK Money</div> 
               <div align="center">Введите необходимую сумму и нажмите Оплатить. Вы будете перенаправлены в защищенную зону RBK Money.</div>
               <div align="center">Для быстрой оплаты: "Экспресс оплата", введите свой email адрес (на него придет подтверждение оплаты) и нажмите продолжить.</div>
          </td>
     </tr>
     <tr>
          <td bgcolor="#FFFFFF">
               <br>
          </td>
     </tr>
     <tr>
          <td bgcolor="#FFFFFF">
               <div align="center"><img src="/stat/images/stories/logo_visa.gif" alt="Visa" title="Visa"><img src="/stat/images/stories/logo_mastercard.gif" alt="Mastercard" title="Mastercard"> Оплата банковской картой Visa/MasterCard. <br>Введите сумму: </div>
          </td>
     </tr>
     <tr>
     <form action="https://rbkmoney.ru/acceptpurchase.aspx"  method="post">
          <td width="39%">
               <div align="center">
                   <input type="hidden" name="eshopId" value="$eshopId">
                   <input type="hidden" name="orderId" value="$orderId">
                   <input type="text" name="recipientAmount" value="$balance">
                   <input type="hidden" name="recipientCurrency" value="RUR">
                   <input type="hidden" name="serviceName" value="$serviceName">
									 <br>Введите адрес электронной почты<br>
                   <input type="text" name="user_email" value="">
                   <input type="hidden" name="preference" value="bankCard">
                   <input type="hidden" name="successUrl" value="$successUrl">
                   <input type="hidden" name="failUrl" value="$failUrl">
                   <input type="hidden" name="userField_1" value="$account">
                   <input type="submit" name="button" value="Оплатить">
               </div>
          </td>
     </form>
     </tr>
     <tr>
          <td bgcolor="#FFFFFF">
               <br>
          </td>
     </tr>
<!-- **************************************************************************************************** -->
     <tr>
          <td bgcolor="#FFFFFF">
               <div align="center">Оплата другими доступными методами. Введите сумму: </div>  
               <div align="center">Введите сумму: </div>  
          </td>
     </tr>
     <tr>
     <form action="https://rbkmoney.ru/acceptpurchase.aspx" method="post">
          <td width="39%">
               <div align="center">
                   <input type="hidden" name="eshopId" value="$eshopId">
                   <input type="hidden" name="orderId" value="$orderId">
                   <input type="text" name="recipientAmount" value="$balance">
                   <input type="hidden" name="recipientCurrency" value="RUR">
                   <input type="hidden" name="serviceName" value="$serviceName">
                   <input type="hidden" name="successUrl" value="$successUrl">
                   <input type="hidden" name="failUrl" value="$failUrl">
                   <input type="hidden" name="userField_1" value="$account">
                   <input type="submit" name="button" value="Оплатить">
               </div>
          </td>
     </form>
     </tr>
 
<!--     <tr>
          <td bgcolor="#FFFFFF">
               <div align="center">
                   Если Вы не имеете кошелек в платежной системе RBK Money, открыть Вы можете
                   <a target="blank" href="https://rbkmoney.ru/register.aspx">здесь</a>
               </div>
          </td>
     </tr>
-->
</table>
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);
}

PHP

Код обработчика ответов с сервера RBK Money

<?php
 
//@ini_set("display_errors", "1");
//error_reporting(E_ALL);
 
require_once("../stat/urfa/URFAClient.php");
 
$UTMCore_Login='**********';
$UTMCore_Password='********';
$UTMCoreHost='127.0.0.1';
$UTMCorePort='11758';
 
$log_file = "/netup/utm5/log/rbkmoney_".date("Y_m_d").".log";
 
 
$file_handle = fopen($log_file,"a+");
fwrite($file_handle, date("d.m.Y H:i:s")."\r\n".print_r($_POST,true)."\r\n");
	If ($_POST['paymentStatus']==5) {
		$sign='Оплата RBK Money, номер покупки '.$_POST['paymentId'];
		$payment_time = time();
		$burn_date = 0;
		$Account = $_POST['userField_1'];
		$Summa =  $_POST['recipientAmount'];
 
		try {
	        $urfa_admin = new URFAClient_Admin($UTMCore_Login,$UTMCore_Password,$UTMCoreHost,$UTMCorePort);
			} catch (Exception $exception) { 
				$ErrorCode=100;
			} 
 
		$payment_transaction_id = $urfa_admin->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

 
{rbkmoney_UTM}

{rbkmoney_message} 

{form_rbkmoney_payment} 


 
/home/u18456/wiki.flintnet.ru/www/data/pages/joomla_plugin/rbk_money_utm.txt · Последние изменения: 2011/08/31 13:26 От kayfolom
 
За исключением случаев, когда указано иное, содержимое этой вики предоставляется на условиях следующей лицензии:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki