"") { $aResult = explode("\n", $sResult); if($aResult[0] == "OK") { $bWasSuccess = false; foreach($aResult as $val) { if($val == "OK") { //new result within results set //only success result is nedded if($bWasSuccess == true) break; $aFields = array(); } $aVal = explode("=", $val); if(count($aVal) == 2) { $aFields[$aVal[0]] = $aVal[1]; if($aVal[0] == "status" && $aFields["status"] == "PAID") $bWasSuccess = true; } } if(intval($aFields["issuer_id"]) == $ORDER_ID) { $str_PS_STATUS_CODE = $aFields["status"]; $str_PS_STATUS = ($aFields["status"] == "PAID"? "Y":"N"); if($aFields["status"] == "PAID") $str_PS_STATUS_DESCRIPTION = "Счет оплачен"; elseif($aFields["status"] == "NEW") $str_PS_STATUS_DESCRIPTION = "Новый счет"; elseif($aFields["status"] == "REJECTED") $str_PS_STATUS_DESCRIPTION = "Отказ от оплаты счета"; elseif($aFields["status"] == "EXPIRED") $str_PS_STATUS_DESCRIPTION = "Истек срок оплаты счета"; else $str_PS_STATUS_DESCRIPTION = ""; $str_PS_STATUS_MESSAGE = ""; $str_PS_SUM = doubleval(mb_substr($aFields["value"], 3)); $str_PS_CURRENCY = mb_substr($aFields["value"], 0, 3); if($aFields["status"] == "PAID") $str_PS_DATE_STATUS = mb_substr($aFields["paid_date"], 0, 19); else $str_PS_DATE_STATUS = ""; $str_PS_RESPONSE_FULL = $sResult; $str_PS_RESPONSE_FORMATTED = ''."\n". '
'."\n"; foreach($aFields as $key=>$val) $str_PS_RESPONSE_FORMATTED .= ''."\n"; $str_PS_RESPONSE_FORMATTED .= '
'.htmlspecialcharsbx($key).''.htmlspecialcharsbx($val).'
'."\n"; $arFields = array( "PS_STATUS" => $str_PS_STATUS, "PS_STATUS_CODE" => $str_PS_STATUS_CODE, "PS_STATUS_DESCRIPTION" => $str_PS_STATUS_DESCRIPTION, "PS_STATUS_MESSAGE" => $str_PS_STATUS_MESSAGE, "PS_SUM" => $str_PS_SUM, "PS_CURRENCY" => $str_PS_CURRENCY, "PS_RESPONSE_DATE" => Date(CDatabase::DateFormatToPHP(CLang::GetDateFormat("FULL", LANG))) ); CSaleOrder::Update($ORDER_ID, $arFields); return true; } } } return false; ?>