Форум UnitCMS

сборка 4.6 Lego Edition и подключение Robokassa

AND

сборка 4.6 Lego Edition и подключение Robokassa
« : Сентябрь 15, 2011, 05:24:10 pm »
Привет.
возник насущный вопрос по платежной системе Robokassa и ее подключению на сайт,
работающий на сборке 4.6 Lego Edition.
В админке сайта , вкладка платежные системы, Робокасса включена, логин пароль указаны, акаунт в робокассе активирован.
но: после оформления покупки, попытка оплатить ее через робокассу приводит к получению сообщения :
"К сожалению, оплата этого счета невозможна,
так как некоторые параметры счета некорректны.
Неверный параметр: Signature".
возможно это происходит из за того что настройках сервиса Robokassa (администрирование)
имеются еще два пароля:
Пароль #1: [используется интерфейсом инициализации оплаты] ,
Пароль #2: [используется интерфейсом оповещения о платеже, XML-интерфейсах]
и куда их использовать -не понятно.
в админку на сайте их "вставить" некуда, куда то "в файл" через ftp - тоже не нашел.

пробовал решения , опубликованные на родном форуме shop-script.ru, но незаладилось. пара архивов , выложенные там в соответсвующих темах по Робокассе -умерли давно.
подскажите, кому то удалось наладить работу Robokassы ?
 

pehser

Re: сборка 4.6 Lego Edition и подключение Robokassa
« Ответ #1 : Сентябрь 15, 2011, 06:04:28 pm »
в сборке нету файлов проверки на сайте и ответа примеры таких файлов есть на сайте робокасы скачайте по правте под себя и впринцыпе должно работать одному из клиентов давненько настраивал уже не помню всех подробностей
WM: Z255040886923, R104460203223, U381335345755 Yandex: 41001700114942
---
Я пользуюсь обменником
 

AND

Re: сборка 4.6 Lego Edition и подключение Robokassa
« Ответ #2 : Сентябрь 15, 2011, 07:48:40 pm »
ясно, спасиб.
 

tovshop

  • **
  • 31
  • +0/-0
Re: сборка 4.6 Lego Edition и подключение Robokassa
« Ответ #3 : Апрель 25, 2012, 05:08:13 pm »
Доброго времени!
Стоит 5.0.2, есть в списке платежных систем Robokassa.
Заполнил все поля в лк Robokassa согласно предложенным в лк 5.0.2 и выбрал метод POST.
но при попытке оплатить сайт http://test.robokassa.ru/Error.aspx выдает ошибку "Отсутствует обязательный параметр "MrchLogin"
Где посмотреть, почему не передается этот Логин (ID)?
Возможно из-за тестового сервера?
http://www.robokassa.ru/ru/DocTest/ru/Interface.aspx?
« Последнее редактирование: Апрель 25, 2012, 05:12:05 pm от tovshop »
 

pehser

Re: сборка 4.6 Lego Edition и подключение Robokassa
« Ответ #4 : Апрель 25, 2012, 05:30:05 pm »
Обратитесь к mask он писал данный модуль
WM: Z255040886923, R104460203223, U381335345755 Yandex: 41001700114942
---
Я пользуюсь обменником
 

tovshop

  • **
  • 31
  • +0/-0
Re: сборка 4.6 Lego Edition и подключение Robokassa
« Ответ #5 : Апрель 25, 2012, 11:22:03 pm »
Спасибо огромное mask, его стараниями модуль частично заработал :-)
Исправлены 2 файла:
payment.php и payment.tpl.html (во вложении)

Но не до конца, Робокасса дает неверный ответ, mask сказал, что это уже к Сергею :-)

[вложение удалено администратором]
 

kamaz2012

Re: сборка 4.6 Lego Edition и подключение Robokassa
« Ответ #6 : Сентябрь 01, 2014, 10:57:23 am »
Уважаемые разработчики помогите настроить robokassa, "Отсутствует обязательный параметр "MrchLogin"
свяжитель со мной по скайп evgeniy23111988. Покупатели идут а оплата неработает.. спс.
 

tovshop

  • **
  • 31
  • +0/-0
Re: сборка 4.6 Lego Edition и подключение Robokassa
« Ответ #7 : Ноябрь 04, 2015, 12:18:43 am »
Часть кода payment.tpl.html
{if $payment_type == "robox"}
{* ROBOX *}
<div id="payform_2" style="width: 100%;">
<form class='wufoo' id="robox_form" action="{if $robox_testmode}http://test.robokassa.ru/Index.aspx{else}https://merchant.roboxchange.com/Index.aspx{/if}" method="post">
<input type="hidden" name="MrchLogin" value="{$robox_login}" />
<input type="hidden" name="OutSum" value="{$payment.price_rub}.{$payment.price_kop}" />
<input type="hidden" name="InvId" value="{$payment.id}" />
<input type="hidden" name="Desc" value="{$payment_description}" />
<input type="hidden" name="SignatureValue" value="{$robox_crc}" />
<input type="hidden" name="Shp_item" value="" />
<input type="hidden" name="IncCurrLabel" value="" />
<input type="hidden" name="Culture" value="ru" />
<ul>
<li><img src="./images/robox.png" alt="Ñèñòåìà ïðèåìà ïëàòåæåé ROBOKASSA" /></li>
<li><div class="f-left b" style="width:24%;">{$smarty.const.STRING_ORDER_ID}:</div><div class="f-left b" style="width:70%;">{$payment.id}</div></li>
<li><div class="f-left b" style="width:24%;">{$smarty.const.TABLE_ORDER_TOTAL}:</div><div class="f-left b" style="width:70%;">{$payment.price}</div></li>
{if $payment.addprice}
<li class="req">{$smarty.const.STRING_PAY_ADDPRICE} {$payment.addprice} %</li>
{/if}
<li><div class="f-left b" style="width:24%;">{$smarty.const.CUSTOMER_COMMENT}</div><div class="f-left" style="width:70%;">{$payment_description}</div></li>
</ul>
<div class="buttons">
<table>
<tr>
<td align="center">
<input type="hidden" name="complete_order" value="1" />
<a onclick="$('#robox_form').submit();" class="button"><span>{$smarty.const.STRING_PAY}</span></a>
</td>
</tr>
</table>
</div>
</form>
</div>
{/if}

Код payment.php (взято legosp6.2)

<?php
/*****************************************************************************
 *                                                                           *
 * Shop-Script FREE                                                          *
 * Copyright (c) 2005 Supme. All rights reserved.                     *
 *                                                                           *
 ****************************************************************************/
// payments page
if (isset($_GET["payment"]))
{
if( isset($_POST["payment_type"]) ){ $payment_type = $_POST["payment_type"]; }
else{
if( isset($_GET["payment_type"]) ){//посылки из письма
$payment_type = validate_search_string($_GET["payment_type"]);
}
else{ $payment_type = 0; }
}
//payments
$q = db_query("SELECT * FROM ".PAYMENT_TABLE." LEFT JOIN ".PAYOPTION_TABLE." USING (payID)") or die (db_error());
$tmp_arr = Array();
while ($row = mysql_fetch_assoc($q)){
$tmp_arr[$row['type']."_".$row['payoption']] = $row['payvalue'];
$smarty -> assign($row['type']."_".$row['payoption'], $row['payvalue']);
}
//price
if( isset($_GET["order_id"]) && isset($_GET["mail_to"]) ){//посылка из пиьма
$payment['id'] = (int)$_GET["order_id"];
$mail_to = validate_search_string($_GET["mail_to"]);
$sql = "
SELECT COUNT(*)
FROM ".ORDERS_TABLE."
WHERE `orderID` = ".$payment['id']." AND `cust_email` = '$mail_to'
";
$result = db_r($sql);
if($result == 0){ die('Access denied'); }
}
else{
$payment['id'] = $_SESSION["order_id"];
}
$total = db_r("SELECT SUM(Price*Quantity) FROM ".ORDERED_CARTS_TABLE.' WHERE name NOT LIKE \'' . ADMIN_DISCOUNT_STRING . '%\' and orderID='.(int)$_SESSION["order_id"]) or die(db_error());
$disk=db_r("SELECT Price FROM ".ORDERED_CARTS_TABLE.' WHERE name LIKE \'' . ADMIN_DISCOUNT_STRING . '%\' and orderID='.(int)$_SESSION["order_id"]);
$total -=$disk;
$addprice = round($total/100*$tmp_arr[$payment_type."_addprice"], 2);
$payment['addprice'] = $tmp_arr[$payment_type."_addprice"];
$tmp_price = explode(".", $addprice+$total);
$payment['price'] = show_price($total);
$payment['price_rub'] = $tmp_price[0];
$payment['price_kop'] = $tmp_price[1];
if (!$payment['price_kop']) {$payment['price_kop'] = 0;}
$tmp_price_us = explode(".", round(($addprice+$total)/CURR_USD, 2));
$payment['price_usd'] = $tmp_price_us[0];
$payment['price_usc'] = $tmp_price_us[1];
if (!$payment['price_usc']) {$payment['price_usc'] = 0;}
$smarty->assign("payment", $payment);
$tmp_arr['all_description'] = str_replace("%orderid%", $_SESSION["order_id"], $tmp_arr['all_description']);
$tmp_arr['all_description'] = str_replace("%ordertotal%", $payment['price'], $tmp_arr['all_description']);
$smarty -> assign("payment_description", $tmp_arr['all_description']);
if (DB_CHARSET =='cp1251') $tmp_arr['all_description']=win2utf($tmp_arr['all_description']);
$smarty->assign("payment_type", $payment_type);
$smarty->assign("payment_name", $tmp_arr[$payment_type.'_name']);
$robox_crc = md5($tmp_arr['robox_login'].":".$payment['price_rub'].".".$payment['price_kop'].":".$_SESSION["order_id"].":".$tmp_arr['robox_pass'].":"."Shp_item=");
$smarty -> assign("robox_crc", $robox_crc);

//////////////interkassa_2//////////////////
if($payment['price_usd']){
if(!$payment['price_usc']) $payment['price_usc'] = 0;
$ik_am = $payment['price_usd'].'.'.$payment['price_usc'];
if($tmp_arr['inter_addprice'] && $tmp_arr['inter_addprice']!=0){
$addprice = ($tmp_arr['inter_addprice'])/100;
$addprice = ($ik_am*$addprice) + $ik_am;
$ik_am = round($addprice,2);
}
$smarty->assign("payment_price", $ik_am);
}
//массив формирующий подпись
$dataSet = array(
'ik_co_id'=>$tmp_arr['inter_shopid'],
'ik_pm_no'=>$payment['id'],
'ik_am'=>$ik_am,
'ik_cur'=>CONF_CURRENCY_ISO3,
'ik_desc'=>$tmp_arr['all_description']
);
$key = $tmp_arr['inter_key']; //тестовый или секретный ключ


//unset($dataSet['ik_sign']); //удаляем из данных строку подписи
ksort($dataSet, SORT_STRING); // сортируем по ключам в алфавитном порядке элементы массива
array_push($dataSet, $key); // добавляем в конец массива "секретный ключ"
$signString = implode(':', $dataSet); // конкатенируем значения через символ ":"
$ik_sign = base64_encode(md5($signString, true));  // берем MD5 С…СЌС€ РІ бинарном РІРёРґРµ РїРѕ сформированной строке Рё кодируем РІ BASE64
$smarty->assign("ik_sign", $ik_sign);
//////////////END interkassa_2//////////////



$smarty->assign("main_content_template", "payment.tpl.html");
}
?>

Работает.
« Последнее редактирование: Ноябрь 04, 2015, 12:29:24 am от tovshop »
 

 

Sitemap 1 2 3 4 5