• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/cashbox/cashboxpaysystem.php
  • Класс: BitrixSaleCashboxCashboxPaySystem
  • Вызов: CashboxPaySystem::send
protected function send(string $url, SalePayment $payment, array $fields, string $method = self::SEND_METHOD_HTTP_POST): SaleResult;

abstract protected function processPrintResult(SaleResult $result): SaleResult;

abstract protected function getDataForCheck(SalePayment $payment): array;

abstract protected function processCheckResult(SaleResult $result): SaleResult;

abstract protected function onAfterProcessCheck(SaleResult $result, SalePayment $payment): SaleResult;

abstract public static function getPaySystemCodeForKkm(): string;

/**
 * @return array
 */
public static function getSupportedKkmModels()
{
	$supportedKkmModels = [];

	$paySystemIterator = SalePaySystemManager::getList([
		'filter' => [
			'=ACTIVE' => 'Y',
		]
	]);
	while ($paySystemItem = $paySystemIterator->fetch())
	{
		$paySystemService = new SalePaySystemService($paySystemItem);
		if (
			$paySystemService->isSupportPrintCheck()
			&& $paySystemService->getCashboxClass() === '\'.static::class
		)
		{
			$supportedKkmModels[] = static::getKkmValue($paySystemService);
		}
	}

	$supportedKkmModels = array_unique(array_merge(...$supportedKkmModels));

	$result = [];
	foreach ($supportedKkmModels as $supportedKkm)
	{
		$result[$supportedKkm] = [
			'NAME' => $supportedKkm
		];
	}

	return $result;
}