1
0
Fork 0
mirror of https://github.com/janickiy/yii2-nomer synced 2025-02-15 03:11:58 +00:00
yii2-nomer/views/pay/qiwi.php
2020-02-05 06:34:26 +03:00

237 lines
9.8 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/* @var $this \yii\web\View */
use app\components\ConfigHelper;
use app\components\CostsHelper;
use yii\helpers\Html;
use yii\helpers\Url;
$sum = \Yii::$app->request->get("sum");
$cost = \Yii::$app->params["cost"];
$site = \app\models\Site::find()->where(["name" => $_SERVER["HTTP_HOST"]])->one();
if($sum >= CostsHelper::getCostTotal(500, $site->id)) {
$cost = CostsHelper::getCost(500, $site->id);
} elseif($sum >= CostsHelper::getCostTotal(300, $site->id)) {
$cost = CostsHelper::getCost(300, $site->id);
} elseif($sum >= CostsHelper::getCostTotal(100, $site->id)) {
$cost = CostsHelper::getCost(100, $site->id);
} elseif($sum >= CostsHelper::getCostTotal(50, $site->id)) {
$cost = CostsHelper::getCost(50, $site->id);
} elseif($sum >= CostsHelper::getCostTotal(20, $site->id)) {
$cost = CostsHelper::getCost(20, $site->id);
} elseif($sum >= CostsHelper::getCostTotal(10, $site->id)) {
$cost = CostsHelper::getCost(10, $site->id);
}
$checks = floor((float)$sum / $cost);
if(!is_numeric($sum)) throw new \yii\web\ForbiddenHttpException("Fuck you :)");
$checks = floor($sum / $cost);
$getPhoneImage = function ($phone) {
$image = new Imagick(realpath('../web/img/qiwi/qiwi_4.jpeg'));
$r = new ImagickDraw();
$r->setFillColor('white');
$r->rectangle(130, 110, 300, 130);
$image->drawImage($r);
$text = new ImagickDraw();
$text->setFontSize(15);
$text->setFillColor('black');
$text->setFontWeight(555);
$image->annotateImage($text, 140, 120, 0, $phone);
return base64_encode($image);
};
$getCommentImage = function ($comment) {
$image = new Imagick(realpath('../web/img/qiwi/qiwi_5.jpeg'));
$text = new ImagickDraw();
$text->setFontSize(15);
$text->setFillColor('black');
$text->setFontWeight(555);
$image->annotateImage($text, 115, 100, 0, $comment);
return base64_encode($image);
};
$this->title = "Пополнение через QIWI";
$this->registerCss('
@media print {
header {
display: none;
}
.breadcrumbs {
display: none !important;
}
.page-content {
padding-top: 5px;
background: none;
}
.cont.clfix {
max-width: 700%;
}
#form {
display: none;
}
footer {
display: none;
}
}');
?>
<div class="breadcrumbs">
<ul class="breadcrumb">
<?php if (\Yii::$app->devicedetect->isMobile() || \Yii::$app->devicedetect->isTablet()): ?>
<li><?= Html::a('Главная', Url::home()) ?></li>
<li><?= Html::a("Покупка проверок", Url::toRoute(['pay/index'])) ?></li>
<li><?= Html::a("Способ оплаты", Url::toRoute(['pay/methods', 'sum' => $sum])) ?></li>
<?php else: ?>
<li><?= Html::a('Главная', Url::home()) ?></li>
<li><?= Html::a("Покупка проверок", Url::toRoute(['pay/index'])) ?></li>
<li><?= Html::a("Выбор способа оплаты", Url::toRoute(['pay/methods', 'sum' => $sum])) ?></li>
<li>Пополнение через QIWI</li>
<?php endif; ?>
</ul>
</div>
<div class="page-content">
<div class="cont clfix">
<h1>Оплата через QIWI</h1>
<p class="qiwi-descr">Для пополнения счета через QIWI необходимо<br>отправить <span><?= $sum; ?> руб</span> за
<b><?= \Yii::t('app', '{n,plural,=0{проверок} =1{1 проверку} one{# проверка} few{# проверки} many{# проверок} other{# проверки}}', ['n' => $checks]); ?></b>
на QIWI-кошелек</p>
<div class="qiwi">
<input class="qiwi" value="+<?= ConfigHelper::getInstance()->getQiwiPhone(); ?>" type="text">
<p class="qiwi-comment">С комментарием про оплату:</p>
<input class="qiwi" type="text" value="<?= sprintf("%'.06d", \Yii::$app->getUser()->getId()); ?>">
<p style="text-align: center; color: red; font-size: 18px; font-weight: bold; margin-bottom: 7px;">Деньги будут зачислены автоматически в течении 15 минут</p>
<p class="qiwi-comment">Розыск платежа:</p>
<input id="check-value" class="qiwi" type="text" placeholder="Введите номер телефона или ID транзакции">
<div class="qiwi-buttons">
<button class="button" onclick="print();">Распечатать инструкцию</button>
<button class="button" onclick="check();">Розыск платёжа</button>
</div>
<p class="alert"></p>
<p class="danger">Будьте внимательны! Пополнять нужно QIWI кошелек, а не мобильный телефон!</p>
</div>
<h1>Инструкция пополнения через QIWI</h1>
<?php /*
<p><input id="check-value" type="text" placeholder="Номер телефона или ID транзакции"></p>
<p>При пополнении на сумму более 500 рублей комиссия 0%, до 500 рублей включительно 3% по всей России.</p>
*/ ?>
<div class="qiwi-steps">
<div class="qiwi-line"></div>
<ul class="qiwi-container">
<li>
<div class="qiwi-step-icon">1</div>
<div class="qiwi-steps-content">
<img src="/img/qiwi/qiwi_1.jpeg"/>
</div>
<div class="qiwi-steps-text">
<b>Шаг 1</b>
<p>Нажмите "VISA QIWI WALLET"</p>
</div>
</li>
<li>
<div class="qiwi-step-icon">2</div>
<div class="qiwi-steps-content">
<img src="/img/qiwi/qiwi_2.jpeg"/>
</div>
<div class="qiwi-steps-text">
<b>Шаг 2</b>
<p>Нажмите "Пополнить кошелек"</p>
</div>
</li>
<li>
<div class="qiwi-step-icon">3</div>
<div class="qiwi-steps-content">
<img src="/img/qiwi/qiwi_3.jpeg"/>
</div>
<div class="qiwi-steps-text">
<b>Шаг 3</b>
<p>Введите номер телефона на который зарегистрирован Visa QIWI Wallet и нажмите кнопку "Далее"</p>
</div>
</li>
<li>
<div class="qiwi-step-icon">4</div>
<div class="qiwi-steps-content">
<img src="data:image/png;base64,<?= $getPhoneImage(preg_replace('/(\d)(\d{3})(\d{3})(\d{2})(\d{2})/', '+$1($2)$3-$4-$5', ConfigHelper::getInstance()->getQiwiPhone())) ?>"/>
</div>
<div class="qiwi-steps-text">
<b>Шаг 4</b>
<p>Подтвердите правильность введенного номера</p>
</div>
</li>
<li>
<div class="qiwi-step-icon">5</div>
<div class="qiwi-steps-content">
<img src="data:image/png;base64,<?= $getCommentImage(sprintf("%'.06d", \Yii::$app->getUser()->getId())) ?>"/>
</div>
<div class="qiwi-steps-text">
<b>Шаг 5</b>
<p>Введите комментарий</p>
</div>
</li>
<li>
<div class="qiwi-step-icon">6</div>
<div class="qiwi-steps-content">
<img src="/img/qiwi/qiwi_6.jpeg"/>
</div>
<div class="qiwi-steps-text">
<b>Шаг 6</b>
<p>Внесите наличные в купюроприемник. После нажатия кнопки "Далее", внесенная сумма моментально поступит
на счет</p>
</div>
</li>
</ul>
</div>
</div>
</div>
<script>
function check() {
var value = document.querySelector('#check-value').value;
if (!value) return alert('Не указан номер телефона/ID транзакции');
$.getJSON('<?= Url::toRoute(['pay/qiwi-check']) ?>?value=' + encodeURIComponent(value), function (response) {
switch (response.code) {
case 0:
$('.alert').html('Платёж не найден :(').show();
break;
case 1:
$('.alert').html('Платёж успешно проведен, проверки зачислены.').show();
break;
case 2:
$('.alert').html('Вероятно, платёж был ошибочно зачислен другому пользователю. Пришлите чек на support@nomer.io').show();
break;
case 3:
$('.alert').html('Платёж не зачислился. Вероятно, вы забыли указать комментарий. Пришлите чек на support@nomer.io').show();
break;
default:
$('.alert').html('Произошла ошибка.').show();
}
});
}
</script>