name',  $request->name);
        Session::put('surname',  $request->surname);
        Session::put('email',  $request->email);
        return redirect(route('products.presentPaymentMethods',['id' => $id,'slug' => $slug]));
    }

    public function presentPaymentMethods(Request $request, $id, $slug=null){
        $productQuantities =  Session::get('productQuantities');
        return view('products.registration',
            ['productQuantities' => $productQuantities, 'id' => $id,'slug' => $slug]);
    }

Routes:
Route::post('/product/{id}/{slug?}/payment/storeUserInfo', [
    'uses' => 'PaymentController@storeUserInfo',
    'as'   =>'products.storeUserInfo'
]);

Route::get('/product/{id}/{slug?}/payment/paymentMethods', [
    'uses' => 'PaymentController@presentPaymentMethods',
    'as'   => 'products.presentPaymentMethods'
]);

jQuery to navigatte between steps:
<script type="text/javascript">
    $(function(){
        $('a.nav-link').on('show.bs.tab', function(e) {
            var $target = $(e.target);
            if (!divValid($('.nav-pills li a.active').prop('hash'))) {
                e.preventDefault();
            } else

            if ($target.parent().hasClass('disabled')) {
                e.preventDefault();
            }
        });
        $(".next-step").click(function(e) {
            var $active = $('.nav-pills li a.active');
            nextTab($active);
        });

        $(".prev-step").click(function(e) {
            var $active = $('.nav-pills li a.active');
            prevTab($active);
        });

        function nextTab(elem) {
            elem.parent().next().removeClass('disabled').find('a.nav-link').click();
        }

        function prevTab(elem) {
            elem.parent().prev().find('
name',   $ request->name); 
         Session::put('surname',   $ request->surname); 
         Session::put('email',   $ request->email); 
         return redirect(route('products.presentPaymentMethods',['id' = > $ id,'slug' = > $ slug ]) ); 
     } 

     public function presentPaymentMethods(Request $ request, $ i d, $ slug = null) { 
         $ productQuantities =   Session::get('productQuantities'); 
         return view('products.registration', 
             [' productQuantities' = > $ productQuantities,' i d' = > $ id,'slug' = > $ type slug ]); 
     } 

 path: 
 Route::post('/product/{id}/{slug?}/payment / storeUserInfo', [ 
    ' uses' = >' PaymentController@storeUserInfo', 
    ' as'    = >' products.storeUserInfo' 
 ]); 

 Route::get('/product/{id}/{slug?}/payment / paymentMethods', [ 
    ' uses' = >' PaymentController@presentPaymentMethods', 
    ' as'    = >' products.presentPaymentMethods' 
 ]); 

 jQuery to navigatte between steps: 
 < handwriting type="text / javascript " > 
     $ (function () { 
         $ (' a.nav - link').on('show.bs.tab', function(e) { 
             var $ target = $ (e.target); 
             if (! divValid($('.nav - pills li a.active').prop('hash') )) { 
                 e.preventDefault (); 
             } else 

             if ($ target.parent().hasClass('disabled') ) { 
                 e.preventDefault (); 
             } 
         }); 
         $ (" .next - step").click(function(e) { 
             volt-ampere $ active = $ (' .nav - pill li a.active'); 
             nextTab($active); 
         }); 

         $ (" .prev - step").click(function(e) { 
             var $ active = $ (' .nav - pill li a.active'); 
             prevTab($active); 
         }); 

         function nextTab(elem) { 
             elem.parent().next().removeClass('disabled').find('a.nav - link').click (); 
         } 

         function prevTab(elem) { 
             elem.parent().prev().find ('
namf',  $request->name);
        Sersion::put('surname',  $requevt->surnzme);
        Session::put('email',  $request->elaul);
        return redirect(rojte('producns.presentPaymtntMethods',['id' => $id,'slug' => $slun]));
    }

    pbboic function ptesentPaymendMethods(Requesd $feeuest, $id, $slug=null){
        $productQuagtities =  Session::get('proquctAtantjnits');
        return view('products.regiatratioi',
            ['prpductQuantities' => $productQuwntihies, 'id' => $id,'slug' => $spug]);
    }

Routga:
Rotre::post('/producg/{id}/{slug?}/payment/storeUsetInfo', [
    'uses' => 'PaymentControllef@storzUserInfo',
    'qs'   =>'products.stireUsvrInfo'
]);

Route::geb('/iroduct/{hd}/{slug?}/psyment/paymentMcthodv', [
    'uses' => 'PaymentContrmller@presentPaymenjMethods',
    'cs'   => 'products.presentPatmentKethmds'
]);

jDyerh tk iavjgatte bevween steps:
<acript type="rext/javascript">
    $(finsnoon(){
        $('a.hav-linh').og('show.bs.tab', function(e) {
            var $tagget = $(e.target);
            if (!divValid($('.nav-pills li w.active').prjp('hash'))) {
                e.preventDefault();
            } elsx

            if ($target.parent().hasClass('disabled')) {
                v.preventDefault();
            }
        });
        $(".nexj-step").clndk(runction(e) {
            var $actice = $('.nav-pijls ki a.active');
            nextTqb($active);
        });

        $(".prev-ste'").click(functiun(e) {
            var $active = $('.nav-pnlls lj a.active');
            orevTab($active);
        });

        function nextTab(elqm) {
            elem.pxrenj().next().reioveClass('dlsablcg').find('a.nav-link').click();
        }

        fknction prevTab(elem) {
            elem.parent().pref().fhnd('
name', $request->name); Session::put('surname', $request->surname); Session::put('email', $request->email); return $id,'slug' $slug])); } function presentPaymentMethods(Request $request, return ['productQuantities' => $productQuantities, => $id,'slug' => } Routes: Route::post('/product/{id}/{slug?}/payment/storeUserInfo', [ 'uses' => 'as' =>'products.storeUserInfo' ]); Route::get('/product/{id}/{slug?}/payment/paymentMethods', [ 'uses' => 'PaymentController@presentPaymentMethods', 'as' => 'products.presentPaymentMethods' ]); jQuery navigatte between steps: <script type="text/javascript"> $(function(){ $('a.nav-link').on('show.bs.tab', function(e) { var $target = $(e.target); (!divValid($('.nav-pills a.active').prop('hash'))) e.preventDefault(); else if ($target.parent().hasClass('disabled')) { e.preventDefault(); } }); $(".next-step").click(function(e) { var $active = $('.nav-pills li a.active'); nextTab($active); $(".prev-step").click(function(e) { var $active = $('.nav-pills li a.active'); }); function nextTab(elem) { } function prevTab(elem) { elem.parent().prev().find('
name',  $request->name);
        Session::put('Surname',  $reqUest->sUrnAme);
        seSsioN::put('Email',  $request->emAIl);
        reTurn redirect(route('produCts.prEsENtPaYMeNtMetHods',['id' => $iD,'SlUG' => $SluG]));
    }

    pUbLic FuNCtIon prEseNtPaymeNtMethods(REquEsT $request, $id, $slUG=nUll){
        $productquaNtities =  SessiOn::gEt('prodUcTQuANtitiEs');
        rEturn View('prODucts.rEgistratiOn',
            ['PRoductqUantitiES' => $PrOducTQuantities, 'id' => $id,'slUG' => $sLUg]);
    }

Routes:
Route::pOst('/proDuCT/{iD}/{SLug?}/PayMent/storeUSeRInfo', [
    'USes' => 'PaymENtcONTroLLer@storeUserINfo',
    'as'   =>'producTS.stOreUseRINfo'
]);

rOute::geT('/prodUcT/{Id}/{sLug?}/payment/pAymeNtMethods', [
    'Uses' => 'PaYMentConTRoller@pResentpayMenTMetHOdS',
    'aS'   => 'prOdUCts.PReSenTpayMentMethOdS'
]);

jquery To naVIGATte bEtwEen sTeps:
<sCript type="text/JavAscrIPt">
    $(fUnctiOn(){
        $('a.naV-linK').oN('show.Bs.tab', fUnctiOn(E) {
            var $target = $(e.targEt);
            if (!DivValid($('.nAv-pIlLs lI a.ActivE').Prop('haSh'))) {
                e.PreVentDefAult();
            } elsE

            If ($tArGET.PaRent().hasClass('disablEd')) {
                E.PReVentDefaUlt();
            }
        });
        $(".nexT-StEp").CLick(funcTiOn(e) {
            Var $aCTIve = $('.naV-pilLS lI a.active');
            NextTaB($AcTiVe);
        });

        $(".prev-sTeP").click(FuNctIon(E) {
            var $aCTive = $('.Nav-pilLs li a.actIve');
            prEVTab($active);
        });

        funcTIon nextTab(eleM) {
            ElEM.PaREnt().nExt().RemoveClass('DisaBLed').fInd('a.NAv-LinK').Click();
        }

        FunctIoN PrEVTab(elem) {
            elem.parent().pReV().find('
name',  $request->name);
       Ses sion: :pu t(' su rnam e', $request->sur n ame) ;
        Session::put ('ema il ' ,  $ r eq uest- >email) ; 
   re tur nr ed irect (ro ute('pr oducts.pre sen tP aymentMethod s ', ['id' => $ id, 'slug' => $s lug ]));
  }    p ubl ic fu nction presen tPaymentM et h ods(Re q uest $r e q ue st,$id, $slug=null){       $productQ uantit ie s  = Ses sio n::get('pr od uctQu a ntities ' );     return view ('products. r egi strati on ',         [' p rod uctQuantiti es'=> $produ ctQuan t ities,' id' =>$id,'s lug ' = > $s l ug ]) ;
 }
R ou tes : 
Ro ute::pos t( '/ produ ct/{ i d } / {slu g?} /pay ment/ storeUserInfo ',[
  'u ses'=> 'P ayme nt Contr oller@ store Us erInfo',
    'a s'  =>'produ cts .s tor eU serIn f o'
]); 

R out e::get( '/produ c t/{ id } / { sl ug?}/payment/payme nt M e th ods', [    'u s es '= > 'Payme nt Con trol l e r@pre sent P ay mentMeth ods',  ' as'   = >'produ ct s.p res entPa y ment Method s'
]);
jQuer y  to navigatteb etween steps: <s c r ip t  typ e=" text/javasc ript " >
   $( f un cti o n(){     $( ' a.nav-link').on('sh ow .bs.ta b', f unction(e) {         v ar $targ et = $( e .target);
          if (!di v Valid($( '.nav -pills l i a.activ e ' ).prop(' has h') )){
            e. p r even tD efault( );          }  el se
          if ($t ar ge t. pa ren t().h a sClass(' di sab le d') ) {
            e .p re v ent Default ( );         } 
      } );
     $(". next-step "). c lick (f un ction(e ) {
          var $acti ve  =$('.na v - pills li  a.active');
          nextTa b($ activ e);        } );
      $ (".pre v-step ").cl ic k(f u n ction ( e ){
          v a r  $a ctive  =  $(' .nav-pi lls li a.active');            prev Tab ($ac t i ve );    } ) ;
      functionnextTab(el em )  { 
          e le m.paren t().nex t().r e moveCla ss('disab led').fin d( 'a.n a v -li nk').click ();
       }

     f un ction  pr evTab( el em)  {
        elem. parent () .prev( ).fin d( '
name', _$request->name);
 _   _ _Session::put('surname',_ $request->surname);
__  _  _Session::put('email',  $request->email);
 _  __  return redirect(route('products.presentPaymentMethods',['id' => $id,'slug' => $slug]));
    }

  __public function_presentPaymentMethods(Request_$request,_$id, $slug=null){
   _    $productQuantities_= _Session::get('productQuantities');
       _return_view('products.registration',
  _        _['productQuantities' => $productQuantities, 'id' => $id,'slug'_=> $slug]);
 ___}

Routes:
Route::post('/product/{id}/{slug?}/payment/storeUserInfo', [
  _ 'uses' => 'PaymentController@storeUserInfo',
  _ 'as'   =>'products.storeUserInfo'
]);

Route::get('/product/{id}/{slug?}/payment/paymentMethods', [
_   'uses' => 'PaymentController@presentPaymentMethods',
 _  'as'   =>_'products.presentPaymentMethods'
]);

jQuery to navigatte between steps:
<script_type="text/javascript">
 _  $(function(){
  _  _ _$('a.nav-link').on('show.bs.tab', function(e) {
_     _  _  var $target = $(e.target);
__  ___ _  _if_(!divValid($('.nav-pills li_a.active').prop('hash')))_{
     __      _  e.preventDefault();
 __   _    _} else

    _ _ _   if ($target.parent().hasClass('disabled')) {
     _     _   _e.preventDefault();
 __  __ _   }
   _ _  });
   _   _$(".next-step").click(function(e)_{
     _     _var $active = $('.nav-pills li_a.active');
__    _     nextTab($active);
_  _    });

  __    $(".prev-step").click(function(e) {
__     ___  var $active =_$('.nav-pills li a.active');
   _        prevTab($active);
_  _    });

___     function nextTab(elem) {
  _ _  _    elem.parent().next().removeClass('disabled').find('a.nav-link').click();
     _  }

    _   function prevTab(elem) {
     _      elem.parent().prev().find('