private function initTerm() { $term = $this->term->newInstance(); $this->term = $term->find($this->type->termId()); if (!$this->term) { throw new ProcessorException(ProcessorException::INVALID_TERMINAL); } }
public function setUp() { parent::setUp(); Terminal::truncate(); Payment::truncate(); $this->term = new Terminal(); $this->term->id = 123; $this->term->secret = 'secret'; $this->term->save(); }
/** * * Check, clear and verify input params * * @param string $action * @param string $type * @param array $input * @param bool $disableClear * * @return null */ private function getVerifiedInput($action, $type, $input, $disableClear = false) { $rawInput = $input; if (!$disableClear) { $input = Type::clearInput($type, $input); } $clearInput = $input; $termId = $input['term']; $term = Terminal::find($termId); $sign = $input['sign']; Secure::sign($input, $type, $term->secret); $isCorrect = $sign === $input['sign']; if (!$isCorrect) { Log::warning($action . '.pull', array('message' => 'Invalid signature', 'rawInput' => $rawInput, 'clearInput' => $clearInput, 'resultInput' => $input)); return null; } Log::info($action . '.pull', array('message' => 'Correct signature', 'rawInput' => $rawInput, 'clearInput' => $clearInput, 'resultInput' => $input)); return $clearInput; }
<?php use FintechFab\BankEmulator\Models\Terminal; Route::filter('ff-bank-em-term', function () { $terminal = Terminal::whereUserId(Config::get('ff-bank-em::user_id'))->first(); if (!$terminal) { return Redirect::route('ff-bank-em-term'); } return null; }); Route::filter('ff-bank-em-auth', function () { $user_id = Config::get('ff-bank-em::user_id'); $user_id = (int) $user_id; if ($user_id <= 0) { return Redirect::to(URL::route('ff-bank-em-error', array(), false))->with('errorMessage', 'Чтобы пользоваться шлюзом, необходима авторизация на сайте. Или, если вы установили шлюз к себе на сервер, настройте значение user_id в локальной конфигурации вашего проекта.'); } return null; });