public function primaryPayAction($payId, $currencyId) { $pay = Money\Pay::get((int) $payId); if (!$pay || $pay->user_id != \Users\User::$cur->id) { Tools::redirect('/money/merchants/pay/', 'Такой счет не найден'); } $merchant = \Money\MerchantHelper\Primary::getMerchant(); if (!$merchant->active) { Tools::redirect('/money/merchants/pay/' . $pay->id, 'Этот способ оплаты недоступен'); } $allowCurrencies = $merchant->allowCurrencies($pay); $method = []; foreach ($allowCurrencies as $allowCurrency) { if ($allowCurrency['currency']->id == $currencyId) { $method = $allowCurrency; break; } } if (!$method) { Tools::redirect('/', 'Валюта для этого способа оплаты не найдена', 'danger'); } $className = 'Money\\MerchantHelper\\' . $merchant->object_name; $sum = $className::getFinalSum($pay, $method); $this->view->setTitle('Прямая оплата'); $this->view->page(['data' => compact('pay', 'sum', 'method')]); }