• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/paysystem/restservice.php
  • Класс: Bitrix\Sale\PaySystem\RestService
  • Вызов: RestService::onRestAppDelete
static function onRestAppDelete(array $fields): void
{
	if (!Main\Loader::includeModule('rest'))
	{
		return;
	}

	if (empty($fields['APP_ID']) || empty($fields['CLEAN']) || $fields['CLEAN'] !== true)
	{
		return;
	}

	$app = Rest\AppTable::getByClientId($fields['APP_ID']);
	if (!$app)
	{
		return;
	}

	$restHandlerResult = Internals\PaySystemRestHandlersTable::getList([
		'select' => ['ID', 'CODE'],
		'filter' => [
			'=APP_ID' => $app['CLIENT_ID'],
		],
	]);
	while ($restHandler = $restHandlerResult->fetch())
	{
		$paySystemResult = Manager::getList([
			'select' => ['ID'],
			'filter' => [
				'=ACTION_FILE' => $restHandler['CODE'],
			],
		]);
		while ($paySystem = $paySystemResult->fetch())
		{
			Manager::delete($paySystem['ID']);
		}

		Internals\PaySystemRestHandlersTable::delete($restHandler['ID']);
	}
}