Esempio n. 1
0
 if (!CModule::IncludeModule('sale')) {
     echo CUtil::PhpToJSObject(array('ERROR' => 'MODULE SALE NOT INCLUDED!'));
     die;
 }
 $paySystemID = isset($_POST['PAY_SYSTEM_ID']) ? intval($_POST['PAY_SYSTEM_ID']) : 0;
 if ($paySystemID <= 0) {
     echo CUtil::PhpToJSObject(array('ERROR' => 'PAY_SYSTEM_ID ID NOT FOUND!'));
     die;
 }
 $dbResult = CCrmQuote::GetList(array(), array('ID' => $quoteID, 'CHECK_PERMISSIONS' => 'N'), false, false, array('*', 'UF_*'));
 $quoteFields = is_object($dbResult) ? $dbResult->Fetch() : null;
 if (!is_array($quoteFields)) {
     echo CUtil::PhpToJSObject(array('ERROR' => 'QUOTE IS NOT FOUND!'));
     die;
 }
 $paymentData = CCrmQuote::PrepareSalePaymentData($quoteFields);
 if (!is_array($paymentData)) {
     echo CUtil::PhpToJSObject(array('ERROR' => 'COULD NOT PREPARE PAYMENT DATA!'));
     die;
 }
 $dbPaySysAction = CSalePaySystemAction::GetList(array(), array('PAY_SYSTEM_ID' => $paySystemID, 'PERSON_TYPE_ID' => $quoteFields['PERSON_TYPE_ID']), false, false, array('ACTION_FILE', 'PARAMS', 'ENCODING'));
 $paySysActionFields = $dbPaySysAction->Fetch();
 if (!is_array($paySysActionFields)) {
     echo CUtil::PhpToJSObject(array('ERROR' => 'COULD NOT FIND PAYMENT SYSTEM ACTION!'));
     die;
 }
 $actionFilePath = isset($paySysActionFields['ACTION_FILE']) ? $paySysActionFields['ACTION_FILE'] : "";
 if (!is_string($actionFilePath) || $actionFilePath === '') {
     echo CUtil::PhpToJSObject(array('ERROR' => 'COULD NOT FIND PAYMENT SYSTEM ACTION FILE!'));
     die;
 }
Esempio n. 2
0
}
if (!CModule::IncludeModule('sale')) {
    ShowError(GetMessage('CRM_MODULE_NOT_INSTALLED_SALE'));
    return;
}
$CCrmQuote = new CCrmQuote();
if ($CCrmQuote->cPerms->HavePerm('QUOTE', BX_CRM_PERM_NONE, 'READ')) {
    ShowError(GetMessage('CRM_PERMISSION_DENIED'));
    return;
}
global $APPLICATION;
$APPLICATION->RestartBuffer();
$quoteID = intval($arParams["QUOTE_ID"]);
$dbResult = CCrmQuote::GetList(array(), array('ID' => $quoteID, 'CHECK_PERMISSIONS' => 'N'), false, false, array('*', 'UF_*'));
$arQuote = is_object($dbResult) ? $dbResult->Fetch() : null;
$paymentData = is_array($arQuote) ? CCrmQuote::PrepareSalePaymentData($arQuote) : null;
$paySystemID = isset($_REQUEST['PAY_SYSTEM_ID']) ? intval($_REQUEST['PAY_SYSTEM_ID']) : 0;
if (is_array($paymentData) && $paySystemID > 0) {
    $dbPaySysAction = CSalePaySystemAction::GetList(array(), array("PAY_SYSTEM_ID" => $paySystemID, "PERSON_TYPE_ID" => $arQuote["PERSON_TYPE_ID"]), false, false, array("ACTION_FILE", "PARAMS", "ENCODING"));
    if ($arPaySysAction = $dbPaySysAction->Fetch()) {
        if (strlen($arPaySysAction["ACTION_FILE"]) > 0) {
            CSalePaySystemAction::InitParamArrays($paymentData["ORDER"], 0, $arPaySysAction["PARAMS"], array("PROPERTIES" => $paymentData["PROPERTIES"], "BASKET_ITEMS" => $paymentData["CART_ITEMS"], "TAX_LIST" => $paymentData["TAX_LIST"]));
            $pathToAction = $_SERVER["DOCUMENT_ROOT"] . $arPaySysAction["ACTION_FILE"];
            $pathToAction = str_replace("\\", "/", $pathToAction);
            while (substr($pathToAction, strlen($pathToAction) - 1, 1) == "/") {
                $pathToAction = substr($pathToAction, 0, strlen($pathToAction) - 1);
            }
            if (file_exists($pathToAction)) {
                if (is_dir($pathToAction)) {
                    if (file_exists($pathToAction . "/payment.php")) {
                        include $pathToAction . "/payment.php";