示例#1
0
 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;
 }
示例#4
0
<?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;
});