HOME


Mini Shell 1.0
Negocios La Pieza.DO | Registrate o Inicia Sesión

¡Página no encontrada!

La página que busca no se encuentra en nuestro servidor.

Volver al inicio
DIR: /var/www/devs.lapieza.net/app/Http/Controllers/Api/V2/
Upload File :
Current File : /var/www/devs.lapieza.net/app/Http/Controllers/Api/V2/PaymentTypesController.php
<?php

namespace App\Http\Controllers\Api\V2;

use App\Models\ManualPaymentMethod;
use Illuminate\Http\Request;

class PaymentTypesController {
    public function getList(Request $request) {
        $mode = "order";
        if ($request->has('mode')) {
            $mode = $request->mode; // wallet or other things , comes from query param ?mode=wallet
        }
        $list = "both";
        if ($request->has('list')) {
            $list = $request->list; // ?list=offline
        }
        $payment_types = array();
        if ($list == "online" || $list == "both") {
            if (get_setting('paypal_payment') == 1) {
                $payment_type = array();
                $payment_type['payment_type'] = 'paypal_payment';
                $payment_type['payment_type_key'] = 'paypal';
                $payment_type['image'] = static_asset('assets/img/cards/paypal.png');
                $payment_type['name'] = "Paypal";
                $payment_type['title'] = translate("Checkout with Paypal");
                $payment_type['offline_payment_id'] = 0;
                $payment_type['details'] = "";
                if ($mode == 'wallet') {
                    $payment_type['title'] = translate("Recharge with Paypal");
                }
                $payment_types[] = $payment_type;
            }
            if (get_setting('stripe_payment') == 1) {
                $payment_type = array();
                $payment_type['payment_type'] = 'stripe_payment';
                $payment_type['payment_type_key'] = 'stripe';
                $payment_type['image'] = static_asset('assets/img/cards/stripe.png');
                $payment_type['name'] = "Stripe";
                $payment_type['title'] = translate("Pagar con Stripe");
                $payment_type['offline_payment_id'] = 0;
                $payment_type['details'] = "";
                if ($mode == 'wallet') {
                    $payment_type['title'] = translate("Recargar con Stripe");
                }
                $payment_types[] = $payment_type;
            }
            if (get_setting('instamojo_payment') == 1) {
                $payment_type = array();
                $payment_type['payment_type'] = 'instamojo_payment';
                $payment_type['payment_type_key'] = 'instamojo_payment';
                $payment_type['image'] = static_asset('assets/img/cards/instamojo.png');
                $payment_type['name'] = "Instamojo";
                $payment_type['title'] = translate("Checkout with Instamojo");
                $payment_type['offline_payment_id'] = 0;
                $payment_type['details'] = "";
                if ($mode == 'wallet') {
                    $payment_type['title'] = translate("Recharge with Instamojo");
                }
                $payment_types[] = $payment_type;
            }
            if (get_setting('razorpay') == 1) {
                $payment_type = array();
                $payment_type['payment_type'] = 'razorpay';
                $payment_type['payment_type_key'] = 'razorpay';
                $payment_type['image'] = static_asset('assets/img/cards/rozarpay.png');
                $payment_type['name'] = "Razorpay";
                $payment_type['title'] = translate("Checkout with Razorpay");
                $payment_type['offline_payment_id'] = 0;
                $payment_type['details'] = "";
                if ($mode == 'wallet') {
                    $payment_type['title'] = translate("Recharge with Razorpay");
                }
                $payment_types[] = $payment_type;
            }
            if (get_setting('paystack') == 1) {
                $payment_type = array();
                $payment_type['payment_type'] = 'paystack';
                $payment_type['payment_type_key'] = 'paystack';
                $payment_type['image'] = static_asset('assets/img/cards/paystack.png');
                $payment_type['name'] = "Paystack";
                $payment_type['title'] = translate("Checkout with Paystack");
                $payment_type['offline_payment_id'] = 0;
                $payment_type['details'] = "";
                if ($mode == 'wallet') {
                    $payment_type['title'] = translate("Recharge with Paystack");
                }
                $payment_types[] = $payment_type;
            }
            if (get_setting('iyzico') == 1) {
                $payment_type = array();
                $payment_type['payment_type'] = 'iyzico';
                $payment_type['payment_type_key'] = 'iyzico';
                $payment_type['image'] = static_asset('assets/img/cards/iyzico.png');
                $payment_type['name'] = "Iyzico";
                $payment_type['title'] = translate("Checkout with Iyzico");
                $payment_type['offline_payment_id'] = 0;
                $payment_type['details'] = "";
                if ($mode == 'wallet') {
                    $payment_type['title'] = translate("Recharge with Iyzico");
                }
                $payment_types[] = $payment_type;
            }
            if (get_setting('bkash') == 1) {
                $payment_type = array();
                $payment_type['payment_type'] = 'bkash';
                $payment_type['payment_type_key'] = 'bkash';
                $payment_type['image'] = static_asset('assets/img/cards/bkash.png');
                $payment_type['name'] = "Bkash";
                $payment_type['title'] = translate("Checkout with Bkash");
                $payment_type['offline_payment_id'] = 0;
                $payment_type['details'] = "";
                if ($mode == 'wallet') {
                    $payment_type['title'] = translate("Recharge with Bkash");
                }
                $payment_types[] = $payment_type;
            }
            if (get_setting('nagad') == 1) {
                $payment_type = array();
                $payment_type['payment_type'] = 'nagad';
                $payment_type['payment_type_key'] = 'nagad';
                $payment_type['image'] = static_asset('assets/img/cards/nagad.png');
                $payment_type['name'] = "Nagad";
                $payment_type['title'] = translate("Checkout with Nagad");
                $payment_type['offline_payment_id'] = 0;
                $payment_type['details'] = "";
                if ($mode == 'wallet') {
                    $payment_type['title'] = translate("Recharge with Nagad");
                }
                $payment_types[] = $payment_type;
            }
            if (get_setting('sslcommerz_payment') == 1) {
                $payment_type = array();
                $payment_type['payment_type'] = 'sslcommerz_payment';
                $payment_type['payment_type_key'] = 'sslcommerz';
                $payment_type['image'] = static_asset('assets/img/cards/sslcommerz.png');
                $payment_type['name'] = "Sslcommerz";
                $payment_type['title'] = translate("Checkout with Sslcommerz");
                $payment_type['offline_payment_id'] = 0;
                $payment_type['details'] = "";
                if ($mode == 'wallet') {
                    $payment_type['title'] = translate("Recharge with Sslcommerz");
                }
                $payment_types[] = $payment_type;
            }

            //AZUL Payment Gateways
            if (get_setting('pago_azul_payment') == 1) {
                $payment_type = array();
                $payment_type['payment_type'] = 'pago_azul_payment';
                $payment_type['payment_type_key'] = 'azul';
                $payment_type['image'] = static_asset('assets/img/cards/azul.png');
                $payment_type['name'] = "Azul";
                $payment_type['title'] = translate("Pagar con Azul");
                $payment_type['offline_payment_id'] = 0;
                $payment_type['details'] = "";
                if ($mode == 'wallet') {
                    $payment_type['title'] = translate("Recargar con Azul");
                }
                $payment_types[] = $payment_type;
            }


            //African Payment Gateways
            if (addon_is_activated('african_pg') && get_setting('flutterwave') == 1) {
                $payment_type = array();
                $payment_type['payment_type'] = 'flutterwave';
                $payment_type['payment_type_key'] = 'flutterwave';
                $payment_type['image'] = static_asset('assets/img/cards/flutterwave.png');
                $payment_type['name'] = "Flutterwave";
                $payment_type['title'] = translate("Checkout with Flutterwave");
                $payment_type['offline_payment_id'] = 0;
                $payment_type['details'] = "";
                if ($mode == 'wallet') {
                    $payment_type['title'] = translate("Recharge with Flutterwave");
                }
                $payment_types[] = $payment_type;
            }
            if (addon_is_activated('paytm')) {
                if (get_setting('paytm') == 1) {
                    $payment_type = array();
                    $payment_type['payment_type'] = 'paytm';
                    $payment_type['payment_type_key'] = 'paytm';
                    $payment_type['image'] = static_asset('assets/img/cards/paytm.jpg');
                    $payment_type['name'] = "Paytm";
                    $payment_type['title'] = translate("Checkout with Paytm");
                    $payment_type['offline_payment_id'] = 0;
                    $payment_type['details'] = "";
                    if ($mode == 'wallet') {
                        $payment_type['title'] = translate("Recharge with Paytm");
                    }
                    $payment_types[] = $payment_type;
                }
                if (get_setting('khalti_payment') == 1) {
                    $payment_type = array();
                    $payment_type['payment_type'] = 'khalti';
                    $payment_type['payment_type_key'] = 'khalti';
                    $payment_type['image'] = static_asset('assets/img/cards/khalti.png');
                    $payment_type['name'] = "Khalti";
                    $payment_type['title'] = translate("Checkout with Khalti");
                    $payment_type['offline_payment_id'] = 0;
                    $payment_type['details'] = "";
                    if ($mode == 'wallet') {
                        $payment_type['title'] = translate("Recharge with Khalti");
                    }
                    $payment_types[] = $payment_type;
                }
            }
        }
        // you cannot recharge wallet by wallet or cash payment
        if ($mode != 'wallet' && $mode != 'seller_package' && $list != "offline") {
            if (get_setting('wallet_system') == 1) {
                $payment_type = array();
                $payment_type['payment_type'] = 'wallet_system';
                $payment_type['payment_type_key'] = 'wallet';
                $payment_type['image'] = static_asset('assets/img/cards/wallet.png');
                $payment_type['name'] = "Wallet";
                $payment_type['title'] = translate("Wallet Payment");
                $payment_type['offline_payment_id'] = 0;
                $payment_type['details'] = "";
                $payment_types[] = $payment_type;
            }
            $haveDigitalProduct = false;
            $cash_on_delivery = false;
            if ($mode == "order") {
                $carts = auth()->user()->carts;
                foreach ($carts as $key => $cart) {
                    $haveDigitalProduct = $cart->product->digital == 1;
                    $cash_on_delivery = $cart->product->cash_on_delivery == 0;
                    if ($haveDigitalProduct || $cash_on_delivery) {
                        break;
                    }
                }
            }
            if (get_setting('cash_payment') == 1 && !$haveDigitalProduct && !$cash_on_delivery) {
                $payment_type = array();
                $payment_type['payment_type'] = 'cash_payment';
                $payment_type['payment_type_key'] = 'cash_on_delivery';
                $payment_type['image'] = static_asset('assets/img/cards/cod.png');
                $payment_type['name'] = "Cash Payment";
                $payment_type['title'] = translate("Cash on delivery");
                $payment_type['offline_payment_id'] = 0;
                $payment_type['details'] = "";
                $payment_types[] = $payment_type;
            }
        }
        if (($list == 'offline' || $list == "both") && addon_is_activated('offline_payment')) {
            foreach (ManualPaymentMethod::all() as $method) {
                $bank_list = "";
                $bank_list_item = "";
                if ($method->bank_info != null) {
                    foreach (json_decode($method->bank_info) as $key => $info) {
                        $bank_list_item .= "<li>" . 'Bank Name:' . " -  {$info->bank_name} ," . 'Tipo de Cuenta:' . "  -  $info->account_name , " . 'Número de Cta:' . " - {$info->account_number} </li>";
                    }
                    $bank_list = "<ul> $bank_list_item <ul>";
                }
                $payment_type = array();
                $payment_type['payment_type'] = 'manual_payment';
                $payment_type['payment_type_key'] = 'manual_payment_' . $method->id;
                $payment_type['image'] = uploaded_asset($method->photo);
                $payment_type['name'] = $method->heading;
                $payment_type['title'] = $method->heading;
                $payment_type['offline_payment_id'] = $method->id;
                $payment_type['banks_details'] = json_decode($method->bank_info, true);
                $payment_type['details'] = "<div> {$method->description} $bank_list  </div>";
                $payment_types[] = $payment_type;
            }
        }
        return response()->json($payment_types);
    }
}