Modesy v1.8.1 NULLED - скрипт интернет-магазина и доски объявлений

Скачать Modesy v1.8.1 NULLED - скрипт интернет-магазина и доски объявлений
Недавно искали:

Itnull

Команда форума
Администратор
Регистрация
22.05.13
Сообщения
25.548
Реакции
9.503
Веб-сайт
itnull.me
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #1
hqdefault.jpg
Это скрипт интернет-магазина, в котором вы можете продавать и покупать использованные продукты. Он имеет чистое, отзывчивое и удобное для пользователя решение. Вы можете управлять почти всем на своем сайте с помощью мощной панели администратора. Он безопасен, оптимизирован для SEO, быстрый, полностью настраивается и прост в использовании. Построен с использованием Bootstrap 4, полностью защищенная система, 10 цветов макета, многоязычная система (любой язык можно легко добавить), редактируемая и сортируемая навигация (с мега-меню), отзывчивый и сортируемый слайдер (с возможностью показа и скрытия), продвигаемые продукты (с возможностью включения и отключения), карта местоположения продукта, платежные шлюзы, PayPal/Stirpe/кредитная карта, фильтр и сортировка и многое другое.

Демо: https://codecanyon.net/item/modesy-buy-sell-used-stuff/22714108

Modesy v1.8.1 NULLED
 
  • Love
Симпатий: lboh1
Добавление нового платежного шлюза
Платежные системы обычно работают с ключами API («public_key» и «secret_key»). Эти имена ключей могут быть разными для некоторых систем, но логически работают одинаково.
Чтобы добавить новую платежную систему, откройте таблицу « payment_gateways » в своей базе данных через phpMyAdmin и нажмите ссылку « Вставить » в меню выше, чтобы добавить свою платежную систему.

ПолеОписание
idОставьте это поле пустым, потому что идентификатор создается автоматически.
nameВведите название вашей платежной системы.
Пример: Modesy Pay
name_keyВведите уникальное имя, не содержащее специальных символов, для вашей платежной системы.
Пример: modesy_pay
public_keyВведите значение public_key, которое вы создали в своей платежной учетной записи.
Пример: Adt9g4b-sz6NaQ_dsXGZQ76ah ...
Секретный ключВведите значение secret_key, которое вы создали в своей платежной учетной записи.
Пример: EL6tE3pLtJ13JebQI5n3Fy57xL7 ...
средаЭто вариант оплаты, предлагаемый вашей платежной системой. Если вы хотите добавить тестовые ключи API для своей платежной системы и выполнить тесты платежей, вы должны ввести здесь « песочницу ». Если вы хотите ввести свои живые ключи API и получать платежи после тестов, вы должны ввести « production ».
Пример: песочница
локальЭто необязательное поле. Если в вашей платежной системе есть выбор языка, вы можете добавить здесь значение местоположения по умолчанию. В настоящее время только Stripe использует это значение в скрипте.
базисная валютаIf you want to accept payments in only one currency, you can write the short name of the currency here. If you want to receive payments in all active currencies on your site, you can enter "all" here. You can check the "currencies" table in your database for the short names of all currencies available in the system.
Example: USD
status1 or 0. If you do not want the payment system to appear on your site, you need to enter 0. Otherwise, you need to enter 1.
Example: 1
logosOur script displays logos for each payment system on the payment methods page. These logos are located in the "assets / img / payment" folder. For the payment system you add, you can add the logo names you want to show by putting commas between them. You can upload your own SVG logos to this folder.
Example: visa,mastercard,amex,discover
1616083894709.png
После добавления необходимой информации вы можете нажать кнопку « Перейти » и завершить процесс добавления.
2. Добавление кодов

платежных систем Платежные системы обычно имеют 2 разных метода интеграции:

A. Интеграция JavaScript: этот метод позволяет вам принимать платежи с помощью всплывающего окна или ранее созданной формы. После завершения платежа ваша платежная система вернет платежную информацию, если транзакция будет успешной, и вы можете завершить транзакцию, отправив эту информацию на сторону сервера с помощью AJAX.

B. Интеграция веб-переадресации: этот метод позволяет принимать платежи на внешней веб-странице. После завершения платежа платежная система отправляет результат платежа на сервер.

Вам необходимо прочитать документацию к платежному шлюзу, который вы хотите добавить, узнать, как он работает, и решить, какой метод вы хотите добавить. Способы оплаты обычно имеют несколько способов интеграции.
Прочитав документацию по API платежного шлюза и разобравшись с логикой работы, можно приступать к процессу интеграции.
1. Создание представления

Сначала вам нужно добавить « представление » для метода оплаты. В этот файл необходимо добавить все коды HTML, CSS и JavaScript способа оплаты. Для этого откройте папку « application / views / cart / payment_methods » и создайте файл PHP для вашего метода оплаты. Ваш " name_key""значение, которое в вашей базе данных и имя вашего файла должны совпадать. Например, если ваше значение" name_key "равно" modesy_pay ", вы должны создать файл с именем" _modesy_pay.php ".

2. Создание функции, которую

необходимо добавить функция в файл " application / controllers / Cart_controller.php " для проверки платежа и добавления заказа в базу данных после совершения платежа. Откройте этот файл и создайте свою функцию. Например, если ваш "name_key" - " modesy_pay" ", вы можете создать эту функцию следующим образом:/**
Код:
/**

* Payment with Modesy Pay

*/

public function modesy_pay_payment_post()

{
//
}
Вы можете добавить этот код после функции midtrans_payment_post в этом файле.

3. Определение маршрута для доступа к этой функции

Вам необходимо определить маршрут для доступа к этой функции. Для этого откройте файл « application / config / routes_static.php » и добавьте свой маршрут. Например, если имя созданной вами функции - « modesy_pay_payment_post », вы можете добавить свой маршрут следующим образом:$route['modesy-pay-payment-post']['POST'] = 'cart_controller/modesy_pay_payment_post';
Выполнив эти действия, вы можете добавить коды платежных шлюзов в файл «_modesy_pay.php». В этом файле доступны следующие переменные PHP, которые необходимо использовать для процесса оплаты:

  • $ total_amount: Общее количество товаров в корзине. Сумма к выплате. Это десятичная переменная (пример: 10.50). Некоторые платежные системы требуют, чтобы сумма платежа была целым числом. В этом случае вы можете умножить общую сумму на 100.
  • $ currency: Валюта платежа. (Пример: доллары США)
  • $ mds_payment_type : В Modesy есть 3 вида платежей. Существуют выплаты «продажа», «членство» и «продвижение». Вы можете использовать эту переменную, если вам нужно внести некоторые изменения в зависимости от типа оплаты.
  • $mds_payment_token: This variable has a unique token created for the payment. This token can be used to verify the payment.
  • $payment_gateway: This variable is the payment method object chosen by the user. This variable contains all the values for the payment method you have added to the database. For example, if you want to access the "name_key" value for the selected payment method, you can access it with "$payment_gateway->name_key" code.
Использовать коды интеграции PayPal JavaScript в качестве примера, чтобы показать, как коды платежных шлюзов могут быть добавлены в файл «_modesy_pay.php».

Приведенные ниже коды являются кодами интеграции PayPal JavaScript. Если вы добавите эти коды в файл «_modesy_pay.php», вы увидите кнопку оплаты PayPal в разделе оплаты. Но этого недостаточно. Для совершения платежа необходимо отправить в платежную систему общую сумму корзины, валюту и другую необходимую информацию.
Код:
<script src="https://www.paypal.com/sdk/js?client-id=public_key&currency=USD"></script>

   <div id="paypal-button-container"></div>

   <script>

        paypal.Buttons({

            createOrder: function (data, actions) {

                return actions.order.create({

                    purchase_units: [{

                        amount: {

                            value: 10.50

                        }

                    }]

                });

            },

            onApprove: function (data, actions) {

                return actions.order.capture().then(function (details) {

                    // payment successful

                });

            },

            onError: function (error) {

                alert(error);

            }

        }).render('#paypal-button-container');

    </script>
Эти коды необходимо добавить в файл "_modesy_pay.php" следующим образом :
Код:
<?php defined('BASEPATH') or exit('No direct script access allowed');



//check if payment_gateway exists and it is modesy_pay

if (!empty($payment_gateway) && $payment_gateway->name_key == "modesy_pay"): ?>



//send your public_key and your currency to the PayPal API

<script src="https://www.paypal.com/sdk/js?client-id=<?= $payment_gateway->public_key; ?>&currency=<?= $currency; ?>"></script>



  //add these codes to show a message if there is an error

  <div class="row">

        <div class="col-12">

            <?php $this->load->view('product/_messages'); ?>

        </div>

   </div>



   <div id="paypal-button-container"></div>

   <script>

        paypal.Buttons({

createOrder: function (data, actions) {

return actions.order.create({

purchase_units: [{

amount: {

//define PayPal total amount for the payment

value: '<?= $total_amount; ?>'

}

}]

});

},

onApprove: function (data, actions) {

return actions.order.capture().then(function (details) {



//if the payment is successful, you need to send the payment id that returned by the payment system to the "modesy_pay_payment_post" function via AJAX post.

var data_array = {

'payment_id': data.orderID,

'currency': '<?= $currency; ?>',

'payment_amount': '<?= $total_amount; ?>',

'payment_status': details.status,

'mds_payment_type': '<?= $mds_payment_type; ?>',

'sys_lang_id': mds_config.sys_lang_id

};

data_array[mds_config.csfr_token_name] = $.cookie(mds_config.csfr_cookie_name);

$.ajax({

type: "POST",

url: "<?= base_url(); ?>modesy-pay-payment-post",

data: data_array,

success: function (response) {

//if the order has been successfully created, this code will redirect the buyer to the order details page

var obj = JSON.parse(response);

if (obj.result == 1) {

window.location.href = obj.redirect_url;

} else {

location.reload();

}

}

});



});

},

onError: function (error) {

//if the payment is not successful, show the error message

alert(error);

}

}).render('#paypal-button-container');

   </script>

<?php endif; ?>

3. Проверка платежа и добавление заказа в базу данных

После получения платежа вы должны проверить этот платеж с его идентификатором перед добавлением заказа в базу данных. У каждой платежной системы своя система проверки платежа. Вы можете найти необходимые коды в документации API вашей платежной системы. Вам необходимо добавить эти коды в функцию« modesy_pay_payment_post », которую вы создали в файле« application / controllers / Cart_controller.php ».

Вы можете получить переменные, которые вы отправляете с помощью AJAX после оплаты, с помощью переменных $ _POST и $ _GET в этой функции. Кроме того, если ваша платежная система принимает платежи на внешней веб-странице, а затем возвращает необходимые переменные, вы можете получить эти переменные таким же образом.

Код:
Получение переменной, отправленной методом POST:$payment_id = $_POST['payment_id'];

//or the safer way

$payment_id = $this->input->post('payment_id', true);



Получение переменной, отправленной методом GET:

$payment_id = $_GET['payment_id'];

//or the safer way

$payment_id = $this->input->get('payment_id', true);


Поняв, как получить переменные, отправленные в эту функцию, вы можете добавить необходимые коды в эту функцию следующим образом:

Код:
/**

* Payment with Modesy Pay

*/

public function modesy_pay_payment_post()

{

    //check if payment gateway exists. Return an error message if not exists

    $modesy_pay = get_payment_gateway('modesy_pay');

    if (empty($modesy_pay)) {

        $this->session->set_flashdata('error', "Payment gateway not found!");

        echo json_encode([

            'result' => 0

        ]);

        exit();

    }



    //get payment id that sent from AJAX post

    $payment_id = $this->input->post('payment_id', true);



    //validate the payment with PayPal API

    require_once APPPATH . "third_party/paypal/vendor/autoload.php";

    $is_valid = false;

    $environment = null;

    if ($modesy_pay->environment == 'sandbox') {

        $environment = new PayPalCheckoutSdk\Core\SandboxEnvironment($modesy_pay->public_key, $modesy_pay->secret_key);

    } else {

        $environment = new PayPalCheckoutSdk\Core\ProductionEnvironment($modesy_pay->public_key, $modesy_pay->secret_key);

    }

    if($environment != null){

        $client = new PayPalCheckoutSdk\Core\PayPalHttpClient($environment);

        $response = $client->execute(new PayPalCheckoutSdk\Orders\OrdersGetRequest($payment_id));

        if (!empty($response) && $response->result->status == 'COMPLETED') {

            $is_valid = true;

        }

    }





    //if the payment is valid you can now add the order to the database

    if ($is_valid == true) {



        //create the transaction array that will be added to the database

        $data_transaction = array(

            'payment_method' => "Modesy Pay",

            'payment_id' => $payment_id,

            'currency' => $this->input->post('currency', true),

            'payment_amount' => $this->input->post('payment_amount', true),

            'payment_status' => $this->input->post('payment_status', true)

        );





        //add the order to the database

        $mds_payment_type = $this->input->post('mds_payment_type', true);

        $response = $this->execute_payment($data_transaction, $mds_payment_type, lang_base_url());

        if ($response->result == 1) {

            $this->session->set_flashdata('success', $response->message);

            echo json_encode([

                'result' => 1,

                'redirect_url' => $response->redirect_url

            ]);

        } else {

            $this->session->set_flashdata('error', $response->message);

            echo json_encode([

                'result' => 0

            ]);

        }



    } else {

        //show an error if payment is not valid

        $this->session->set_flashdata('error', trans("msg_error"));

        echo json_encode([

            'result' => 0

        ]);

    }

}

Перенаправление на страницу

сведений о заказе После завершения всего процесса оплаты наши коды вернут URL-адрес " redirect_url ". Вам нужно перенаправить перенаправить страницу на этот URL.

Если вы интегрировали свой способ оплаты с интеграцией JavaScript, вам необходимо вернуть результат и значения "redirect_url" следующим образом:
Код:
$this->session->set_flashdata('success', $response->message);

echo json_encode([

       'result' => 1,

       'redirect_url' => $response->redirect_url

]);

Если вы интегрировали свой способ оплаты с интеграцией веб-перенаправления, вам необходимо выполнить прямое перенаправление следующим образом:
Код:
$this->session->set_flashdata('success', $response->message);

redirect($response->redirect_url);
 
Последнее редактирование:
Если интересно кому
 
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #4
Назад
Сверху Снизу