/** * @override * @throws Exception */ protected function prepareData() { $saleDiscountId = null; $wasAdded = false; $xmlId = $this->arParams['DISCOUNT_XML_ID']; $saleDiscountValue = (double) $this->arParams['DISCOUNT_VALUE']; $saleDiscountUnit = (string) $this->arParams['DISCOUNT_UNIT']; $fieldsAdd = array('LID' => $this->getSiteId(), 'NAME' => Loc::getMessage("CVP_DISCOUNT_NAME"), 'ACTIVE' => 'Y', 'ACTIVE_FROM' => '', 'ACTIVE_TO' => '', 'PRIORITY' => 1, 'SORT' => 100, 'LAST_DISCOUNT' => 'Y', 'XML_ID' => $xmlId, 'USER_GROUPS' => array(2), 'ACTIONS' => serialize(array('CLASS_ID' => 'CondGroup', 'DATA' => array('All' => 'AND'), 'CHILDREN' => array(array('CLASS_ID' => 'ActSaleBsktGrp', 'DATA' => array('Type' => 'Discount', 'Value' => $saleDiscountValue, 'Unit' => $saleDiscountUnit, 'All' => 'AND'), 'CHILDREN' => array())))), 'CONDITIONS' => serialize(array('CLASS_ID' => 'CondGroup', 'DATA' => array('All' => 'AND', 'True' => 'True'), 'CHILDREN' => array()))); if (strlen($xmlId) <= 0) { return; } $fields = array('XML_ID' => $xmlId, 'ACTIVE' => 'Y'); $saleDiscountDb = CSaleDiscount::GetList(array('DATE_CREATE' => 'DESC'), $fields, false, false, array('ID', 'ACTIONS', 'CONDITIONS')); if ($saleDiscount = $saleDiscountDb->Fetch()) { if ($saleDiscount['ACTIONS'] == $fieldsAdd['ACTIONS'] && $saleDiscount['CONDITIONS'] == $fieldsAdd['CONDITIONS']) { $saleDiscountId = $saleDiscount['ID']; } } if (!$saleDiscountId) { $fieldsAdd['ACTIVE'] = 'N'; $saleDiscountId = CSaleDiscount::Add($fieldsAdd); $wasAdded = true; } $this->arResult['COUPON'] = ''; if ($saleDiscountId) { $coupon = \Bitrix\Sale\Internals\DiscountCouponTable::generateCoupon(true); //$activeFrom = new \Bitrix\Main\Type\DateTime; //$activeTo = clone $activeFrom; $addDb = \Bitrix\Sale\Internals\DiscountCouponTable::add(array('DISCOUNT_ID' => $saleDiscountId, 'COUPON' => $coupon, 'TYPE' => \Bitrix\Sale\Internals\DiscountCouponTable::TYPE_ONE_ORDER, 'MAX_USE' => 1, 'USER_ID' => 0, 'DESCRIPTION' => $this->arParams['COUPON_DESCRIPTION'])); if ($addDb->isSuccess()) { $this->arResult['COUPON'] = $coupon; if ($wasAdded) { CSaleDiscount::Update($saleDiscountId, array('ACTIVE' => 'Y')); } } } }
if (isset($USER_GROUPS)) { $arFields["USER_GROUPS"] = $USER_GROUPS; } else { $arFields["USER_GROUPS"] = array(); } if (empty($arErrorMess)) { if ($ID > 0) { if (!CSaleDiscount::Update($ID, $arFields)) { if ($ex = $APPLICATION->GetException()) { $arErrorMess[] = $ex->GetString(); } else { $arErrorMess[] = str_replace('#ID#', $ID, GetMessage('BT_SALE_DISCOUNT_EDIT_ERR_UPDATE')); } } } else { $ID = CSaleDiscount::Add($arFields); $ID = intval($ID); if ($ID <= 0) { if ($ex = $APPLICATION->GetException()) { $arErrorMess[] = $ex->GetString(); } else { $arErrorMess[] = GetMessage('BT_SALE_DISCOUNT_EDIT_ERR_ADD'); } } } } if (empty($arErrorMess)) { if (strlen($apply) <= 0) { LocalRedirect("/bitrix/admin/sale_discount.php?lang=" . LANGUAGE_ID . GetFilterParams("filter_", false)); } else { LocalRedirect("/bitrix/admin/sale_discount_edit.php?lang=" . LANGUAGE_ID . "&ID=" . $ID . '&' . $tabControl->ActiveTabParam());
unset($couponsResult); $additionalFields['COUPON'] = $couponsFields; $couponsAdd = true; } } if (empty($errors)) { if ($discountID > 0 && !$copy) { if (!CSaleDiscount::Update($discountID, $arFields)) { if ($ex = $APPLICATION->GetException()) { $errors[] = $ex->GetString(); } else { $errors[] = str_replace('#ID#', $discountID, GetMessage('BT_SALE_DISCOUNT_EDIT_ERR_UPDATE')); } } } else { $discountID = (int) CSaleDiscount::Add($arFields); if ($discountID <= 0) { if ($ex = $APPLICATION->GetException()) { $errors[] = $ex->GetString(); } else { $errors[] = GetMessage('BT_SALE_DISCOUNT_EDIT_ERR_ADD'); } } else { if ($couponsAdd) { $couponsFields['DISCOUNT_ID'] = $discountID; $couponsResult = Internals\DiscountCouponTable::addPacket($couponsFields, $additionalFields['COUPON_COUNT']); if (!$couponsResult->isSuccess()) { $errors = $couponsResult->getErrorMessages(); } } }
function __recalcSaleDiscount($user_id) { if(!$user_id) return; CModule::IncludeModule('sale'); CModule::IncludeModule('highloadblock'); $UserPrc = false; $hlblock = Bitrix\Highloadblock\HighloadBlockTable::getList(array('filter'=>array('NAME' => 'UserDiscounts')))->fetch(); $entity = Bitrix\Highloadblock\HighloadBlockTable::compileEntity( $hlblock ); $entity_data_class = $entity->getDataClass(); $rsData = $entity_data_class::getList(array( "select" => array("*"), "order" => array("ID" => "ASC"), "filter" => array('UF_USER_ID' => $user_id) )); if($arData = $rsData->Fetch()) { $UserPrc = $arData['UF_DISCOUNT']; } if($UserPrc) { $bCreated = false; $dbSaleDiscounts = CSaleDiscount::GetList( array(), array( "ACTIVE" => "Y", //"XML_ID" => 'HL_DISCOUNT_'.$UserPrc, ), false, false, array('ID','NAME',"XML_ID",'CONDITIONS') ); while ($arSaleDiscount = $dbSaleDiscounts->Fetch()) { $issetUsers = array(); $CONDITIONS = unserialize($arSaleDiscount['CONDITIONS']); foreach($CONDITIONS['CHILDREN'] as $arChildren) { if($arChildren['CLASS_ID'] == 'CondSaleOrderUserID') { $issetUsers[$arChildren['DATA']['value']] = $arChildren['DATA']['value']; } } if($arSaleDiscount['XML_ID'] == 'HL_DISCOUNT_'.$UserPrc) { $bCreated = true; if(!in_array($user_id, $issetUsers)) { $CONDITIONS['CHILDREN'][] = Array( 'CLASS_ID' => 'CondSaleOrderUserID', 'DATA' => Array( 'logic' => 'Equal', 'value' => $user_id ) ); $arDiscountFields = array( 'NAME' => $arSaleDiscount['NAME'], "ACTIVE" => 'Y', 'CONDITIONS' => $CONDITIONS ); CSaleDiscount::Update($arSaleDiscount['ID'], $arDiscountFields); } } else { if(in_array($user_id, $issetUsers)) { $tmpCond = array(); foreach($CONDITIONS['CHILDREN'] as $arChildren) { if(!($arChildren['CLASS_ID'] == 'CondSaleOrderUserID' && $arChildren['DATA']['value'] == $user_id)) { $tmpCond[] = $arChildren; } } if(empty($tmpCond)) { CSaleDiscount::Delete($arSaleDiscount['ID']); } else { $CONDITIONS['CHILDREN'] = $tmpCond; $arDiscountFields = array( 'NAME' => $arSaleDiscount['NAME'], "ACTIVE" => 'Y', 'CONDITIONS' => $CONDITIONS ); CSaleDiscount::Update($arSaleDiscount['ID'], $arDiscountFields); } } } } if(!$bCreated) { $arDiscountFields = array( "LID" => 's1', "NAME" => 'Скидка пользователям - '.$UserPrc.'%', "ACTIVE_FROM" => '', "ACTIVE_TO" => '', "ACTIVE" => 'Y', "SORT" => 100, "PRIORITY" => 1, "LAST_DISCOUNT" => 'Y', "XML_ID" => 'HL_DISCOUNT_'.$UserPrc, 'CONDITIONS' => Array( 'CLASS_ID' => 'CondGroup', 'DATA' => Array( 'All' => 'OR', 'True' => 'True' ), 'CHILDREN' => Array( Array( 'CLASS_ID' => 'CondSaleOrderUserID', 'DATA' => Array( 'logic' => 'Equal', 'value' => $user_id ) ), ) ), 'ACTIONS' => array( 'CLASS_ID' => 'CondGroup', 'DATA' => Array( 'All' => 'AND', ), 'CHILDREN' => Array( Array( 'CLASS_ID' => 'ActSaleBsktGrp', 'DATA' => Array( 'Type' => 'Discount', 'Value' => $UserPrc, 'Unit' => 'Perc', 'All' => 'AND', ), 'CHILDREN' => Array() ), ) ), 'USER_GROUPS' => array(2), ); $DiscountID = CSaleDiscount::Add($arDiscountFields); } } }
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)); } $affiliatePlan = CSaleAffiliatePlan::Add(array("SITE_ID" => $siteID, "NAME" => GetMessage("SALE_WIZARD_AFFILIATE_PLAN"), "ACTIVE" => "Y", "BASE_RATE" => 5, "BASE_RATE_TYPE" => "P", "MIN_PAY" => 0, "MIN_PAY_VALUE" => 1)); CSaleAffiliate::Add(array("SITE_ID" => $siteID, "USER_ID" => 1, "PLAN_ID" => $affiliatePlan, "ACTIVE" => "Y", "DATE_CREATE" => ConvertTimeStamp(), "AFF_SITE" => "www.bitrixsoft.com", "AFF_DESCRIPTION" => GetMessage("SALE_WIZARD_AFFILIATE"), "FIX_PLAN" => "N")); } DemoSiteUtil::AddMenuItem("/personal/.left.menu.php", array(GetMessage("SALE_WIZARD_MENU_ORDERS"), "/personal/order/", array(), array(), "")); DemoSiteUtil::AddMenuItem("/personal/.left.menu.php", array(GetMessage("SALE_WIZARD_MENU_CART"), "/personal/cart/", array(), array(), "")); DemoSiteUtil::AddMenuItem("/personal/.left.menu.php", array(GetMessage("SALE_WIZARD_MENU_REGULAR_PAYMENT"), "/personal/regular-payment/", array(), array(), "")); DemoSiteUtil::AddMenuItem("/personal/.left.menu.php", array(GetMessage("SALE_WIZARD_MENU_PROFILES"), "/personal/customer-profiles/", array(), array(), "")); DemoSiteUtil::AddMenuItem("/personal/.left.menu.php", array(GetMessage("SALE_WIZARD_MENU_ACCOUNTS"), "/personal/account/", array(), array(), ""));