public static function ensureQuotePaySystemsCreated() { if (!Loader::includeModule('sale')) { return; } $siteID = ''; $languageID = ''; $dbSites = \CSite::GetList($by = 'sort', $order = 'desc', array('DEFAULT' => 'Y', 'ACTIVE' => 'Y')); $defaultSite = is_object($dbSites) ? $dbSites->Fetch() : null; if (is_array($defaultSite)) { $siteID = $defaultSite['LID']; $languageID = $defaultSite['LANGUAGE_ID']; } if ($siteID === '') { $siteID = 's1'; } if ($languageID === '') { $languageID = 'ru'; } $paySysName = "quote_{$languageID}"; $paySystems = array(); $customPaySystemPath = \COption::GetOptionString('sale', 'path2user_ps_files', ''); if ($customPaySystemPath === '') { $customPaySystemPath = BX_ROOT . '/php_interface/include/sale_payment/'; } $personTypeIDs = \CCrmPaySystem::getPersonTypeIDs(); if (isset($personTypeIDs['COMPANY'])) { $paySystems[] = array('NAME' => Loc::getMessage('CRM_PS_QUOTE_COMPANY', null, $languageID), 'SORT' => 200, 'DESCRIPTION' => '', 'CODE_TEMP' => $paySysName, 'ACTION' => array(array('PERSON_TYPE_ID' => $personTypeIDs['COMPANY'], 'NAME' => Loc::getMessage('CRM_PS_QUOTE_COMPANY', null, $languageID), 'ACTION_FILE' => "{$customPaySystemPath}{$paySysName}", 'RESULT_FILE' => '', 'NEW_WINDOW' => 'Y', 'PARAMS' => serialize(array('DATE_INSERT' => array('TYPE' => 'ORDER', 'VALUE' => 'DATE_BILL_DATE'), 'DATE_PAY_BEFORE' => array('TYPE' => 'ORDER', 'VALUE' => 'DATE_PAY_BEFORE'), 'BUYER_NAME' => array('TYPE' => 'PROPERTY', 'VALUE' => 'COMPANY'), 'BUYER_INN' => array('TYPE' => 'PROPERTY', 'VALUE' => 'INN'), 'BUYER_ADDRESS' => array('TYPE' => 'PROPERTY', 'VALUE' => 'COMPANY_ADR'), 'BUYER_PHONE' => array('TYPE' => 'PROPERTY', 'VALUE' => 'PHONE'), 'BUYER_FAX' => array('TYPE' => 'PROPERTY', 'VALUE' => 'FAX'), 'BUYER_PAYER_NAME' => array('TYPE' => 'PROPERTY', 'VALUE' => 'CONTACT_PERSON'), 'COMMENT1' => array('TYPE' => 'ORDER', 'VALUE' => 'USER_DESCRIPTION'))), 'HAVE_PAYMENT' => 'Y', 'HAVE_ACTION' => 'N', 'HAVE_RESULT' => 'N', 'HAVE_PREPAY' => 'N', 'HAVE_RESULT_RECEIVE' => 'N'))); } if (isset($personTypeIDs['CONTACT'])) { $paySystems[] = array('NAME' => Loc::getMessage('CRM_PS_QUOTE_CONTACT', null, $languageID), 'SORT' => 300, 'DESCRIPTION' => '', 'CODE_TEMP' => $paySysName, 'ACTION' => array(array('PERSON_TYPE_ID' => $personTypeIDs['CONTACT'], 'NAME' => Loc::getMessage('CRM_PS_QUOTE_CONTACT', null, $languageID), 'ACTION_FILE' => "{$customPaySystemPath}{$paySysName}", 'RESULT_FILE' => '', 'NEW_WINDOW' => 'Y', 'PARAMS' => serialize(array('DATE_INSERT' => array('TYPE' => 'ORDER', 'VALUE' => 'DATE_BILL_DATE'), 'DATE_PAY_BEFORE' => array('TYPE' => 'ORDER', 'VALUE' => 'DATE_PAY_BEFORE'), 'BUYER_NAME' => array('TYPE' => 'PROPERTY', 'VALUE' => 'FIO'), 'BUYER_INN' => array('TYPE' => 'PROPERTY', 'VALUE' => 'INN'), 'BUYER_ADDRESS' => array('TYPE' => 'PROPERTY', 'VALUE' => 'ADDRESS'), 'BUYER_PHONE' => array('TYPE' => 'PROPERTY', 'VALUE' => 'PHONE'), 'BUYER_FAX' => array('TYPE' => '', 'VALUE' => ''), 'BUYER_PAYER_NAME' => array('TYPE' => 'PROPERTY', 'VALUE' => 'FIO'), 'COMMENT1' => array('TYPE' => 'ORDER', 'VALUE' => 'USER_DESCRIPTION'))), 'HAVE_PAYMENT' => 'Y', 'HAVE_ACTION' => 'N', 'HAVE_RESULT' => 'N', 'HAVE_PREPAY' => 'N', 'HAVE_RESULT_RECEIVE' => 'N'))); } $currencyID = \CCrmCurrency::GetBaseCurrencyID(); foreach ($paySystems as $paySystem) { $dbSalePaySystem = \CSalePaySystem::GetList(array(), array('LID' => $siteID, 'NAME' => $paySystem['NAME']), false, false, array('ID')); if (!$dbSalePaySystem->Fetch()) { $paySystemID = \CSalePaySystem::Add(array('NAME' => $paySystem['NAME'], 'DESCRIPTION' => $paySystem['DESCRIPTION'], 'SORT' => $paySystem['SORT'], 'LID' => $siteID, 'CURRENCY' => $currencyID, 'ACTIVE' => 'Y')); if ($paySystemID > 0) { foreach ($paySystem['ACTION'] as &$action) { $action['PAY_SYSTEM_ID'] = $paySystemID; \CSalePaySystemAction::Add($action); } unset($action); } } } unset($paySystem); }
if (strlen($LID) > 0) { $arFields["LID"] = $LID; } if (strlen($CURRENCY) > 0) { $arFields["CURRENCY"] = $CURRENCY; } if ($ID > 0) { if (!CSalePaySystem::Update($ID, $arFields)) { if ($ex = $APPLICATION->GetException()) { $errorMessage .= $ex->GetString() . ".<br>"; } else { $errorMessage .= GetMessage("ERROR_EDIT_PAY_SYS") . ".<br>"; } } } else { $ID = CSalePaySystem::Add($arFields); if ($ID <= 0) { if ($ex = $APPLICATION->GetException()) { $errorMessage .= $ex->GetString() . ".<br>"; } else { $errorMessage .= GetMessage("ERROR_ADD_PAY_SYS") . ".<br>"; } } } } if (strlen($errorMessage) <= 0) { $arPersonTypes = array(); $dbPersonType = CSalePersonType::GetList(array("SORT" => "ASC", "NAME" => "ASC"), array()); while ($arPersonType = $dbPersonType->GetNext()) { $errorMessage1 = ""; $arPersonTypes[] = IntVal($arPersonType["ID"]);
protected function addPaysys() { return CSalePaySystem::Add(array("NAME" => Loc::getMessage("DEVTM_ERIP_PS_NAME"), "DESCRIPTION" => Loc::getMessage("DEVTM_ERIP_PS_DESC"), "ACTIVE" => "Y", "SORT" => 100)); }
{ $action["LOGOTIP"] = CFile::MakeFileArray($_SERVER["DOCUMENT_ROOT"].$action["ACTION_FILE"]."/logo.gif"); } CSalePaySystemAction::Add($action); } } } } else { $id = CSalePaySystem::Add( Array( "LID" => WIZARD_SITE_ID, "CURRENCY" => $defCurrency, "NAME" => $val["NAME"], "ACTIVE" => ($val["ACTIVE"] == "N") ? "N" : "Y", "SORT" => $val["SORT"], "DESCRIPTION" => $val["DESCRIPTION"] ) ); foreach($val["ACTION"] as &$action) { $arGeneralInfo["paySystem"][$val["CODE_TEMP"]][$action["PERSON_TYPE_ID"]] = $id; $action["PAY_SYSTEM_ID"] = $id; if (strlen($action["ACTION_FILE"]) > 0 && file_exists($_SERVER["DOCUMENT_ROOT"].$action["ACTION_FILE"]."/logo.gif")) { $action["LOGOTIP"] = CFile::MakeFileArray($_SERVER["DOCUMENT_ROOT"].$action["ACTION_FILE"]."/logo.gif"); }
} if (!empty($variants)) { foreach ($variants as $val) { $val["ORDER_PROPS_ID"] = $id; CSaleOrderPropsVariant::Add($val); } } } //PaySystem if ($bRus) { $arPaySystems = array(array("NAME" => GetMessage("SALE_WIZARD_PS_CASH"), "SORT" => 50, "DESCRIPTION" => GetMessage("SALE_WIZARD_PS_CASH_DESCR"), "CODE_TEMP" => "cash", "ACTION" => array(array("PERSON_TYPE_ID" => $arGeneralInfo["personType"]["fiz"], "NAME" => GetMessage("SALE_WIZARD_PS_CASH"), "ACTION_FILE" => "/bitrix/modules/sale/payment/cash", "RESULT_FILE" => "", "NEW_WINDOW" => "N", "PARAMS" => "", "HAVE_PAYMENT" => "Y", "HAVE_ACTION" => "N", "HAVE_RESULT" => "N", "HAVE_PREPAY" => "N", "HAVE_RESULT_RECEIVE" => "N"), array("PERSON_TYPE_ID" => $arGeneralInfo["personType"]["ur"], "NAME" => GetMessage("SALE_WIZARD_PS_CASH"), "ACTION_FILE" => "/bitrix/modules/sale/payment/cash", "RESULT_FILE" => "", "NEW_WINDOW" => "N", "PARAMS" => "", "HAVE_PAYMENT" => "Y", "HAVE_ACTION" => "N", "HAVE_RESULT" => "N", "HAVE_PREPAY" => "N", "HAVE_RESULT_RECEIVE" => "N"))), array("NAME" => GetMessage("SALE_WIZARD_PS_CC"), "SORT" => 60, "DESCRIPTION" => GetMessage("SALE_WIZARD_PS_CC"), "CODE_TEMP" => "card", "ACTION" => array(array("PERSON_TYPE_ID" => $arGeneralInfo["personType"]["fiz"], "NAME" => GetMessage("SALE_WIZARD_PS_CC"), "ACTION_FILE" => "/bitrix/modules/sale/payment/assist", "RESULT_FILE" => "/bitrix/modules/sale/payment/assist_res.php", "NEW_WINDOW" => "N", "PARAMS" => serialize(array("FIRST_NAME" => array("TYPE" => "USER", "VALUE" => "NAME"), "LAST_NAME" => array("TYPE" => "USER", "VALUE" => "LAST_NAME"), "EMAIL" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["EMAIL"]), "ADDRESS" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["ADDRESS"]))), "HAVE_PAYMENT" => "Y", "HAVE_ACTION" => "N", "HAVE_RESULT" => "Y", "HAVE_PREPAY" => "N", "HAVE_RESULT_RECEIVE" => "N"))), array("NAME" => GetMessage("SALE_WIZARD_PS_WM"), "SORT" => 70, "DESCRIPTION" => GetMessage("SALE_WIZARD_PS_WM_DESCR"), "CODE_TEMP" => "webmoney", "ACTION" => array(array("PERSON_TYPE_ID" => $arGeneralInfo["personType"]["fiz"], "NAME" => GetMessage("SALE_WIZARD_PS_WM"), "ACTION_FILE" => "/bitrix/modules/sale/payment/webmoney_web", "RESULT_FILE" => "", "NEW_WINDOW" => "Y", "PARAMS" => "", "HAVE_PAYMENT" => "Y", "HAVE_ACTION" => "N", "HAVE_RESULT" => "Y", "HAVE_PREPAY" => "N", "HAVE_RESULT_RECEIVE" => "N"))), array("NAME" => GetMessage("SALE_WIZARD_PS_PC"), "SORT" => 80, "DESCRIPTION" => "", "CODE_TEMP" => "paycash", "ACTION" => array(array("PERSON_TYPE_ID" => $arGeneralInfo["personType"]["fiz"], "NAME" => GetMessage("SALE_WIZARD_PS_PC"), "ACTION_FILE" => "/bitrix/modules/sale/payment/yandex", "RESULT_FILE" => "/bitrix/modules/sale/payment/assist_res.php", "NEW_WINDOW" => "N", "PARAMS" => serialize(array("ORDER_ID" => array("TYPE" => "ORDER", "VALUE" => "ID"), "USER_ID" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["CONTACT_PERSON"]), "ORDER_DATE" => array("TYPE" => "ORDER", "VALUE" => "DATE_INSERT"), "SHOULD_PAY" => array("TYPE" => "ORDER", "VALUE" => "PRICE"))), "HAVE_PAYMENT" => "Y", "HAVE_ACTION" => "N", "HAVE_RESULT" => "N", "HAVE_PREPAY" => "N", "HAVE_RESULT_RECEIVE" => "Y"))), array("NAME" => GetMessage("SALE_WIZARD_PS_SB"), "SORT" => 90, "DESCRIPTION" => GetMessage("SALE_WIZARD_PS_SB_DESCR"), "CODE_TEMP" => "sberbank", "ACTION" => array(array("PERSON_TYPE_ID" => $arGeneralInfo["personType"]["fiz"], "NAME" => GetMessage("SALE_WIZARD_PS_SB"), "ACTION_FILE" => "/bitrix/modules/sale/payment/sberbank_new", "RESULT_FILE" => "", "NEW_WINDOW" => "Y", "PARAMS" => serialize(array("COMPANY_NAME" => array("TYPE" => "", "VALUE" => GetMessage("SALE_WIZARD_PS_SB_CN")), "INN" => array("TYPE" => "", "VALUE" => GetMessage("SALE_WIZARD_PS_SB_INN")), "KPP" => array("TYPE" => "", "VALUE" => GetMessage("SALE_WIZARD_PS_SB_KPP")), "SETTLEMENT_ACCOUNT" => array("TYPE" => "", "VALUE" => GetMessage("SALE_WIZARD_PS_SB_NC")), "BANK_NAME" => array("TYPE" => "", "VALUE" => GetMessage("SALE_WIZARD_PS_SB_NB")), "BANK_BIC" => array("TYPE" => "", "VALUE" => GetMessage("SALE_WIZARD_PS_SB_BR")), "BANK_COR_ACCOUNT" => array("TYPE" => "", "VALUE" => GetMessage("SALE_WIZARD_PS_SB_NCB")), "ORDER_ID" => array("TYPE" => "ORDER", "VALUE" => "ID"), "DATE_INSERT" => array("TYPE" => "ORDER", "VALUE" => "DATE_INSERT_DATE"), "PAYER_CONTACT_PERSON" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["CONTACT_PERSON"]), "PAYER_ZIP_CODE" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["INDEX"]), "PAYER_COUNTRY" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["LOCATION"] . "_COUNTRY"), "PAYER_CITY" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["LOCATION"] . "_CITY"), "PAYER_ADDRESS_FACT" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["ADDRESS"]), "SHOULD_PAY" => array("TYPE" => "ORDER", "VALUE" => "PRICE"))), "HAVE_PAYMENT" => "Y", "HAVE_ACTION" => "N", "HAVE_RESULT" => "N", "HAVE_PREPAY" => "N", "HAVE_RESULT_RECEIVE" => "N"))), array("NAME" => GetMessage("SALE_WIZARD_PS_BILL"), "SORT" => 100, "DESCRIPTION" => "", "CODE_TEMP" => "bill", "ACTION" => array(array("PERSON_TYPE_ID" => $arGeneralInfo["personType"]["ur"], "NAME" => GetMessage("SALE_WIZARD_PS_BILL"), "ACTION_FILE" => "/bitrix/modules/sale/payment/bill", "RESULT_FILE" => "", "NEW_WINDOW" => "Y", "PARAMS" => serialize(array("DATE_INSERT" => array("TYPE" => "ORDER", "VALUE" => "DATE_INSERT_DATE"), "SELLER_NAME" => array("TYPE" => "", "VALUE" => GetMessage("SALE_WIZARD_PS_BILL_BITRIX")), "SELLER_ADDRESS" => array("TYPE" => "", "VALUE" => GetMessage("SALE_WIZARD_PS_BILL_ADDRESS")), "SELLER_PHONE" => array("TYPE" => "", "VALUE" => "+74012510564"), "SELLER_INN" => array("TYPE" => "", "VALUE" => GetMessage("SALE_WIZARD_PS_BILL_INN")), "SELLER_KPP" => array("TYPE" => "", "VALUE" => GetMessage("SALE_WIZARD_PS_BILL_KPP")), "SELLER_RS" => array("TYPE" => "", "VALUE" => GetMessage("SALE_WIZARD_PS_BILL_RS")), "SELLER_KS" => array("TYPE" => "", "VALUE" => GetMessage("SALE_WIZARD_PS_BILL_KS")), "SELLER_BIK" => array("TYPE" => "", "VALUE" => GetMessage("SALE_WIZARD_PS_BILL_BIK")), "BUYER_NAME" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["F_COMPANY_NAME"]), "BUYER_INN" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["F_INN"]), "BUYER_ADDRESS" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["F_ADDRESS_FULL"]), "BUYER_PHONE" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["F_PHONE"]), "BUYER_FAX" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["F_FAX"]), "BUYER_PAYER_NAME" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["F_NAME"]), "PATH_TO_STAMP" => array("TYPE" => "", "VALUE" => "/images/pechat.gif"))), "HAVE_PAYMENT" => "Y", "HAVE_ACTION" => "N", "HAVE_RESULT" => "N", "HAVE_PREPAY" => "N", "HAVE_RESULT_RECEIVE" => "N")))); } else { $arPaySystems = array(array("NAME" => "Cash", "SORT" => 50, "DESCRIPTION" => "You can pay in cash to our courier.", "CODE_TEMP" => "cash", "ACTION" => array(array("PERSON_TYPE_ID" => $arGeneralInfo["personType"]["fiz"], "NAME" => "Cash", "ACTION_FILE" => "/bitrix/modules/sale/payment/cash", "RESULT_FILE" => "", "NEW_WINDOW" => "N", "PARAMS" => "", "HAVE_PAYMENT" => "Y", "HAVE_ACTION" => "N", "HAVE_RESULT" => "N", "HAVE_PREPAY" => "N", "HAVE_RESULT_RECEIVE" => "N"), array("PERSON_TYPE_ID" => $arGeneralInfo["personType"]["ur"], "NAME" => "Cash", "ACTION_FILE" => "/bitrix/modules/sale/payment/cash", "RESULT_FILE" => "", "NEW_WINDOW" => "N", "PARAMS" => "", "HAVE_PAYMENT" => "Y", "HAVE_ACTION" => "N", "HAVE_RESULT" => "N", "HAVE_PREPAY" => "N", "HAVE_RESULT_RECEIVE" => "N"))), array("NAME" => "Authorize.Net", "SORT" => 60, "DESCRIPTION" => "", "CODE_TEMP" => "authorizenet", "ACTION" => array(array("PERSON_TYPE_ID" => $arGeneralInfo["personType"]["fiz"], "NAME" => "Authorize.Net", "ACTION_FILE" => "/bitrix/modules/sale/payment/authorizenet", "NEW_WINDOW" => "N", "PARAMS" => serialize(array("PS_LOGIN" => array("TYPE" => "", "VALUE" => "Login ID"), "PS_TRANSACTION_KEY" => array("TYPE" => "", "VALUE" => "Transaction key"), "HASH_VALUE" => array("TYPE" => "", "VALUE" => "Hash value"), "TEST_TRANSACTION" => array("TYPE" => "", "VALUE" => "Test transaction"), "FIRST_NAME" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["CONTACT_PERSON"]), "LAST_NAME" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["CONTACT_PERSON"]), "ADDRESS" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["ADDRESS"]), "CITY" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["F_LOCATION"] . "_CITY"), "ZIP" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["INDEX"]), "COUNTRY" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["F_LOCATION"] . "_COUNTRY"), "EMAIL" => array("TYPE" => "USER", "VALUE" => "EMAIL"), "SHIP_FIRST_NAME" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["CONTACT_PERSON"]), "SHIP_LAST_NAME" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["CONTACT_PERSON"]), "SHIP_ADDRESS" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["ADDRESS"]), "SHIP_CITY" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["F_LOCATION"] . "_CITY"), "SHIP_ZIP" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["INDEX"]), "SHIP_COUNTRY" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["F_LOCATION"] . "_COUNTRY"), "SHOULD_PAY" => array("TYPE" => "ORDER", "VALUE" => "PRICE"))), "HAVE_PAYMENT" => "Y", "HAVE_ACTION" => "Y", "HAVE_RESULT" => "N", "HAVE_PREPAY" => "Y", "HAVE_RESULT_RECEIVE" => "N"))), array("NAME" => "Payflow Pro", "SORT" => 70, "DESCRIPTION" => "", "CODE_TEMP" => "payflow", "ACTION" => array(array("PERSON_TYPE_ID" => $arGeneralInfo["personType"]["fiz"], "NAME" => "Payflow Pro", "ACTION_FILE" => "/bitrix/modules/sale/payment/payflow_pro", "NEW_WINDOW" => "N", "PARAMS" => serialize(array("PAYFLOW_URL" => array("TYPE" => "", "VALUE" => "test-payflow.verisign.com"), "PAYFLOW_PORT" => array("TYPE" => "", "VALUE" => 443), "PAYFLOW_USER" => array("TYPE" => "", "VALUE" => "User code"), "PAYFLOW_PASSWORD" => array("TYPE" => "", "VALUE" => "Password"), "PAYFLOW_PARTNER" => array("TYPE" => "", "VALUE" => "Partner"), "PAYFLOW_EXE_PATH" => array("TYPE" => "", "VALUE" => "/verisign/win32/bin/pfpro.exe"), "PAYFLOW_CERT_PATH" => array("TYPE" => "", "VALUE" => "/verisign/win32/certs/"), "NOC" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["CONTACT_PERSON"]), "ADDRESS" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["ADDRESS"]), "ZIP" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["INDEX"]), "SHOULD_PAY" => array("TYPE" => "ORDER", "VALUE" => "PRICE"))), "HAVE_PAYMENT" => "Y", "HAVE_ACTION" => "Y", "HAVE_RESULT" => "N", "HAVE_PREPAY" => "Y", "HAVE_RESULT_RECEIVE" => "N"), array("PERSON_TYPE_ID" => $arGeneralInfo["personType"]["ur"], "NAME" => "Payflow Pro", "ACTION_FILE" => "/bitrix/modules/sale/payment/payflow_pro", "NEW_WINDOW" => "N", "PARAMS" => serialize(array("PAYFLOW_URL" => array("TYPE" => "", "VALUE" => "test-payflow.verisign.com"), "PAYFLOW_PORT" => array("TYPE" => "", "VALUE" => 443), "PAYFLOW_USER" => array("TYPE" => "", "VALUE" => "User code"), "PAYFLOW_PASSWORD" => array("TYPE" => "", "VALUE" => "Password"), "PAYFLOW_PARTNER" => array("TYPE" => "", "VALUE" => "Partner"), "PAYFLOW_EXE_PATH" => array("TYPE" => "", "VALUE" => "/verisign/win32/bin/pfpro.exe"), "PAYFLOW_CERT_PATH" => array("TYPE" => "", "VALUE" => "/verisign/win32/certs/"), "NOC" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["F_COMPANY_NAME"]), "ADDRESS" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["F_ADDRESS_FULL"]), "SHOULD_PAY" => array("TYPE" => "ORDER", "VALUE" => "PRICE"))), "HAVE_PAYMENT" => "Y", "HAVE_ACTION" => "Y", "HAVE_RESULT" => "N", "HAVE_PREPAY" => "Y", "HAVE_RESULT_RECEIVE" => "N"))), array("NAME" => "WorldPay", "SORT" => 80, "DESCRIPTION" => "", "CODE_TEMP" => "worldpay", "ACTION" => array(array("PERSON_TYPE_ID" => $arGeneralInfo["personType"]["fiz"], "NAME" => "WorldPay", "ACTION_FILE" => "/bitrix/modules/sale/payment/worldpay", "NEW_WINDOW" => "N", "PARAMS" => serialize(array("TEST_TRANSACTION" => array("TYPE" => "", "VALUE" => 101), "SHOP_ID" => array("TYPE" => "", "VALUE" => "WorldPay ID"), "PAYER_NAME" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["CONTACT_PERSON"]), "PHONE" => array("TYPE" => "USER", "VALUE" => "PERSONAL_MOBILE"), "EMAIL" => array("TYPE" => "USER", "VALUE" => "EMAIL"), "ADDRESS" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["ADDRESS"]), "ZIP" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["INDEX"]), "COUNTRY" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["F_LOCATION"] . "_COUNTRY"), "CALLBACK_PASSWORD" => array("TYPE" => "", "VALUE" => ""), "SHOULD_PAY" => array("TYPE" => "ORDER", "VALUE" => "PRICE"))), "HAVE_PAYMENT" => "Y", "HAVE_ACTION" => "N", "HAVE_RESULT" => "Y", "HAVE_PREPAY" => "N", "HAVE_RESULT_RECEIVE" => "N"), array("PERSON_TYPE_ID" => $arGeneralInfo["personType"]["ur"], "NAME" => "WorldPay", "ACTION_FILE" => "/bitrix/modules/sale/payment/worldpay", "NEW_WINDOW" => "N", "PARAMS" => serialize(array("TEST_TRANSACTION" => array("TYPE" => "", "VALUE" => 101), "SHOP_ID" => array("TYPE" => "", "VALUE" => "WorldPay ID"), "PAYER_NAME" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["F_NAME"]), "PHONE" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["F_PHONE"]), "EMAIL" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["F_EMAIL"]), "ADDRESS" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["F_ADDRESS_FULL"]), "COUNTRY" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["F_LOCATION"] . "_COUNTRY"), "CALLBACK_PASSWORD" => array("TYPE" => "", "VALUE" => ""), "SHOULD_PAY" => array("TYPE" => "ORDER", "VALUE" => "PRICE"))), "HAVE_PAYMENT" => "Y", "HAVE_ACTION" => "N", "HAVE_RESULT" => "Y", "HAVE_PREPAY" => "N", "HAVE_RESULT_RECEIVE" => "N"))), array("NAME" => "PayPal", "SORT" => 90, "DESCRIPTION" => "", "CODE_TEMP" => "paypal", "ACTION" => array(array("PERSON_TYPE_ID" => $arGeneralInfo["personType"]["fiz"], "NAME" => "PayPal", "ACTION_FILE" => "/bitrix/modules/sale/payment/paypal", "NEW_WINDOW" => "Y", "PARAMS" => serialize(array("TEST_TRANSACTION" => array("TYPE" => "", "VALUE" => 101), "SHOP_ID" => array("TYPE" => "", "VALUE" => "WorldPay ID"), "PAYER_NAME" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["CONTACT_PERSON"]), "PHONE" => array("TYPE" => "USER", "VALUE" => "PERSONAL_MOBILE"), "EMAIL" => array("TYPE" => "USER", "VALUE" => "EMAIL"), "ADDRESS" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["ADDRESS"]), "ZIP" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["INDEX"]), "COUNTRY" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCode"]["F_LOCATION"] . "_COUNTRY"), "CALLBACK_PASSWORD" => array("TYPE" => "", "VALUE" => ""), "SHOULD_PAY" => array("TYPE" => "ORDER", "VALUE" => "PRICE"))), "HAVE_PAYMENT" => "Y", "HAVE_ACTION" => "N", "HAVE_RESULT" => "N", "HAVE_PREPAY" => "N", "HAVE_RESULT_RECEIVE" => "Y"))), array("NAME" => "Betalink", "SORT" => 90, "DESCRIPTION" => "", "CODE_TEMP" => "betalink", "ACTION" => array(array("PERSON_TYPE_ID" => $arGeneralInfo["personType"]["fiz"], "NAME" => "betalink", "ACTION_FILE" => "/bitrix/modules/sale/payment/betalink", "NEW_WINDOW" => "Y", "PARAMS" => serialize(array("TEST_TRANSACTION" => array("TYPE" => "", "VALUE" => "Test transaction"), "SHOP_CODE" => array("TYPE" => "", "VALUE" => "Shop code"), "SHOULD_PAY" => array("TYPE" => "ORDER", "VALUE" => "PRICE"))), "HAVE_PAYMENT" => "Y", "HAVE_ACTION" => "N", "HAVE_RESULT" => "N", "HAVE_PREPAY" => "N", "HAVE_RESULT_RECEIVE" => "N")))); } foreach ($arPaySystems as $val) { $id = CSalePaySystem::Add(array("LID" => $siteID, "CURRENCY" => $bRus ? "RUB" : "USD", "NAME" => $val["NAME"], "ACTIVE" => "Y", "SORT" => $val["SORT"], "DESCRIPTION" => $val["DESCRIPTION"])); foreach ($val["ACTION"] as $action) { $action["PAY_SYSTEM_ID"] = $id; CSalePaySystemAction::Add($action); } } //discounts CSaleDiscount::Add(array("LID" => $siteID, "PRICE_FROM" => 800, "PRICE_TO" => 1500, "CURRENCY" => $bRus ? "RUB" : "USD", "DISCOUNT_VALUE" => 20, "DISCOUNT_TYPE" => "P", "ACTIVE" => "Y", "SORT" => 200, "ACTIVE_FROM" => "", "ACTIVE_TO" => "")); CSaleDiscount::Add(array("LID" => $siteID, "PRICE_FROM" => 500, "PRICE_TO" => 800, "CURRENCY" => $bRus ? "RUB" : "USD", "DISCOUNT_VALUE" => 15, "DISCOUNT_TYPE" => "P", "ACTIVE" => "Y", "SORT" => 100, "ACTIVE_FROM" => "", "ACTIVE_TO" => "")); CSaleDiscount::Add(array("LID" => $siteID, "PRICE_FROM" => 1500, "PRICE_TO" => 0, "CURRENCY" => $bRus ? "RUB" : "USD", "DISCOUNT_VALUE" => 25, "DISCOUNT_TYPE" => "P", "ACTIVE" => "Y", "SORT" => 300, "ACTIVE_FROM" => "", "ACTIVE_TO" => "")); if ($bRus) { //1C export $val = serialize(array("AGENT_NAME" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCodeID"]["CONTACT_PERSON"]), "FULL_NAME" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCodeID"]["CONTACT_PERSON"]), "SURNAME" => array("TYPE" => "USER", "VALUE" => "LAST_NAME"), "NAME" => array("TYPE" => "USER", "VALUE" => "NAME"), "ADDRESS_FULL" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCodeID"]["ADDRESS"]), "INDEX" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCodeID"]["INDEX"]), "COUNTRY" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCodeID"]["LOCATION"] . "_COUNTRY"), "CITY" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCodeID"]["LOCATION"] . "_CITY"), "STREET" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCodeID"]["STREET"]), "EMAIL" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCodeID"]["EMAIL"]), "CONTACT_PERSON" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCodeID"]["CONTACT_PERSON"]), "IS_FIZ" => "Y")); CSaleExport::Add(array("PERSON_TYPE_ID" => $arGeneralInfo["personType"]["fiz"], "VARS" => $val)); $val = serialize(array("AGENT_NAME" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCodeID"]["F_COMPANY_NAME"]), "FULL_NAME" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCodeID"]["F_COMPANY_NAME"]), "ADDRESS_FULL" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCodeID"]["F_ADDRESS_FULL"]), "COUNTRY" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCodeID"]["F_LOCATION"] . "_COUNTRY"), "CITY" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCodeID"]["F_LOCATION"] . "_CITY"), "STREET" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCodeID"]["F_ADDRESS_FULL"]), "INN" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCodeID"]["F_INN"]), "KPP" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCodeID"]["F_KPP"]), "PHONE" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCodeID"]["F_PHONE"]), "EMAIL" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCodeID"]["F_EMAIL"]), "CONTACT_PERSON" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCodeID"]["F_NAME"]), "F_ADDRESS_FULL" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCodeID"]["F_ADDRESS"]), "F_COUNTRY" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCodeID"]["F_LOCATION"] . "_COUNTRY"), "F_CITY" => array("TYPE" => "PROPERTY", "VALUE" => $arGeneralInfo["propCodeID"]["F_LOCATION"] . "_CITY"), "IS_FIZ" => "N")); CSaleExport::Add(array("PERSON_TYPE_ID" => $arGeneralInfo["personType"]["ur"], "VARS" => $val));
foreach ($val["ACTION"] as $action) { $arGeneralInfo["paySystem"][$val["CODE_TEMP"]][$action["PERSON_TYPE_ID"]] = $arSalePaySystem["ID"]; $action["PAY_SYSTEM_ID"] = $arSalePaySystem["ID"]; $dbSalePaySystemAction = CSalePaySystemAction::GetList(array(), array("PAY_SYSTEM_ID" => $arSalePaySystem["ID"], "PERSON_TYPE_ID" => $action["PERSON_TYPE_ID"]), false, false, array("ID")); if ($arSalePaySystemAction = $dbSalePaySystemAction->GetNext()) { CSalePaySystemAction::Update($arSalePaySystemAction["ID"], $action); } else { if (strlen($action["ACTION_FILE"]) > 0 && file_exists($_SERVER["DOCUMENT_ROOT"] . $action["ACTION_FILE"] . "/logo.gif")) { $action["LOGOTIP"] = CFile::MakeFilearray($_SERVER["DOCUMENT_ROOT"] . $action["ACTION_FILE"] . "/logo.gif"); } CSalePaySystemAction::Add($action); } } } } else { $id = CSalePaySystem::Add(array("LID" => $currentSiteID, "CURRENCY" => $defCurrency, "NAME" => $val["NAME"], "ACTIVE" => $val["ACTIVE"] == "N" ? "N" : "Y", "SORT" => $val["SORT"], "DESCRIPTION" => $val["DESCRIPTION"])); foreach ($val["ACTION"] as &$action) { $action["PAY_SYSTEM_ID"] = $id; if (strlen($action["ACTION_FILE"]) > 0 && file_exists($_SERVER["DOCUMENT_ROOT"] . $action["ACTION_FILE"] . "/logo.gif")) { $action["LOGOTIP"] = CFile::MakeFilearray($_SERVER["DOCUMENT_ROOT"] . $action["ACTION_FILE"] . "/logo.gif"); } CSalePaySystemAction::Add($action); } } } if (!Main\ModuleManager::isModuleInstalled('catalog')) { $CModule = new CModule(); if ($Module = $CModule->CreateModuleObject("catalog")) { OnModuleInstalledEvent('catalog'); $result = true; if (!Main\ModuleManager::isModuleInstalled('bitrix24') || !defined('BX24_HOST_NAME')) {