public function testFail()
 {
     $input = $this->doPrepareAuthInput();
     $input['pan'] = 12345678910123;
     $data = $this->callGateway(Type::AUTH, $input);
     $this->assertEquals(ProcessorException::INVALID_PAN, $data->code, print_r($data, true));
     $input = $this->doPrepareAuthInput();
     $input['pan'] = BankCard::getValidCustomPan();
     $input['amount'] = '0.00';
     $data = $this->callGateway(Type::AUTH, $input);
     $this->assertEquals(ProcessorException::INVALID_PARAM, $data->code, print_r($data, true));
 }
 public function testAuthComplete()
 {
     $input = $this->doPrepareAuthInput();
     $input['pan'] = BankCard::getValidCustomPan();
     $processor = $this->makeProcessor($input, 'auth');
     $processor->response();
     $payment = $processor->item();
     $this->assertEquals('00', $payment->rc);
     $input = array('term' => $processor->item()->term, 'order' => $processor->item()->order, 'amount' => $processor->item()->amount, 'cur' => $processor->item()->cur, 'rrn' => $processor->item()->rrn, 'irn' => $processor->item()->irn, 'time' => Time::ts());
     $processor = $this->makeProcessor($input, 'complete');
     $processor->response();
     $payment = $processor->item();
     $this->assertEquals('00', $payment->rc);
 }
Example #3
0
 /**
  * RC process code by card numbers
  *
  * @return string $rc
  */
 public function doProcessCards()
 {
     $pan = $this->payment->pan;
     $this->payment->mask('pan');
     $type = new Type($this->payment->type, $this->payment->toArray());
     $fields = $type->fields();
     if (!in_array('pan', $fields)) {
         return '00';
     }
     $cvc = $this->payment->cvc;
     $rc = BankCard::doCheckCard($pan, $cvc);
     if ($rc !== '00') {
         return $rc;
     }
     if ($type->sid() == Type::SALE) {
         $to = $this->payment->to;
         if ($to) {
             $rc = BankCard::doCheckCard($to);
         }
     }
     return $rc;
 }
Example #4
0
		<p>&mdash; Если вы авторизованы на сайте, шлюз и кнопка платежа уже есть в вашем
			<a href="<?php 
echo URL::route('ff-bank-em-shop');
?>
">тестовом магазине</a>.</p>

		<p>&mdash; Нажатие на кнопку отправит вас по пути "онлайн платежа" на страницу платежной формы вашего шлюза
			(endpointUrl).</p>

		<p>&mdash; Доступные для тестирования банковские карты <a href="<?php 
echo URL::route('ff-bank-em-docs');
?>
">здесь</a>
			(вот например: <?php 
echo \FintechFab\BankEmulator\Components\Processor\BankCard::getValidCustomPan();
?>
).</p>

		<p>&mdash; Год/месяц - из будущего, CVC-коды: 777 (успешный платеж), 333 (будет похоже на 3ds), и любой другой
			(будет ошибка).</p>

		<p>&mdash; После завершения платежа, вы вернетесь на страницу магазина (shopUrl) с GET-параметром
			resultBankEmulatorPayment.</p>

		<p>&mdash; Если был указан callbackUrl, от шлюза придет POST-запрос с результатом платежной операции.</p>

		<p>&mdash; Если был указан callbackEmail, от шлюза придет Email с результатом платежной операции.</p>
	</div>
</div>
Example #5
0
Views::text('cvc', 777, array('size' => 3, 'style' => 'width: 50px; display: inline; margin-left: 10px;'));
?>
					</div>

					<div class="form-group">
						<?php 
Views::label('amount', 'Сумма/валюта');
Views::text('amount', '123.45', array('size' => 10, 'style' => 'width: 100px; display: inline; margin-left: 10px;'));
Views::text('cur', 'RUB', array('size' => 3, 'style' => 'width: 50px; display: inline; margin-left: 10px;'));
?>
					</div>

					<div class="form-group">
						<?php 
Views::label('to');
Views::text('to', BankCard::getValidCustomPan());
?>
					</div>

					<div class="form-group">
						<?php 
Views::label('order');
Views::text('order', '123456');
?>
					</div>

					<div class="form-group">
						<?php 
Views::label('name');
Views::text('name', 'Fine order');
?>