Оплата РОБОКАССА в MODX
Всё что нужно, это сниппет с несколькими параметрами:
<?php $login = "myLogin_in_RC"; $amount = floatval($_GET["OutSum"]); // floatval нужен, чтобы привести значения типа "99.00" к "99" $_GET["OutSum"] $InvId = date(dmyB); // я использовал дату, но можно номер покупки $id = $InvId; $pwd1 = "roboxchange1"; //пароль РОБОКАССЫ $signature = md5($login . ":" . $amount . ":" . $id . ":" . $pwd1); $Desc = "Оплата счёта"; //.'&IncCurrLabel=RapidaOceanEurosetR' /* Не забудьте сначала вставить проверку на существование такого номера транзакции вообще. Если его нет в базе - выведите "ERR" https://merchant.roboxchange.com/Index.aspx *///Мне нужно было сделать кнопку оплаты на произвольную сумму, по этому сделал такую проверку
if(!isset($_GET['OutSum'])) { echo '<div><div id="wm"> <div> <div><p><span style="color: #555;">Перевод со счета мобильного телефона (МТС и Мегафон)</span></p></div> <form method="get" action="[~ 9 ~]"> <input type="hidden" name="MrchLogin" value="'.$login.'" /> <input type="hidden" name="InvId" value="'.$InvId.'" /> <input type="hidden" name="Desc" value="'.$Desc.'" /> <input type="hidden" name="SignatureValue" value="'.$signature.'" /> <div style="width: 100px;"> <input type="text" name="OutSum" value="" style="text-align: right;" /> <span>руб. </span> </div> <span data-block="b-button"> <span>Поддержать</span> <input type="submit" value="Поддержать" name="submit-button"> </span> <a target="_blank" href="http://www.robokassa.ru/ru/"> <img src="assets/templates/help/robox.png" height="30px"></a> <div></div> </form> </div> </div></div>'; } if(isset($_GET['OutSum'])){ //отправляем пользователя на оплату $redirect = 'http://merchant.roboxchange.com/Index.aspx?MrchLogin='.$login.'
&OutSum='.$amount.'&InvId='.$InvId.'&Desc=Перевод+проекту+СВЕТАМИН&SignatureValue='.$signature; header( 'Location:'.$redirect, true, 301 ); } ?>