| Current Path : /home/users/unlimited/www/whatsjet-saas/Source/resources/views/vendor/ |
| Current File : /home/users/unlimited/www/whatsjet-saas/Source/resources/views/vendor/subscription.blade.php |
@extends('layouts.app', ['title' => __tr('My Subscription')])
@section('content')
@include('users.partials.header', [
'title' => __tr('My Subscription'),
'description' => '',
'class' => 'col-lg-7'
])
<?php $isExtendedLicence = (getAppSettings('product_registration', 'licence') === 'dee257a8c3a2656b7d7fbe9a91dd8c7c41d90dc9'); ?>
@if(isset($message))
<div class="container">
<div class="alert alert-danger">
{{ $message }}
</div>
</div>
@else
@php
$subscriptionPlans = getAppSettings('subscription_plans');
$isManualSubscription = $currentSubscription?->plan_id ? true : false;
$isCashierSubscription = $currentSubscription?->stripe_status ? true : false;
$hasPlansForPurchase = false;
foreach ($planStructure as $planKey => $plan) {
$plan = $planDetails[$planKey];
if (!$plan['enabled']) {
continue;
}
$hasPlansForPurchase = true;
break;
}
@endphp
<div class="container-fluid pb-5">
<div class="row">
<div class="col-xl-12">
@if ($errors->any())
<div class="alert alert-danger">
@foreach ($errors->all() as $error)
{{ $error }}
@endforeach
</div>
@endif
@if(getAppSettings('enable_stripe') and !$isValidStripeKeys)
<div class="alert alert-danger">
{{ __tr('Stripe is not correctly configured, Invalid Keys. Please contact administrator') }}
</div>
@endif
<div class="card mb-4">
<div class="card-body">
@if (request('success') == true and request('message'))
<div class="alert alert-success">
{{ request('message') }}
</div>
@elseif(request('message'))
<div class="alert alert-warning">
{{ request('message') }}
</div>
@endif
@if ($currentPlan and ($isManualSubscription or $subscriber->subscribed($currentPlan['id'])))
@if ($subscriber->subscription($currentPlan['id'])?->onTrial())
<div class="alert alert-warning">
{{ __tr('You are on trial until __trialEndsAt__', [
'__trialEndsAt__' => formatDateTime($subscriber->trialEndsAt($currentPlan['id']))
]) }}
</div>
@endif
@if ($subscriber->subscription($currentPlan['id'])?->onGracePeriod())
<div class="alert alert-warning">
{{ __tr('Subscription has been cancelled and you are on the grace period till __endsAt__', [
'__endsAt__' => formatDateTime($subscriber->subscription($currentPlan['id'])->ends_at)
]) }}
</div>
@endif
<fieldset class="mb-4">
<legend>{{ __tr('Current Plan') }}</legend>
<h2 class="text-primary">{{ $planDetails[$currentPlan['id']]['title'] }}</h2>
@foreach ($planStructure[$currentPlan['id']]['features'] as $featureKey => $featureValue)
@php
$structureFeatureValue = $featureValue;
$featureValue = $planDetails[$currentPlan['id']]['features'][$featureKey];
@endphp
<div class="my-2">
@if (isset($featureValue['type']) and ($featureValue['type'] == 'switch'))
@if (isset($featureValue['limit']) and $featureValue['limit'])
<i class="fa fa-check mr-2 text-success"></i>
@else
<i class="fa fa-times mr-2 text-danger"></i>
@endif
{{ ($structureFeatureValue['description']) }}
@else
<i class="fa fa-check text-success mr-2"></i>
@if (isset($featureValue['limit']) and $featureValue['limit'] < 0)
{{ __tr('Unlimited') }}
@elseif(isset($featureValue['limit']))
{{ $featureValue['limit'] }}
@endif
{{ ($structureFeatureValue['description']) }}
@if(isset($featureValue['limit_duration_title']))
{{ ($featureValue['limit_duration_title']) }}
@endif
@endif
</div>
@endforeach
@if($currentSubscription->charges)
<label class="my-3 text-primary">
{{ formatAmount($currentSubscription->charges, true) }} / {{ $planDetails[$currentPlan['id']]['charges'][$currentSubscription->charges_frequency]['title'] ?? $currentSubscription->charges_frequency ?? '' }}
</label>
@else
@foreach ($planDetails[$currentPlan['id']]['charges'] as $itemKey => $itemValue)
@if ($planSelectorId === $currentPlan['id'] . '___' . $itemKey)
<label class="my-3 text-primary">
{{ formatAmount($itemValue['charge'], true) }} /
{{ $itemKey }}
</label>
@endif
@endforeach
@endif
</fieldset>
@if ($currentSubscription->ends_at ?? null)
<h4 class="text-orange">{{ __tr('Expiry Date: __expiryDate__', [
'__expiryDate__' => formatDate($currentSubscription->ends_at)
]) }}</h4>
@endif
@if ($isCashierSubscription and !$subscriber->subscription($currentPlan['id'])?->canceled())
<a data-show-processing="true" class="lw-ajax-link-action btn btn-danger" href="{{ route('subscription.write.cancel') }}">
{{ __tr('Cancel Subscription') }}
</a>
@endif
@else
@if ($freePlanDetails['enabled'])
<fieldset class="mb-4">
<legend>{{ __tr('Current Plan') }}</legend>
<h2 class="text-primary">{{ $freePlanDetails['title'] }}</h2>
@foreach ($freePlanStructure['features'] as $featureKey => $featureValue)
@php
$structureFeatureValue = $featureValue;
$featureValue = $freePlanDetails['features'][$featureKey];
@endphp
<div class="my-2">
@if (isset($featureValue['type']) and ($featureValue['type'] == 'switch'))
@if (isset($featureValue['limit']) and $featureValue['limit'])
<i class="fa fa-check mr-2 text-success"></i>
@else
<i class="fa fa-times mr-2 text-danger"></i>
@endif
{{ ($structureFeatureValue['description']) }}
@else
<i class="fa fa-check text-success mr-2"></i>
@if (isset($featureValue['limit']) and $featureValue['limit'] < 0)
{{ __tr('Unlimited') }}
@elseif(isset($featureValue['limit']))
{{ $featureValue['limit'] }}
@endif
{{ ($structureFeatureValue['description']) }}
@if(isset($featureValue['limit_duration_title']))
{{ ($featureValue['limit_duration_title']) }}
@endif
@endif
</div>
@endforeach
</fieldset>
@else
<div class="alert alert-warning">
{{ __tr('There are no active plan') }}
</div>
@endif
@endif
@if(getAppSettings('enable_stripe') and $isValidStripeKeys and $isCashierSubscription)
<a class="btn btn-default" href="{{ route('subscription.read.billing_portal') }}">
{{ __tr('Go to Billing Portal') }}
</a>
@if ($currentPlan and $isCashierSubscription and $subscriber->subscription($currentPlan['id']) and $subscriber->subscription($currentPlan['id'])->canceled() and $subscriber->subscription($currentPlan['id'])->onGracePeriod())
<a data-show-processing="true" class="lw-ajax-link-action btn btn-success"
href="{{ route('subscription.write.resume') }}">
{{ __tr('Resume Subscription') }}
</a>
<div class="note text-muted my-2">
{{ __tr('You will be able to resume subscription while on grace period') }}</div>
@endif
@if ($currentPlan and $isCashierSubscription and $subscriber->hasIncompletePayment($currentPlan['id']))
<div>
<a data-show-processing="true" class="lw-ajax-link-action btn btn-primary"
href="{{ route('cashier.payment', $subscriber->latestPayment()->id) }}">
{{ __tr('Please confirm your payment.') }}
</a>
</div>
@endif
@endif
</div>
</div>
@if ($currentPlan and $hasPlansForPurchase)
<div class="card">
<div class="card-header">
{{ __tr('Change Plan') }}
</div>
<div class="card-body" x-data="{selectedPlanFrequencyNew:null}">
<div class="row">
@foreach ($planStructure as $planKey => $plan)
@php
$planId = $plan['id'];
$features = $plan['features'];
$plan = $planDetails[$planKey];
if (!$plan['enabled']) {
continue;
}
@endphp
<div class="col-xl-4 col-sm-12">
<fieldset class="">
<legend>{{ $plan['title'] }}</legend>
@foreach ($features as $featureKey => $featureValue)
@php
$structureFeatureValue = $featureValue;
$featureValue = $planDetails[$planKey]['features'][$featureKey];
@endphp
<div class="my-2">
@if (isset($featureValue['type']) and ($featureValue['type'] == 'switch'))
@if (isset($featureValue['limit']) and $featureValue['limit'])
<i class="fa fa-check mr-2 text-success"></i>
@else
<i class="fa fa-times mr-2 text-danger"></i>
@endif
{{ ($structureFeatureValue['description']) }}
@else
<i class="fa fa-check text-success mr-2"></i>
@if (isset($featureValue['limit']) and $featureValue['limit'] < 0)
{{ __tr('Unlimited') }}
@elseif(isset($featureValue['limit']))
{{ $featureValue['limit'] }}
@if(isset($featureValue['limit_duration']))
{{ ($featureValue['limit_duration']) }}
@endif
@endif
{{ ($structureFeatureValue['description']) }}
@endif
</div>
@endforeach
<div class="text-lg mt-4">
@foreach ($plan['charges'] as $itemKey => $itemValue)
@php
if(!$itemValue['enabled']) {
continue;
}
@endphp
@if ($planSelectorId !== $planId . '___' . $itemKey)
<div class="form-group my-2 text-primary">
<label class="control-label" for="{{ $planId }}{{ $itemKey }}">
<input x-model="selectedPlanFrequencyNew" class="form-control-radio" type="radio" name="plan"
id="{{ $planId }}{{ $itemKey }}"
value="{{ $planId }}___{{ $itemKey }}">
{{ formatAmount($itemValue['charge'], true) }} /
{{ $planStructure[$planId]['charges'][$itemKey]['title'] ?? $itemKey }}
</label>
</div>
@endif
@endforeach
</div>
</fieldset>
</div>
@endforeach
</div>
@if ($isCashierSubscription && getAppSettings('enable_stripe') and $isValidStripeKeys)
<form class="lw-ajax-form" data-show-processing="true" action="{{ route('subscription.write.change') }}" method="post">
@csrf
<input type="hidden" name="plan" x-model="selectedPlanFrequencyNew">
<button value="stripe" type="submit" class="mt-4 btn btn-primary">
{{ __tr('Change Plan') }}
</button>
</form>
@else
@if (getAppSettings('enable_upi_payment') or getAppSettings('enable_bank_transfer'))
<fieldset>
<!-- ---------- This form for when change Subscription -------------- -->
<legend>{{ __tr('Manual/Prepaid Subscription') }}</legend>
@if ($existingManualSubscriptionPendingRequest)
<div class="alert alert-danger my-5">
{{ __tr('Your already have pending request for manual subscription change, please wait once it get confirmed') }}
</div>
@else
<form action="{{ route('vendor.subscription_manual_pay') }}" method="post" id="manual-pay-form">
@csrf
{{-- managed value using alpine --}}
<input type="hidden" name="selected_plan" x-model="selectedPlanFrequencyNew">
{{-- paypal payment button --}}
@if (getAppSettings('enable_paypal'))
<label for="lPaypalPaymentOption" class="mr-4"><h3><input type="radio" id="lPaypalPaymentOption" name="payment_method" value="paypal"><img height="100" src="{{ asset('imgs/pay_pal.png') }}"> </h3></label>
@endif
{{-- /paypal payment button --}}
{{-- razorpay payment button --}}
@if (getAppSettings('enable_razorpay'))
<label for="lwRazorpayPaymentOption" class="mr-4"><h3><input type="radio" id="lwRazorpayPaymentOption" name="payment_method" value="razorpay"><img height="40" src="{{ asset('imgs/razorpay.png') }}"> </h3></label>
@endif
{{-- /razorpay payment button --}}
{{-- UPI payment button --}}
@if (getAppSettings('enable_upi_payment'))
<label for="lwUpiPaymentOption" class="mr-4"><h3><input type="radio" id="lwUpiPaymentOption" name="payment_method" value="upi"> {{ __tr('Pay with any UPI') }} <img height="100" src="{{ asset('imgs/upi-icon.png') }}"> </h3></label>
@endif
{{-- /UPI payment button --}}
{{-- bank transfer payment button --}}
@if (getAppSettings('enable_bank_transfer'))
<label for="lwBankTransferPaymentOption" class="mr-4"><h3><input type="radio" id="lwBankTransferPaymentOption" name="payment_method" value="bank_transfer"> {{ __tr('Pay with Bank Transfer') }} <img height="100" src="{{ asset('imgs/bank-transfer.svg') }}"> </h3></label>
@endif
{{-- /bank transfer payment button --}}
{{-- paystack payment button --}}
@if (getAppSettings('enable_paystack'))
<label for="lwPaystackPaymentOption" class="mr-4"><h3><input type="radio" id="lwPaystackPaymentOption" name="payment_method" value="paystack"> <img height="100" src="{{ asset('imgs/paystack-icon.png') }}"></h3></label>
@endif
{{-- yoomoney payment button --}}
@if (getAppSettings('enable_yoomoney'))
<label for="lwYooMoneyPaymentOption" class="mr-4"><h3><input type="radio" id="lwYooMoneyPaymentOption" name="payment_method" value="yoomoney"><img height="90" width="90" src="{{ asset('imgs/yoomoney.png') }}"> </h3></label>
@endif
{{-- /yoomoney payment button --}}
<div class="my-3">
<hr>
<button type="submit" class="btn btn-primary btn-lg " href="">{{ __tr('Continue') }}</button>
</div>
</form>
@endif
<!-- ----------/change Subscription -------------- -->
</fieldset>
@endif
@endif
</div>
</div>
@endif
@if (!$currentPlan)
<div class="card">
<div class="card-header">
{{ __tr('Subscribe Paid Plans') }}
</div>
<div class="card-body py-0" x-data="{selectedPlanFrequencyNew:null}">
<div class="form-group">
<div class="mb-4 row">
@foreach ($planStructure as $planKey => $plan)
@php
$planId = $plan['id'];
$features = $plan['features'];
$charges = $planDetails[$planKey]['charges'];
if (!$planDetails[$planKey]['enabled']) {
continue;
}
@endphp
<div class="col-xl-4 col-sm-12">
<fieldset class="">
<legend>{{ $planDetails[$planKey]['title'] }}</legend>
@foreach ($features as $featureKey => $featureValue)
@php
$featureValue = $planDetails[$planKey]['features'][$featureKey];
@endphp
<div class="my-2">
@if (isset($featureValue['type']) and ($featureValue['type'] == 'switch'))
@if (isset($featureValue['limit']) and $featureValue['limit'])
<i class="fa fa-check mr-2 text-success"></i>
@else
<i class="fa fa-times mr-2 text-danger"></i>
@endif
{{ ($featureValue['description']) }}
@else
<i class="fa fa-check text-success mr-2"></i>
@if (isset($featureValue['limit']) and $featureValue['limit'] < 0)
{{ __tr('Unlimited') }}
@elseif(isset($featureValue['limit']))
{{ $featureValue['limit'] }}
@if(isset($featureValue['limit_duration']))
{{ ($featureValue['limit_duration']) }}
@endif
@endif
{{ ($featureValue['description']) }}
</div>
@endif
@endforeach
<div class="text-lg mt-4">
@foreach ($charges as $itemKey => $itemValue)
@php
if(!$itemValue['enabled']) {
continue;
}
@endphp
@if ($planSelectorId !== $planId . '___' . $itemKey)
<div class="my-2 text-primary">
<input x-model="selectedPlanFrequencyNew" type="radio" name="plan"
id="{{ $planId }}{{ $itemKey }}"
value="{{ $planId }}___{{ $itemKey }}">
<label for="{{ $planId }}{{ $itemKey }}">
{{ formatAmount($itemValue['charge'], true) }} / {{ $planStructure[$planId]['charges'][$itemKey]['title'] ?? $itemKey }}
</div>
@endif
@endforeach
</div>
</fieldset>
</div>
@endforeach
</div>
@if($hasPlansForPurchase)
@if ($existingManualSubscriptionPendingRequest)
<div class="alert alert-danger my-5">
{{ __tr('Your already have pending request for manual subscription, please wait once it get confirmed') }}
</div>
@else
@if (getAppSettings('enable_stripe') and $isValidStripeKeys)
<fieldset>
<legend for="card-element">
<i class="fab fa-cc-stripe"></i> {{ __tr('Auto Subscription - Credit or Debit card') }}
</legend>
<form action="{{ route('subscription.write.create') }}" method="post" id="payment-form" data-secret="{{ $intent->client_secret }}">
@csrf
{{-- managed value using alpine --}}
<input type="hidden" name="plan" x-model="selectedPlanFrequencyNew">
<div id="card-element" class="rounded d-block mb-3 border p-3 col-sm-6 bg-white">
<!-- A Stripe Element will be inserted here. -->
</div>
<!-- Used to display form errors. -->
<div id="card-errors" role="alert" class="alert alert-danger d-none"></div>
<button type="submit" class="mt-4 btn btn-primary">
{{ __tr('Subscribe Now') }}
</button>
</form>
</fieldset>
@endif
<fieldset>
<!-- ----------- This form for New Subscription ------------- -->
<legend>{{ __tr('Manual/Prepaid Subscription') }}</legend>
@if($isExtendedLicence)
<form action="{{ route('vendor.subscription_manual_pay') }}" method="post" id="manual-pay-form">
@csrf
{{-- managed value using alpine --}}
<input type="hidden" name="selected_plan" x-model="selectedPlanFrequencyNew">
{{-- paypal payment button --}}
@if (getAppSettings('enable_paypal'))
<label for="lPaypalPaymentOption" class="mr-4"><h3><input type="radio" id="lPaypalPaymentOption" name="payment_method" value="paypal"><img height="100" src="{{ asset('imgs/pay_pal.png') }}"> </h3></label>
@endif
{{-- /paypal payment button --}}
{{-- razorpay payment button --}}
@if (getAppSettings('enable_razorpay'))
<label for="lwRazorpayPaymentOption" class="mr-4"><h3><input type="radio" id="lwRazorpayPaymentOption" name="payment_method" value="razorpay"><img height="40" src="{{ asset('imgs/razorpay.png') }}"> </h3></label>
@endif
{{-- /razorpay payment button --}}
{{-- UPI payment button --}}
@if (getAppSettings('enable_upi_payment'))
<label for="lwUpiPaymentOption" class="mr-4"><h3><input type="radio" id="lwUpiPaymentOption" name="payment_method" value="upi"> {{ __tr('Pay with any UPI') }} <img height="100" src="{{ asset('imgs/upi-icon.png') }}"> </h3></label>
@endif
{{-- /UPI payment button --}}
{{-- bank transfer payment button --}}
@if (getAppSettings('enable_bank_transfer'))
<label for="lwBankTransferPaymentOption" class="mr-4"><h3><input type="radio" id="lwBankTransferPaymentOption" name="payment_method" value="bank_transfer"> {{ __tr('Pay with Bank Transfer') }} <img height="100" src="{{ asset('imgs/bank-transfer.svg') }}"> </h3></label>
@endif
{{-- /bank transfer payment button --}}
{{-- bank transfer payment button --}}
@if (getAppSettings('enable_paystack'))
<label for="lwPaystackPaymentOption" class="mr-4"><h3><input type="radio" id="lwPaystackPaymentOption" name="payment_method" value="paystack"><img src="{{ asset('imgs/paystack-icon.png') }}" height="100"> </h3></label>
@endif
{{-- /bank transfer payment button --}}
{{-- yoomoney payment button --}}
@if (getAppSettings('enable_yoomoney'))
<label for="lwYooMoneyPaymentOption" class="mr-4"><h3><input type="radio" id="lwYooMoneyPaymentOption" name="payment_method" value="yoomoney"><img height="90" width="90" src="{{ asset('imgs/yoomoney.png') }}"> </h3></label>
@endif
{{-- /yoomoney payment button --}}
<div class="my-3">
<hr>
<button type="submit" class="btn btn-primary btn-lg " href="">{{ __tr('Continue') }}</button>
</div>
</form>
@else
<div class="alert alert-light">
{{ __tr('Not available, please contact administrator') }}
</div>
@endif
<!-- ----------/New Subscription ------------- -->
</fieldset>
@endif
@else
<div class="alert alert-warning">
{{ __tr('No plans to subscribe') }}
</div>
@endif
</div>
</div>
</div>
@endif
@if (getAppSettings('enable_stripe') and getAppSettings('stripe_enable_invoice_list') and $isValidStripeKeys)
<div class="card mt-4">
<div class="card-header">
{{ __tr('Stripe Invoices') }}
</div>
<div class="card-body">
<div class="table-responsive">
<table class="table mt-4 table-striped" id="invoicesTable">
<thead>
<tr>
<th>{{ __tr('Number') }}</th>
<th>{{ __tr('Date') }}</th>
<th>{{ __tr('Total') }}</th>
<th>{{ __tr('Invoice Download') }}</th>
</tr>
</thead>
<tbody>
@foreach ($invoices as $invoice)
<tr>
<td>{{ $invoice->number }}</td>
<td>{{ $invoice->date()->toDayDateTimeString() }}</td>
<td>{{ $invoice->total() }}</td>
<td><a
href="{{ route('subscription.read.download_invoice', [$invoice->id]) }}">{{ __tr('Download') }}</a>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
@endif
</div>
</div>
</div>
@endif
@endsection
@if(!isset($message))
@push('appScripts')
<script>
$(document).ready(function() {
'use strict';
$('#invoicesTable').DataTable({
ajax:false,
serverSide: false,
// "ordering": false,
"order": [[ 1, "desc" ]],
processing: false,
formatNumber: function (numberValue) {
return __Utils.formatAsLocaleNumber(numberValue);
},
});
} );
</script>
@if(getAppSettings('enable_stripe') and $isValidStripeKeys and !$existingManualSubscriptionPendingRequest)
@if(!$currentPlan and $hasPlansForPurchase)
<script src="https://js.stripe.com/v3/"></script>
@endif
<script>
(function(){
'use strict';
@if(!$currentPlan and $hasPlansForPurchase)
var stripe = Stripe('{{ config("cashier.key") }}');
// Create an instance of Elements.
var elements = stripe.elements({locale: '{{ app()->getLocale() }}'});
// Custom styling can be passed to options when creating an Element.
// (Note that this demo uses a wider set of styles than the guide below.)
var style = {
base: {
color: '#32325d',
fontFamily: '"Helvetica Neue", Helvetica, sans-serif',
fontSmoothing: 'antialiased',
fontSize: '16px',
'::placeholder': {
color: '#aab7c4'
}
},
invalid: {
color: '#fa755a',
iconColor: '#fa755a'
}
};
// Create an instance of the card Element.
var card = elements.create('card', {
style: style
});
// Add an instance of the card Element into the `card-element` <div>.
card.mount('#card-element');
// Handle real-time validation errors from the card Element.
card.on('change', function(event) {
var displayError = document.getElementById('card-errors');
if (event.error) {
displayError.textContent = event.error.message;
} else {
displayError.textContent = '';
}
});
// Handle form submission.
var form = document.getElementById('payment-form'),
cardHolderName = document.getElementById('cardholder-name'),
clientSecret = form.dataset.secret;
form.addEventListener('submit', async function(event) {
event.preventDefault();
if ($(form).serializeArray().length < 2) {
showWarnMessage('{{ __tr('Please select plan first') }}');
return;
}
// check if has required information
@if (!getVendorSettings('city') or !getVendorSettings('country_code') or !getVendorSettings('address') or !getVendorSettings('postal_code') or !getVendorSettings('state') or !getVendorSettings('contact_email') or !getVendorSettings('contact_phone'))
showAlert("{{ __tr('Please check that you have fulfilled business information in General settings like address, city etc') }}", 'error');
__Utils.throwError("{{ __tr('Missing business information.') }}");
@endif
const {
setupIntent,
error
} = await stripe.confirmCardSetup(
clientSecret, {
payment_method: {
card,
billing_details: {
"address": {
"city": "{{ getVendorSettings('city') }}",
"country": "{{ getVendorSettings('country_code') }}",
"line1": "{{ getVendorSettings('address') }}",
// "line2": null,
"postal_code": "{{ getVendorSettings('postal_code') }}",
"state": "{{ getVendorSettings('state') }}"
},
"email": "{{ getVendorSettings('contact_email') }}",
name: "{{ getUserAuthInfo('profile.full_name') }}",
"phone": "{{ getVendorSettings('contact_phone') }}"
}
}
}
);
if (error) {
// Inform the user if there was an error.
var errorElement = document.getElementById('card-errors');
errorElement.textContent = error.message;
showAlert(error.message, "error");
} else {
// Send the token to your server.
stripeTokenHandler(setupIntent);
}
});
// Submit the form with the token ID.
function stripeTokenHandler(setupIntent) {
// Insert the token ID into the form so it gets submitted to the server
var form = document.getElementById('payment-form');
var hiddenInput = document.createElement('input');
hiddenInput.setAttribute('type', 'hidden');
hiddenInput.setAttribute('name', 'paymentMethod');
hiddenInput.setAttribute('value', setupIntent.payment_method);
form.appendChild(hiddenInput);
// Submit the form
form.submit();
}
@endif
})();
</script>
@endif
@endpush
@endif