А, ну и ответ он еще не верный формирует...
Вобщем если вдруг кто столкнеться, то вот - поправил на скорую руку:
Вобщем если вдруг кто столкнеться, то вот - поправил на скорую руку:
Код |
---|
<? /* Данный скрипт можно использовать дважды: 1. как скрипт на который будет обращаться roboxchange в случае успешной оплаты (сash Register queries the Result_URL) 2. как скрипт на который будет возвращаться клиент в случае успешной оплаты ( The customer is redirected to Success_URL only if the payment was successful and the sum of e-currency transferred to Merchant equals to the amount) */ define("NO_KEEP_STATISTIC", true); define("NOT_CHECK_PERMISSIONS", true); require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php"); CModule::IncludeModule("sale"); $inv_id = $_REQUEST['InvId']; $out_summ = $_REQUEST['OutSum']; $CHECKSUM = $_REQUEST['SignatureValue']; if(IntVal($inv_id)>0) { $bCorrectPayment = true; if (!($arOrder = CSaleOrder::GetByID(IntVal($inv_id)))) $bCorrectPayment = false; if ($bCorrectPayment) { CSalePaySystemAction::InitParamArrays($arOrder, $arOrder["ID"]); } $mrh_pass2 = CSalePaySystemAction::GetParamValue("ShopPassword2"); // пароль2 $strCheck = md5($out_summ.":".$inv_id.":".$mrh_pass2); if ($bCorrectPayment && strtoupper($CHECKSUM) != 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))), "USER_ID" => $arOrder["USER_ID"] ); // You can comment this code if you want PAYED flag not to be set automatically if ($arOrder["PRICE"] == $out_summ) { $arFields["PAYED"] = "Y"; $arFields["DATE_PAYED"] = Date(CDatabase::DateFormatToPHP(CLang::GetDateFormat("FULL", LANG))); $arFields["EMP_PAYED_ID"] = false; } if(CSaleOrder::Update($arOrder["ID"], $arFields)) { echo "OK".$inv_id; } } } require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php"); ?> |