Как добавить платежную систему в 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 ***********************// |