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); }
/** * 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; }
<p>— Если вы авторизованы на сайте, шлюз и кнопка платежа уже есть в вашем <a href="<?php echo URL::route('ff-bank-em-shop'); ?> ">тестовом магазине</a>.</p> <p>— Нажатие на кнопку отправит вас по пути "онлайн платежа" на страницу платежной формы вашего шлюза (endpointUrl).</p> <p>— Доступные для тестирования банковские карты <a href="<?php echo URL::route('ff-bank-em-docs'); ?> ">здесь</a> (вот например: <?php echo \FintechFab\BankEmulator\Components\Processor\BankCard::getValidCustomPan(); ?> ).</p> <p>— Год/месяц - из будущего, CVC-коды: 777 (успешный платеж), 333 (будет похоже на 3ds), и любой другой (будет ошибка).</p> <p>— После завершения платежа, вы вернетесь на страницу магазина (shopUrl) с GET-параметром resultBankEmulatorPayment.</p> <p>— Если был указан callbackUrl, от шлюза придет POST-запрос с результатом платежной операции.</p> <p>— Если был указан callbackEmail, от шлюза придет Email с результатом платежной операции.</p> </div> </div>
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'); ?>