Viewing file: 012f75dafde7821c11c986520be857bf1fb8bb75.php (24.15 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php $__env->startSection('title',trans('layout.payment_title')); ?>
<?php $__env->startSection('css'); ?>
<style>
.StripeElement--focus {
box-shadow: 0 1px 3px 0 #cfd7df;
}
.StripeElement--invalid {
border-color: #fa755a;
}
.StripeElement--webkit-autofill {
background-color: #fefde5 !important;
}
</style>
<?php $__env->stopSection(); ?>
<?php $__env->startSection('main-content'); ?>
<div class="row">
<div class="col-lg-12">
<div class="card">
<form action="<?php echo e(route('payment.process')); ?>" method="post" id="payment-form">
<?php echo csrf_field(); ?>
<input type="hidden" name="plan" value="<?php echo e($plan->id); ?>">
<div class="card-body">
<div class="row">
<?php if($plan->cost>0): ?>
<div class="col-xl-7">
<div class="card">
<div class="card-header d-block">
<h4 class="card-title"><?php echo e(trans('layout.payment_method')); ?></h4>
</div>
<div class="card-body">
<!-- Default accordion -->
<div id="accordion-one" class="accordion accordion-primary">
<?php $paymentSetting= json_decode(get_settings('payment_gateway')) ?>
<?php if(isset($paymentSetting->paypal_status) && $paymentSetting->paypal_status=='active'): ?>
<div class="accordion__item">
<div class="accordion__header rounded-lg collapsed"
data-toggle="collapse"
data-target="#default_collapseOne" aria-expanded="false">
<div class="d-none">
<input value="paypal" name="payment_type" type="radio"
id="paypalRadio">
</div>
<span
class="accordion__header--text"><?php echo e(trans('layout.paypal')); ?></span>
</div>
<div id="default_collapseOne" class="accordion__body collapse"
data-parent="#accordion-one"
style="">
<div class="accordion__body--text">
<?php echo e(trans('layout.paypal_des')); ?>
</div>
</div>
</div>
<?php endif; ?>
<?php if(isset($paymentSetting->stripe_status) && $paymentSetting->stripe_status=='active'): ?>
<div class="accordion__item">
<div class="accordion__header collapsed rounded-lg"
data-toggle="collapse"
data-target="#default_collapseTwo">
<div class="d-none">
<input value="card" name="payment_type" type="radio"
id="cardRadio">
</div>
<span
class="accordion__header--text"><?php echo e(trans('layout.credit_or_debit')); ?></span>
</div>
<div id="default_collapseTwo" class="collapse accordion__body"
data-parent="#accordion-one">
<div class="accordion__body--text">
<div id="card-element"
class="border-1-gray p-3 border-radius-1"></div>
<div id="card-errors" role="alert"></div>
</div>
</div>
</div>
<?php endif; ?>
<?php if(isset($paymentSetting->paytm_status) && $paymentSetting->paytm_status=='active'): ?>
<div class="accordion__item">
<div class="accordion__header rounded-lg collapsed"
data-toggle="collapse"
data-target="#paytmSection" aria-expanded="false">
<div class="d-none">
<input value="paytm" name="payment_type" type="radio"
id="paytmRadio">
</div>
<span
class="accordion__header--text"><?php echo e(trans('layout.paytm')); ?></span>
</div>
<div id="paytmSection" class="accordion__body collapse"
data-parent="#accordion-one"
style="">
<div class="accordion__body--text">
<?php echo e(trans('layout.pay_with_paytm')); ?>
</div>
</div>
</div>
<?php endif; ?>
<?php if(isset($paymentSetting->mollie_status) && $paymentSetting->mollie_status=='active'): ?>
<div class="accordion__item">
<div class="accordion__header rounded-lg collapsed"
data-toggle="collapse"
data-target="#mollie_collapseOne" aria-expanded="false">
<div class="d-none">
<input value="mollie" name="payment_type" type="radio"
id="mollieRadio">
</div>
<span
class="accordion__header--text"><?php echo e(trans('layout.mollie')); ?></span>
</div>
<div id="mollie_collapseOne" class="accordion__body collapse"
data-parent="#accordion-one"
style="">
<div class="accordion__body--text">
<?php echo e(trans('layout.pay_with_mollie')); ?>
</div>
</div>
</div>
<?php endif; ?>
<?php if(isset($paymentSetting->paystack_status) && $paymentSetting->paystack_status=='active'): ?>
<div class="accordion__item">
<div class="accordion__header rounded-lg collapsed"
data-toggle="collapse"
data-target="#paystack_collapseOne" aria-expanded="false">
<div class="d-none">
<input value="paystack" name="payment_type" type="radio"
id="paystackRadio">
</div>
<span
class="accordion__header--text"><?php echo e(trans('layout.paystack')); ?></span>
</div>
<div id="paystack_collapseOne" class="accordion__body collapse"
data-parent="#accordion-one"
style="">
<div class="accordion__body--text">
<?php echo e(trans('layout.pay_with_paystack')); ?>
</div>
</div>
</div>
<?php endif; ?>
<?php if(isset($paymentSetting->offline_status) && $paymentSetting->offline_status=='active'): ?>
<div class="accordion__item">
<div class="accordion__header collapsed rounded-lg"
data-toggle="collapse"
data-target="#default_collapseOffline">
<div class="d-none">
<input value="offline" name="payment_type" type="radio"
id="offlineRadio">
</div>
<span
class="accordion__header--text"><?php echo e(trans('layout.offline')); ?></span>
</div>
<div id="default_collapseOffline"
class="collapse accordion__body"
data-parent="#accordion-one">
<div class="accordion__body--text">
<div class="row">
<div class="col-12">
<?php echo clean($paymentSetting->instructions); ?>
</div>
<div class="col-12">
<div class="form-group">
<label
for="reference"><?php echo e(trans('Reference')); ?>*</label>
<input required type="text" name="reference"
class="form-control">
</div>
</div>
</div>
</div>
</div>
</div>
<?php endif; ?>
</div>
</div>
</div>
</div>
<?php endif; ?>
<div class="col-xl-5">
<div class="card-header">
<h4 class="card-title">Plan summary</h4>
</div>
<div class="card-body">
<div class="row">
<div class="col-sm-6">
<ul>
<li><strong><?php echo e(trans('layout.pay_plan_title')); ?></strong></li>
<li><strong><?php echo e(trans('layout.start_date')); ?></strong></li>
<li><strong><?php echo e(trans('layout.expiry_date')); ?></strong></li>
</ul>
</div>
<div class="col-sm-6">
<ul>
<li><?php echo e($plan->title); ?></li>
<li><?php echo e(formatDate(now())); ?></li>
<?php if($plan->recurring_type=='onetime'): ?>
<li><?php echo e(trans('layout.lifetime')); ?></li>
<?php elseif($plan->recurring_type=='weekly'): ?>
<li><?php echo e(formatDate(now()->addWeek())); ?></li>
<?php elseif($plan->recurring_type=='monthly'): ?>
<li><?php echo e(formatDate(now()->addMonth())); ?></li>
<?php elseif($plan->recurring_type=='yearly'): ?>
<li><?php echo e(formatDate(now()->addYear())); ?></li>
<?php endif; ?>
</ul>
</div>
</div>
<hr>
<div class="row">
<div class="col-sm-6">
<ul>
<li><strong><?php echo e(trans('layout.total_cost')); ?></strong></li>
</ul>
</div>
<div class="col-sm-6">
<ul>
<li><?php echo e(formatNumberWithCurrSymbol($plan->cost)); ?></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="card-footer text-right">
<?php if($plan->cost>0): ?>
<button disabled type="submit" id="paynow"
class="btn btn-sm btn-primary"><?php echo e(trans('layout.pay_now')); ?></button>
<?php else: ?>
<button type="submit" id="paynow"
class="btn btn-sm btn-primary"><?php echo e(trans('layout.upgrade')); ?></button>
<?php endif; ?>
</div>
</form>
</div>
</div>
</div>
<?php $__env->stopSection(); ?>
<?php $__env->startSection('js'); ?>
<?php if(isset($paymentSetting->stripe_status) && $paymentSetting->stripe_status=='active'): ?>
<script src="https://js.stripe.com/v3/"></script>
<script !src="">
"use strict";
// Create a Stripe client.
var stripe = Stripe('<?php echo e(get_stripe_publish_key()); ?>');
let clientSecret = '<?php echo e(isset($clientSecret)?$clientSecret:''); ?>';
// Create an instance of Elements.
var elements = stripe.elements();
// 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');
form.addEventListener('submit', function (event) {
event.preventDefault();
var cardRadio = document.getElementById('cardRadio');
if (cardRadio.checked) {
stripe.confirmCardPayment(clientSecret, {
payment_method: {
card: card
}
})
.then(function (result) {
var displayError = document.getElementById('card-errors');
if (result.error) {
// Show error to your customer
displayError.textContent = result.error.message;
} else {
// The payment succeeded!
stripeTokenHandler(result.paymentIntent.id);
}
});
} else {
form.submit();
}
});
// Submit the form with the token ID.
function stripeTokenHandler(token) {
// 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', 'stripeToken');
hiddenInput.setAttribute('value', token);
form.appendChild(hiddenInput);
// Submit the form
form.submit();
}
</script>
<?php endif; ?>
<script>
function checkRadioButton() {
let isOneChecked = false;
let testimonialElements = $('[name="payment_type"]');
for (let i = 0; i < testimonialElements.length; i++) {
let element = testimonialElements.eq(i);
if (element.is(':checked')) {
isOneChecked = true;
break;
}
}
if (isOneChecked)
$('#paynow').removeAttr('disabled');
else
$('#paynow').attr('disabled', 'true');
if ($('[name=payment_type]:checked').val() == 'offline') {
$('#default_collapseOffline input').each(function (index, value) {
$(value).attr('required', 'true');
})
} else {
$('#default_collapseOffline input').each(function (index, value) {
$(value).removeAttr('required');
})
}
$('[name=reference]').removeAttr('required');
}
$('#default_collapseTwo,#default_collapseOne,#default_collapseOffline,#paytmSection,#mollie_collapseOne,#paystack_collapseOne').on('show.bs.collapse', function (e) {
$('[name="payment_type"]').removeAttr('checked');
let type = $(this).parent().find('[name="payment_type"]');
type.attr('checked', 'true');
type.trigger('change');
checkRadioButton();
});
$('#default_collapseTwo,#default_collapseOne,#default_collapseOffline,#paytmSection,#mollie_collapseOne,#paystack_collapseOne').on('hide.bs.collapse', function (e) {
// $('[name="payment_type"]').removeAttr('checked');
let type = $(this).parent().find('[name="payment_type"]');
type.removeAttr('checked');
type.trigger('change');
checkRadioButton();
});
</script>
<?php $__env->stopSection(); ?>
<?php echo $__env->make('layouts.dashboard', \Illuminate\Support\Arr::except(get_defined_vars(), ['__data', '__path']))->render(); ?><?php /**PATH /home/pcolfjqt/qr.picotech.app/resources/views/payment/index.blade.php ENDPATH**/ ?>
|