'Проверка заказа', self::PAID => 'Оплата зачтена', self::ALREADY_PAID_IN_SHOP => 'Оплата зачтена, заказ уже был оплачен в магазине', self::REPEAT => 'Повтор уведомления', self::DUPLICATE_OPERATION => 'Вторая оплата оплаченного заказа: сделайте возврат в личном кабинете MONETA.RU', self::UNKNOWN_ORDER => 'Заказ не найден', self::ORDER_AMOUNT_CHANGED => 'Сумма заказа изменилась после показа формы оплаты', self::AMOUNT_MISMATCH => 'Сумма не совпадает с заказом', self::CURRENCY_MISMATCH => 'Валюта не совпадает', self::TEST_MODE_MISMATCH => 'Тестовый режим не совпадает с настройкой модуля', self::ORDER_UPDATE_FAILED => 'Не удалось перевести заказ в оплаченные', self::RECEIPT_UNAVAILABLE => 'Чек не собран', self::LOCK_TIMEOUT => 'Заказ занят параллельным уведомлением', PaymentEligibility::NOT_CONFIGURED => 'Модуль не настроен', PaymentEligibility::OTHER_PAYMENT_METHOD => 'У заказа другой способ оплаты', PaymentEligibility::ALREADY_PAID => 'Заказ уже оплачен', PaymentEligibility::CANCELLED => 'Заказ отменён', PaymentEligibility::AWAITING_STATUS => 'Заказ ещё не подтверждён менеджером', PaymentEligibility::UNSUPPORTED_CURRENCY => 'Валюта магазина не рубли', PaymentEligibility::ZERO_AMOUNT => 'Нулевая сумма заказа', ]; private function __construct() {} /** * Значок строки журнала операций в админке — glyphicon Bootstrap 3, который админка PHPShop * поставляет со своими темами (`admpanel/fonts/`, классы `glyphicon-*` — в 6.7 в каждой теме, * в 7.0 в `bootstrap.min.css`); цвета — классы темы. Оплата зачтена — зелёная галочка * в кружке, отказ модуля (`FAIL` или код 500) — красный крестик, проверка заказа — серый * вопрос; остальное (повтор уведомления) — без значка. * * @param int|null $resultCode `MNT_RESULT_CODE` ответа модуля; null — ответ `FAIL` */ public static function iconHtml(string $event, ?int $resultCode): string { if ($event === self::PAID || $event === self::ALREADY_PAID_IN_SHOP) { return self::glyphicon('ok-sign', 'text-success'); } if ($resultCode === null || $resultCode === ResultCode::REJECTED) { return self::glyphicon('remove-sign', 'text-danger'); } if ($event === self::CHECKED) { return self::glyphicon('question-sign', 'text-muted'); } return ''; } private static function glyphicon(string $name, string $color): string { return ''; } /** * Подпись события; неизвестный код (из будущей версии) показывается как есть. */ public static function label(string $event): string { return self::LABELS[$event] ?? $event; } }