Как добавить платежную систему в Bitrix D7
При разработке решения, может понадобится что бы мастер, добавил платежную систему для ИМ, но на данный момент документация не полная.
Добавить платежную систему PAY SYSTEM в Битрикс D7 можно следующим образом:
При разработке решения, может понадобится что бы мастер, добавил платежную систему для ИМ, но на данный момент документация не полная.
Добавить платежную систему PAY SYSTEM в Битрикс D7 можно следующим образом:
use Bitrix\Main\Localization\Loc, Bitrix\Main\Config\Option, Bitrix\Sale, Bitrix\Main\Entity\DataManager; if(!CModule::IncludeModule('sale')) return; $dbSite = CSite::GetByID(WIZARD_SITE_ID); if($arSite = $dbSite -> Fetch()) $lang = $arSite["LANGUAGE_ID"]; if(strlen($lang) <= 0) $lang = "ru"; $bRus = false; if($lang == "ru") $bRus = true; $defCurrency = "EUR"; if($lang == "ru") $defCurrency = "RUB"; elseif($lang == "en") $defCurrency = "USD"; //*********************** ADD PAYSYSTEM ***********************// global $APPLICATION; $paysystem = \Bitrix\Sale\Internals\PaySystemActionTable::add(array( "CURRENCY" => $defCurrency, "NAME" => GetMessage("SALE_WIZARD_PAYSYSTEM_CASH_NAME"), "ACTIVE" => "Y", "SORT" => 100, "DESCRIPTION" => GetMessage("SALE_WIZARD_PAYSYSTEM_CASH_DESC"), )); $paysystem_id = $paysystem->getId(); if($paysystem_id) { $fields = array( 'PARAMS' => serialize(array('BX_PAY_SYSTEM_ID' => $paysystem_id)), 'ENTITY_REGISTRY_TYPE'=>'ORDER', 'PAY_SYSTEM_ID' => $paysystem_id, 'LOGOTIP' => 930, 'IS_CASH' => 'Y', 'ACTION_FILE' => 'cash', 'HAVE_PAYMENT' => 'Y', 'HAVE_ACTION' => 'N', 'HAVE_RESULT' => 'N', 'HAVE_PREPAY' => 'N', 'HAVE_PRICE' => 'N', 'HAVE_RESULT_RECEIVE' => 'N', 'ALLOW_EDIT_PAYMENT' => 'Y', 'AUTO_CHANGE_1C' => 'N', 'CAN_PRINT_CHECK' => 'N', 'PSA_NAME' => GetMessage("SALE_WIZARD_PAYSYSTEM_CASH_NAME"), ); $result = Bitrix\Sale\Internals\PaySystemActionTable::update($paysystem_id, $fields); if(is_object($result)) { Bitrix\Main\Diag\Debug::writeToFile('Добавлена и обновлена платежная система "' . GetMessage("SALE_WIZARD_PAYSYSTEM_CASH_NAME") . '" #' . $paysystem_id . ''); }else{ Bitrix\Main\Diag\Debug::writeToFile('ERROR: платежная система "' . GetMessage("SALE_WIZARD_PAYSYSTEM_CASH_NAME") . '" #' . $paysystem_id . ' не обновлена!'); Bitrix\Main\Diag\Debug::writeToFile($APPLICATION->LAST_ERROR); } }else{ Bitrix\Main\Diag\Debug::writeToFile('ERROR: платежная система "' . GetMessage("SALE_WIZARD_PAYSYSTEM_CASH_NAME") . '" не добавлена!'); Bitrix\Main\Diag\Debug::writeToFile($APPLICATION->LAST_ERROR); } //*********************** X ADD PAYSYSTEM ***********************// |