- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/paysystem/manager.php
- Класс: Bitrix\Sale\PaySystem\Manager
- Вызов: Manager::update
static function update($primary, array $data): \Bitrix\Main\ORM\Data\UpdateResult
{
$oldFields = PaySystemActionTable::getByPrimary($primary)->fetch();
if ($oldFields)
{
$newFields = array_merge($oldFields, $data);
$data['PS_CLIENT_TYPE'] = (new Service($newFields))->getClientTypeFromHandler();
}
$updateResult = PaySystemActionTable::update($primary, $data);
if ($oldFields && $updateResult->isSuccess())
{
$oldFields = array_intersect_key($oldFields, $data);
$eventParams = [
'PAY_SYSTEM_ID' => $primary,
'OLD_FIELDS' => $oldFields,
'NEW_FIELDS' => $data,
];
$event = new Event('sale', self::EVENT_ON_PAYSYSTEM_UPDATE, $eventParams);
$event->send();
}
return $updateResult;
}