Level 4
I added the post-js in the layout file, and it started working
Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.
My pop up form to input payment info is not working rather, it's redirecting and submitting page after i click on the subscribe button.
My View
@extends('layouts.app')
@section('post-js')
<div class="container">
<div class="row">
<div class="col-md-6 col-md-offset-3">
<h3>Subscribe to monthly plan</h3>
<form action="/subscribe" method="POST">
{{csrf_field()}}
<!-- <input type="text" name="coupon"> -->
<script
src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="pk_test_xxxxxxxxxxxxxxxxxxxxxxxx"
data-amount="0"
data-name="Exclusive Fans"
data-description="Subscribe to XclusiveFans"
data-image="https://stripe.com/img/documentation/checkout/marketplace.png"
data-label="Subscribe Now"
data-email="{{ auth()->check()?auth()->user()->email: null}}"
data-panel-label="Pay Monthly"
data-locale="auto">
</script>
</form>
</div>
</div>
</div>
@endsection
My app.blade.php
<!doctype html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- CSRF Token -->
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>Xclusive Fans</title>
<!-- Scripts -->
<script src="{{ asset('js/app.js') }}" defer></script>
<!-- Fonts -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" />
<link rel="dns-prefetch" href="//fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet">
<!--new-->
<link href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/@mdi/[email protected]/css/materialdesignicons.min.css" rel="stylesheet">
<!-- Styles -->
<link href="{{ asset('css/app.css') }}" rel="stylesheet">
</head>
<body>
<div id="app">
<nav class="navbar navbar-expand-md navbar-light bg-white shadow-sm">
<div class="container">
<a class="navbar-brand d-flex" href="{{ url('/') }}">
<div><img src="/images/gallery.svg" style="height:25px; border-right: 1px solid #333333" alt="" class="pr-3"></div>
<div class="pl-3">Xclusive Club</div>
</a>
@hasrole('admin')
<li>
<a href="{{url('/admin/users')}}">
Manage Users
</a>
</li>
@endhasrole
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="{{ __('Toggle navigation') }}">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<!-- Left Side Of Navbar -->
<ul class="navbar-nav mr-auto">
</ul>
<!-- Right Side Of Navbar -->
<ul class="navbar-nav ml-auto">
<!-- Authentication Links -->
@guest
<li class="nav-item">
<a class="nav-link" href="{{ route('login') }}">{{ __('Login') }}</a>
</li>
@if (Route::has('register'))
<li class="nav-item">
<a class="nav-link" href="{{ route('register') }}">{{ __('Register') }}</a>
</li>
@endif
@else
<li class="nav-item">
<a class="nav-link" href="/profile/{{Auth::user()->id}}">{{ __('Profile') }}</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{{ url('my_favorites') }}">My Favorites</a>
</li>
<li class="nav-item dropdown">
<a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre>
{{ Auth::user()->name }} <span class="caret"></span>
</a>
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="{{ route('logout') }}"
onclick="event.preventDefault();
document.getElementById('logout-form').submit();">
{{ __('Logout') }}
</a>
<form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
@csrf
</form>
</div>
</li>
@endguest
</ul>
</div>
</div>
</nav>
<main class="py-4">
@include('partials.alert')
@yield('content')
@yield('post-js')
</main>
</div>
<!-- Scripts -->
<!--<script src="{{ asset('js/app.js') }}"></script>
@yield('scripts') -->
</body>
</html>
My Controller
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class SubscriptionController extends Controller
{
public function index()
{
return view('subscribe');
}
public function store(Request $request)
{
$token =$request->stripeToken;
auth()->user()->newSubscription('main','monthly')->withCoupon($request->coupon)->create($token);
auth()->user()->assignRole('subscriber');
return redirect('/plan');
}
}
My Route
Route::get('/subscribe','SubscriptionController@index');
Route::post('/subscribe','SubscriptionController@store');
I added the post-js in the layout file, and it started working
Please or to participate in this conversation.