%PDF- %PDF-
Server IP : 37.220.80.31 / Your IP : 18.218.119.156 Web Server : Apache/2.4.52 (Ubuntu) System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64 User : www-root ( 1010) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/modules/sale/lib/cashbox/ |
Upload File : |
<?php namespace Bitrix\Sale\Cashbox; use Bitrix\Main\Localization; use Bitrix\Main; Localization\Loc::loadMessages(__FILE__); /** * Class FirstOfd * @package Bitrix\Sale\Cashbox */ class FirstOfd extends Ofd { const ACTIVE_URL = 'https://consumer.1-ofd.ru/v1?'; const TEST_URL = 'https://test-consumer.1-ofd.ru/v1?'; /** * @return string */ protected function getUrl() { return $this->isTestMode() ? static::TEST_URL : static::ACTIVE_URL; } /** * @return array */ protected function getLinkParamsMap() { return array( 't' => Check::PARAM_DOC_TIME, 's' => Check::PARAM_DOC_SUM, 'fn' => Check::PARAM_FN_NUMBER, 'i' => Check::PARAM_FISCAL_DOC_NUMBER, 'fp' => Check::PARAM_FISCAL_DOC_ATTR, 'n' => Check::PARAM_CALCULATION_ATTR ); } /** * @param $data * @return string */ public function generateCheckLink($data) { $queryParams = array(); $map = $this->getLinkParamsMap(); foreach ($map as $queryKey => $checkKey) { if ($data[$checkKey]) { if ($queryKey === 't') { $dateTime = Main\Type\DateTime::createFromTimestamp($data[$checkKey]); $queryParams[] = $queryKey.'='.$dateTime->format('Ymd\THis'); } else if ($queryKey === 'n') { $calculatedSignMap = $this->getCalculatedSignMap(); $queryParams[] = $queryKey.'='.$calculatedSignMap[$data[$checkKey]]; } else { $queryParams[] = $queryKey.'='.$data[$checkKey]; } } } if (empty($queryParams)) return ''; $url = $this->getUrl(); return $url.implode('&', $queryParams); } /** * @return array */ private function getCalculatedSignMap() { return array( Check::CALCULATED_SIGN_INCOME => 1, Check::CALCULATED_SIGN_CONSUMPTION => 2, ); } /** * @throws Main\NotImplementedException * @return string */ public static function getName() { return Localization\Loc::getMessage('SALE_CASHBOX_FIRST_OFD_NAME'); } }