Платежный модуль FinPay для hostinpl 5.6
Залить папку application
==================================
-> application/config.php -> Добавляем:
'finpay' => '','finpay_shopid' => '','finpay_token' => '',finpay [статус платежки]finpay_shopid [ID Магазина]finpay_token [секретный ключ №1]-> Открыть файл, /var/www/application/controllers/account/pay.php
-> Добавить вывод статуса платежки, в функции index:
$this->data['finpay'] = $this->config->finpay;-> Добавить функцию:
public function finpay() { if(!$this->user->isLogged()) { $this->data['status'] = "error"; $this->data['error'] = "Вы не авторизированы!"; return json_encode($this->data); } if($this->user->getAccessLevel() < 1) { $this->data['status'] = "error"; $this->data['error'] = "У вас нет доступа к данному разделу!"; return json_encode($this->data); } $this->load->model('invoices'); if($this->request->server['REQUEST_METHOD'] == 'POST') { if($this->config->finpay == 1) { $errorPOST = $this->validatePOST(); if(!$errorPOST) { $ammount = (int)($this->request->post['ammount'] * 100); $shop_id = $this->config->finpay_shopid; $token = $this->config->finpay_token; $userid = $this->user->getId(); $invoiceData = array( 'user_id' => $userid, 'invoice_ammount' => $ammount, 'invoice_status' => 0, 'system' => "FinPay" ); $invid = $this->invoicesModel->createInvoice($invoiceData); $currency = 'RUB'; // валюта Вашего магазина $country = 'RU'; // страна /* 1 Небольшая информация по апи
Методы: card_cis | card_nocis
card_cis — страну всегда передавать RU card_nocis — страну всегда передавать WORLD Доступные страны для методов:
card_cis - ru, ua, uz, kz, az, kg card_nocis - WORLD */ $method_id = 'card_cis'; $signature = md5("$shop_id:$invid:$ammount:$method_id:$token"); $url = "https://api.finpay.llc/payments"; $data = array( "shop_id" => $shop_id, "invoice_id" => $invid, "description" => "Оплата счета ".$invid, "amount" => $ammount, "method" => $method_id, "country" => $country, "currency" => $currency, "signature" => $signature ); $headers = array( "Content-Type: application/json" ); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); if(curl_errno($ch)){ echo 'Произошла ошибка: ' . curl_error($ch); } $decodedResponse = json_decode($response, true); $this->data['status'] = "success"; $this->data['url'] = $decodedResponse['url']; } else { $this->data['status'] = "error"; $this->data['error'] = $errorPOST; } } else { $this->data['status'] = "error"; $this->data['error'] = "Данная платежная система отключена!"; } } return json_encode($this->data); }-> application/views/account/pay.php
Добавить html код:
<?php if($finpay == 1): ?> <div class="col-lg-4"> <div class="card card-custom gutter-b"> <div class="card-body"> <center><img src="/application/public/img/pay/finpay.png" style="max-width:100%;height:65px;" alt=""></center> </div> <div class="card-footer"> <button data-toggle="modal" data-target="#finpayhostin" class="btn btn-primary btn-lg btn-block">Пополнить</button> </div> </div> </div><div class="modal fade" id="finpayhostin" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="exampleModalLabel">Пополнение баланса</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <i aria-hidden="true" class="ki ki-close"></i> </button> </div> <form id="finpay" method="POST" class="form_0" style="padding:0px; margin:0px;"> <div class="modal-body"> <div class="form-group"> <label>Введите сумму</label> <input class="form-control" id="ammount" name="ammount" placeholder="100"> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-light-primary font-weight-bold" data-dismiss="modal">Отмена</button> <button type="submit" class="btn btn-primary font-weight-bold">Пополнить</button> </div> </form> </div> </div></div><?php endif; ?>-> После добавляем скрипт:
<?if($finpay == 1):?><script> $('#finpay').ajaxForm({ url: '/account/pay/finpay', dataType: 'text', success: function(data) { console.log(data); data = $.parseJSON(data); switch(data.status) { case 'error': toastr.error(data.error); $('button[type=submit]').prop('disabled', false); break; case 'success': redirect(data.url); break; } }, beforeSubmit: function(arr, $form, options) { $('button[type=submit]').prop('disabled', true); } });</script><?endif;?>
551
Рейтинг:
Похожие публикации
Партнёрские программы
Смотреть все1WIN ПАРТНЕРКА
1 422
Партнерские программы / Гемблинг партнерки
BroPush - партнёрская программа для монетизации и заработке на сайтах
1 325
Партнерские программы / PUSH партнерки
Партнерская программа Семяныча - Лучшая партнерка по CPA и CPC моделям
960
Партнерские программы / Способы заработка
Обзор Partners House для монетизации сайтов и лендингов + отзывы вебмастеров
813
Арбитраж трафика / Партнерские программы / PUSH партнерки
Магазин
Смотреть всеКупить
Бот для продажи VPN 3X-UI для Telegram
Telegram-бот для продажи VPN! Автоматизированный бот для продажи вашего...
Купить
Мониторинг хайп проектов на движке DLE
В данном скрипте есть возможность включить функцию чтобы пользователи сами...
Купить
Скрипт казино с 5 классическими играми.
Разработчики онлайн-казино, хотим поделиться отличной новостью: в январе мы...
Купить
Customer WishList / Избранные товары покупателей
Данный модуль позволяет просматривать избранные товары пользователей. Есть...
Купить
Меняем заголовок и favicon
Меняет favicon и title, при переходе пользователя на другую вкладку в браузере....






