Артем, спасибо за помощь.
Я разобрался, единственное - приходится обнулять $inv_id, чтобы везде нормально отображался именно код заказа. Также использовал доп. параметр SHPcode для передачи в файлы success.php и fail.php.
Если кому-то интересно, вот файлы:
payment.php:
Код |
---|
<?if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) die();?><?
include(GetLangFileName(dirname(__FILE__)."/", "/payment.php"));
$mrh_login = CSalePaySystemAction::GetParamValue("ShopLogin");
$mrh_pass1 = CSalePaySystemAction::GetParamValue("ShopPassword");
//$inv_id = IntVal($GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["ID"]);
//$inv_desc = CSalePaySystemAction::GetParamValue("OrderDescr");
$bUseAccountNumber = (COption::GetOptionString("sale", "account_number_template", "") !== "") ? true : false;
if($bUseAccountNumber) {
$inv_desc = $GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["ACCOUNT_NUMBER"];
} else {
$inv_desc = IntVal($GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["ID"]);
}
$inv_id = '';
$user_mail = CSalePaySystemAction::GetParamValue("EMAIL_USER");
$out_summ = number_format(CSalePaySystemAction::GetParamValue("SHOULD_PAY"), 2, ".", "");
$isTest = trim(CSalePaySystemAction::GetParamValue("IS_TEST"));
$crc = md5($mrh_login.":".$out_summ.":".$inv_id.":".$mrh_pass1.":SHPcode=".$inv_desc);
$paymentType = trim(CSalePaySystemAction::GetParamValue("PAYMENT_VALUE"));
$inv_id = $inv_desc;
?>
<?if(strlen($isTest) > 0):
?>
<form action="http://test.robokassa.ru/Index.aspx" method="post" target="_blank">
<?else:
?>
<form action="https://merchant.roboxchange.com/Index.aspx" method="post" target="_blank">
<?endif;?>
<font class="tablebodytext">
<?=GetMessage("PYM_TITLE")?><br>
<?=GetMessage("PYM_ORDER")?> <?echo $inv_id." ".CSalePaySystemAction::GetParamValue("DATE_INSERT")?><br>
<?=GetMessage("PYM_TO_PAY")?> <b><?echo SaleFormatCurrency(CSalePaySystemAction::GetParamValue("SHOULD_PAY"), CSalePaySystemAction::GetParamValue("CURRENCY"))?></b>
<p>
<input type="hidden" name="FinalStep" value="1">
<input type="hidden" name="MrchLogin" value="<?=$mrh_login?>">
<input type="hidden" name="OutSum" value="<?=$out_summ?>">
<input type="hidden" name="InvId" value="">
<input type="hidden" name="Desc" value="<?=$inv_desc?>">
<input type="hidden" name="SignatureValue" value="<?=$crc?>">
<input type="hidden" name="Email" value="<?=$user_mail?>">
<input type="hidden" name="SHPcode" value="<?=$inv_desc?>">
<?
if (strlen($paymentType) > 0 && $paymentType != "0")
{
?>
<input type="hidden" name="IncCurrLabel" value="<?=$paymentType?>">
<?
}
?>
<input type="submit" name="Submit" value="<?=GetMessage("PYM_BUTTON")?>">
</p>
</font>
</form>
<p align=\"justify\"><font class=\"tablebodytext\"><?=GetMessage("PYM_WARN")?></p>
|
success.php:
Код |
---|
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$code = $_REQUEST["SHPcode"];
echo "Ваш заказ №".$code." успешно оплачен";
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>
|
failed.php:
Код |
---|
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$code = $_REQUEST["SHPcode"];
echo "Вы отказались от оплаты заказа №".$code;
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>
|