Если аккаунт на робокассе не активирован, то чтобы протестить в тестовом режиме необходимо изменить урл, куда отправляются данные на http://test.robokassa.ru/Index.aspx в файле payment.php. После активации аккаунта изменить назад на рабочий
<?require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
CModule::IncludeModule("sale");
$inv_id = IntVal($_REQUEST["InvId"]);
if(IntVal($inv_id)>0)
{
$bCorrectPayment = True;
$inv_id = IntVal($_REQUEST["InvId"]);
$out_summ = $_REQUEST["OutSum"];
$crc = $_REQUEST["SignatureValue"];
if (!($arOrder = CSaleOrder::GetByID(IntVal($inv_id))))
$bCorrectPayment = False;
if ($bCorrectPayment)
CSalePaySystemAction::InitParamArrays($arOrder, $arOrder["ID"]);
$mrh_pass2 = CSalePaySystemAction::GetParamValue("ShopPassword2");
$strCheck = md5($out_summ.":".$inv_id.":".$mrh_pass2);
if ($bCorrectPayment && strtoupper($crc) != strtoupper($strCheck))
$bCorrectPayment = False;
if($bCorrectPayment)
{
$arFields = array(
"PS_STATUS" => "Y",
"PS_STATUS_CODE" => "-",
"PS_STATUS_DESCRIPTION" => $strPS_STATUS_DESCRIPTION,
"PS_STATUS_MESSAGE" => $strPS_STATUS_MESSAGE,
"PS_SUM" => $out_summ,
"PS_CURRENCY" => "",
"PS_RESPONSE_DATE" => Date(CDatabase::DateFormatToPHP(CLang::GetDateFormat("FULL", LANG))),
);
// You can comment this code if you want PAYED flag not to be set automatically
if ($arOrder["PRICE"] == $out_summ)
{
CSaleOrder::PayOrder($arOrder["ID"], "Y");
}
if(CSaleOrder::Update($arOrder["ID"], $arFields))
echo "OK".$inv_id;
}
}
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php");?>
Здравствуйте. Вставил этот код на свой сайт (otkroj-podarok.ru). Пробую в тестовом периоде проводить платеж. Выдает следующее: "Уведомление отправлено успешно" и выводит в графе ответ следующий код:
// your registration data $mrh_login = "test"; // your login here $mrh_pass1 = "securepass1"; // merchant pass1 here
// order properties $inv_id = 5; // shop's invoice number // (unique for shop's lifetime) $inv_desc = "desc"; // invoice desc $out_summ = "5.12"; // invoice summ
// build CRC value $crc = md5("$mrh_login:$out_summ:$inv_id:$mrh_pass1" ;
Последние обновления, дают возможность перебрасывать к конкретному платежному инструменту, что повышает вероятность оплаты и упрощает интерфейс для обычного пользователя.
Настроил РОБОКАССУ, но уведомления так и не приходят в Битрикс, хотя платеж проходит. И выводит на страницу с оповещением положительного результата по оплате. В администрировании заказ регистрируется но оплата нет, что делать подскажите?!