ok

Mini Shell

Direktori : /home2/selectio/www/geniusgroove.in/crm/api/application/controllers/
Upload File :
Current File : //home2/selectio/www/geniusgroove.in/crm/api/application/controllers/Payment.php

<?php

defined('BASEPATH') or exit('No direct script access allowed');

class Payment extends Admin_Controller
{

    public $payment_method;
    public $school_name;
    public $school_setting;
    public $setting;

    public function __construct()
    {
        parent::__construct();
        $this->payment_method     = $this->paymentsetting_model->get();
        $this->setting            = $this->setting_model->get();
        $this->std_fine           = 0;
        $this->sch_setting_detail = $this->setting_model->getSetting();
        $this->load->library('Customlib');
    }

    public function index($student_fees_master_id, $fee_groups_feetype_id, $student_id, $student_transport_fee_id = null)
    {

      
        $this->session->unset_userdata("params");

        if (!empty($this->payment_method)) {

            $data                           = array();


            $student_record = $this->student_model->get($student_id);


            $page                = new stdClass();
            if (!empty($student_record->currency_id)) {
                $page->symbol        = $student_record->symbol;
                $page->currency_name = $student_record->currency_name;
                $student_currency['currency_base_price'] = $student_record->base_price;
                $student_currency['currency_symbol'] = $student_record->symbol;
            } else {
                $page->symbol        = $this->setting[0]['currency_symbol'];
                $page->currency_name = $this->setting[0]['short_name'];
                $student_currency['currency_base_price'] = $this->setting[0]['base_price'];
                $student_currency['currency_symbol'] = $this->setting[0]['currency_symbol'];
            }

            $this->session->set_userdata("student", $student_currency);
            $this->session->set_userdata('student_currency', array('currency_name' => $page->currency_name, 'currency_base_price' => $student_currency['currency_base_price'], 'currency_symbol' => $student_currency['currency_symbol']));
            $pay_method     = $this->paymentsetting_model->getActiveMethod();


            if ($student_transport_fee_id !== null && ($student_fees_master_id == 0) && ($fee_groups_feetype_id == 0)) {
                $payment_details = (object)array();
                $result = $this->studentfeemaster_model->studentTRansportDeposit($student_transport_fee_id);

                $fee_category             = "transport";
                $student_transport_fee_id = $student_transport_fee_id;
                $fee_group_name        = ("Transport Fees");
                $fee_type_code          = $result->month;
                $payment_details->fee_group_name = $fee_group_name;
                $payment_details->code = $result->month;
                $payment_details->fine_amount = $result->fine_amount;
                $amount_balance = $result->fees;
            } else {
                $data['fee_groups_feetype_id']  = $fee_groups_feetype_id;
                $data['student_fees_master_id'] = $student_fees_master_id;
                $result                         = $this->studentfeemaster_model->studentDeposit($data);

                $amount_balance                 = 0;
                $amount                         = 0;
                $amount_fine                    = 0;
                $amount_discount                = 0;
                $amount_detail                  = json_decode($result->amount_detail);
                $totalamount_fine               = 0;
                if (strtotime($result->due_date) < strtotime(date('Y-m-d'))) {
                    $totalamount_fine = $result->fine_amount;
                }

                if (is_object($amount_detail)) {
                    foreach ($amount_detail as $amount_detail_key => $amount_detail_value) {
                        $amount          = $amount + $amount_detail_value->amount;
                        $amount_discount = $amount_discount + $amount_detail_value->amount_discount;
                        $amount_fine     = $amount_fine + $amount_detail_value->amount_fine;
                    }
                }

                $amount_balance = $result->amount - ($amount + $amount_discount);
                if ($result->is_system) {

                    $amount_balance = $result->student_fees_master_amount - ($amount + $amount_discount);
                }
                $totalamount_fine = $totalamount_fine - $amount_fine;
                $fee_category             = "fees";
                $payment_details              = $this->feegrouptype_model->getFeeGroupByID($fee_groups_feetype_id);
                $payment_details->fine_amount = $totalamount_fine;
            }



            $params              = array(
                'key'                    => $pay_method->api_secret_key,
                'api_publishable_key'    => $pay_method->api_publishable_key,
                'invoice'                => $page,
                'total'                  => $amount_balance,
                'student_session_id'     => $student_record->student_session_id,
                'email'                  => $student_record->email,
                'guardian_phone'         => $student_record->guardian_phone,
                'name'                   => $this->customlib->getFullName($student_record->firstname, $student_record->middlename, $student_record->lastname, $this->sch_setting_detail->middlename, $this->sch_setting_detail->lastname),
                'student_transport_fee_id' => $student_transport_fee_id,
                'student_fees_master_id' => $student_fees_master_id,
                'fee_groups_feetype_id'  => $fee_groups_feetype_id,
                'student_id'             => $student_id,
                'payment_detail'         => $payment_details,
                'fee_category' => $fee_category,
            );

            $this->session->set_userdata("params", $params);
            if ($pay_method->payment_type == "stripe") {
                if ($pay_method->api_secret_key == "" || $pay_method->api_publishable_key == "") {

                    $this->session->set_flashdata('error', 'Stripe settings not available');
                    $this->load->view('payment/error');
                } else {


                    redirect("gateway/stripe", 'refresh');
                }
            } else if ($pay_method->payment_type == "payu") {

                redirect("gateway/payu", 'refresh');
            } else if ($pay_method->payment_type == "paypal") {

                if ($pay_method->api_username == "" || $pay_method->api_password == "" || $pay_method->api_signature == "") {

                    $this->session->set_flashdata('error', 'Paypal settings not available');
                    $this->load->view('payment/error');
                } else {

                    redirect("gateway/paypal", 'refresh');
                }
            } else if ($pay_method->payment_type == "instamojo") {

                if ($pay_method->api_secret_key == "" || $pay_method->salt == "" || $pay_method->api_publishable_key == "") {

                    $this->session->set_flashdata('error', 'Instamojo settings not available');
                    $this->load->view('payment/error');
                } else {

                    redirect("gateway/Instamojo", 'refresh');
                }
            } else if ($pay_method->payment_type == "razorpay") {

                if ($pay_method->api_secret_key == "") {

                    $this->session->set_flashdata('error', 'Razorpay settings not available');
                    $this->load->view('payment/error');
                } else {

                    redirect("gateway/Razorpay", 'refresh');
                }
            } else if ($pay_method->payment_type == "paystack") {

                if ($pay_method->api_secret_key == "") {

                    $this->session->set_flashdata('error', 'Paystack settings not available');
                    $this->load->view('payment/error');
                } else {

                    redirect("gateway/Paystack", 'refresh');
                }
            } else if ($pay_method->payment_type == "paytm") {

                if ($pay_method->api_secret_key == "") {

                    $this->session->set_flashdata('error', 'paytm settings not available');
                    $this->load->view('payment/error');
                } else {

                    redirect("gateway/Paytm", 'refresh');
                }
            } else if ($pay_method->payment_type == "midtrans") {

                if ($pay_method->api_secret_key == "") {

                    $this->session->set_flashdata('error', 'midtrans settings not available');
                    $this->load->view('payment/error');
                } else {

                    redirect("gateway/midtrans", 'refresh');
                }
            } else if ($pay_method->payment_type == "pesapal") {

                if ($pay_method->api_secret_key == "") {

                    $this->session->set_flashdata('error', 'pesapal settings not available');
                    $this->load->view('payment/error');
                } else {


                    redirect("gateway/pesapal", 'refresh');
                }
            } else if ($pay_method->payment_type == "flutterwave") {

                if ($pay_method->api_secret_key == "") {

                    $this->session->set_flashdata('error', 'Flutterwave settings not available');
                    $this->load->view('payment/error');
                } else {


                    redirect("gateway/flutterwave", 'refresh');
                }
            } else if ($pay_method->payment_type == "ipayafrica") {

                if ($pay_method->api_secret_key == "") {

                    $this->session->set_flashdata('error', 'iPayAfrica settings not available');
                    $this->load->view('payment/error');
                } else {


                    redirect("gateway/ipayafrica", 'refresh');
                }
            } else if ($pay_method->payment_type == "jazzcash") {

                if ($pay_method->api_secret_key == "") {

                    $this->session->set_flashdata('error', 'iPayAfrica settings not available');
                    $this->load->view('payment/error');
                } else {


                    redirect("gateway/jazzcash", 'refresh');
                }
            } else if ($pay_method->payment_type == "billplz") {

                if ($pay_method->api_secret_key == "") {

                    $this->session->set_flashdata('error', 'Billplz settings not available');
                    $this->load->view('payment/error');
                } else {


                    redirect("gateway/billplz", 'refresh');
                }
            } else if ($pay_method->payment_type == "ccavenue") {

                if ($pay_method->api_secret_key == "") {

                    $this->session->set_flashdata('error', 'CCAvenue settings not available');
                    $this->load->view('payment/error');
                } else {


                    redirect("gateway/ccavenue", 'refresh');
                }
            } else if ($pay_method->payment_type == "sslcommerz") {

                if ($pay_method->api_password == "") {

                    $this->session->set_flashdata('error', 'Sslcommerz settings not available');
                    $this->load->view('payment/error');
                } else {


                    redirect("gateway/sslcommerz", 'refresh');
                }
            } else if ($pay_method->payment_type == "walkingm") {

                if ($pay_method->api_publishable_key == "") {

                    $this->session->set_flashdata('error', 'Walkingm settings not available');
                    $this->load->view('payment/error');
                } else {


                    redirect("gateway/walkingm", 'refresh');
                }
            } else if ($pay_method->payment_type == "mollie") {

                if ($pay_method->api_publishable_key == "") {

                    $this->session->set_flashdata('error', 'Walkingm settings not available');
                    $this->load->view('payment/error');
                } else {


                    redirect("gateway/mollie", 'refresh');
                }
            } else if ($pay_method->payment_type == "cashfree") {

                if ($pay_method->api_publishable_key == "") {

                    $this->session->set_flashdata('error', 'Walkingm settings not available');
                    $this->load->view('payment/error');
                } else {


                    redirect("gateway/cashfree", 'refresh');
                }
            } else if ($pay_method->payment_type == "payfast") {

                if ($pay_method->api_publishable_key == "") {

                    $this->session->set_flashdata('error', 'Walkingm settings not available');
                    $this->load->view('payment/error');
                } else {


                    redirect("gateway/payfast", 'refresh');
                }
            } else if ($pay_method->payment_type == "toyyibpay") {

                if ($pay_method->api_secret_key == "") {

                    $this->session->set_flashdata('error', 'Toyyibpay settings not available');
                    $this->load->view('payment/error');
                } else {


                    redirect("gateway/toyyibpay", 'refresh');
                }
            } else if ($pay_method->payment_type == "twocheckout") {

                if ($pay_method->api_publishable_key == "") {

                    $this->session->set_flashdata('error', 'Walkingm settings not available');
                    $this->load->view('payment/error');
                } else {


                    redirect("gateway/twocheckout", 'refresh');
                }
            } else if ($pay_method->payment_type == "skrill") {

                if ($pay_method->api_email == "") {

                    $this->session->set_flashdata('error', 'Walkingm settings not available');
                    $this->load->view('payment/error');
                } else {


                    redirect("gateway/skrill", 'refresh');
                }
            } else if ($pay_method->payment_type == "payhere") {

                if ($pay_method->api_secret_key == "") {

                    $this->session->set_flashdata('error', 'Payhere settings not available');
                    $this->load->view('payment/error');
                } else {


                    redirect("gateway/payhere", 'refresh');
                }
            } else if ($pay_method->payment_type == "onepay") {

                if ($pay_method->api_publishable_key == "") {

                    $this->session->set_flashdata('error', 'Onepay settings not available');
                    $this->load->view('payment/error');
                } else {


                    redirect("gateway/onepay", 'refresh');
                }
            } else {
                $this->session->set_flashdata('error', 'Oops! An error occurred with this payment, Please contact to administrator');
                $this->load->view('payment/error');
            }
        }
    }

    public function paymentfailed()
    {

        $data = array();
        $this->load->view('payment/paymentfailed', $data);
    }

    public function successinvoice($invoice_id, $sub_invoice_id)
    {
        $data                = array();
        // $data['title']       = 'Invoice';
        // $setting_result      = $this->setting_model->get();
        // $data['settinglist'] = $setting_result;
        // $studentfee          = $this->studentfeemaster_model->getFeeByInvoice($invoice_id, $sub_invoice_id);

        // $a                         = json_decode($studentfee->amount_detail);
        // $record                    = $a->{$sub_invoice_id};
        // $data['studentfee']        = $studentfee;
        // $data['studentfee_detail'] = $record;

        $this->load->view('payment/invoice', $data);
    }
}

Zerion Mini Shell 1.0