public static function checkConfig() { payqr_config::$secretKeyIn = trim(payqr_config::$secretKeyIn); payqr_config::$secretKeyOut = trim(payqr_config::$secretKeyOut); payqr_config::$logFile = trim(payqr_config::$logFile); payqr_config::$merchantID = trim(payqr_config::$merchantID); if (payqr_config::$secretKeyIn == "") { throw new payqr_exeption("Поле payqr_config::secretKeyIn не может быть пустым, проверьте конфигурацию библиотеки PayQR"); } if (payqr_config::$secretKeyOut == "") { throw new payqr_exeption("Поле payqr_config::secretKeyOut не может быть пустым, проверьте конфигурацию библиотеки PayQR"); } if (payqr_config::$enabledLog && payqr_config::$logFile == "") { throw new payqr_exeption("Поле payqr_config::logFile не может быть пустым, проверьте конфигурацию библиотеки PayQR"); } if (payqr_config::$merchantID == "") { throw new payqr_exeption("Поле payqr_config::merchantID не может быть пустым, проверьте конфигурацию библиотеки PayQR"); } }
$rest = $modx->getService('rest', 'rest.modRestService', '', array('basePath' => dirname(__FILE__) . '/Controllers/', 'controllerClassSeparator' => '', 'controllerClassPrefix' => 'Payqr', 'xmlRootNode' => 'response')); // Prepare the request $rest->prepare(); // Make sure the user has the proper permissions, send the user a 401 error if not if (!$rest->checkPermissions()) { $rest->sendUnauthorized(true); } // require_once $modx->getOption('payqr_core_path', null, $modx->getOption('core_path') . 'components/payqr/') . 'model/payqr/Payqr/payqr_config.php'; $payqr_button = new payqr_button($modx, []); $config = $payqr_button->getPayqrItems(); $payqrConfig = payqr_config::init($config['merchant_id'], $config['secret_key_in'], $config['secret_key_out']); if (isset($config['log_url']) && !empty($config['log_url'])) { payqr_config::$enabledLog = true; $log_file_name = pathinfo($config['log_url']); payqr_config::setLogFile($log_file_name['basename']); } payqr_logs::addEnter(); try { $Payqr = new payqr_receiver(); // создаем объект payqr_receiver $Payqr->receiving(); // получаем идентификатор счета на оплату в PayQR // проверяем тип уведомления от PayQR switch ($Payqr->getType()) { case 'invoice.deliverycases.updating': // нужно вернуть в PayQR список способов доставки для покупателя require_once PAYQR_HANDLER . 'invoice.deliverycases.updating.php'; break; case 'invoice.pickpoints.updating': // нужно вернуть в PayQR список пунктов самовывоза для покупателя