payment mobile finished

This commit is contained in:
merdan 2020-01-31 17:13:22 +05:00
parent 9344a0e1ae
commit eda2f2e2ef
3 changed files with 346 additions and 17 deletions

View File

@ -638,12 +638,8 @@ class EventCheckoutController extends Controller
}
public function mobileCheckoutPaymentReturn(Request $request, $event_id){
if ($request->get('is_payment_cancelled') == '1') {
return response()->json(['message'=>'payment_cancelled','status'=>'cancelled']);
}
if(!$request->has('orderId')){
return response()->json(['status'=>'error','message'=>'orderi id not provided'],400);
if ($request->get('is_payment_cancelled') == '1'|| !$request->has('orderId')) {
return view('Bilettm.Mobile.CheckoutFailed');
}
$response = $this->gateway->getPaymentStatus($request->get('orderId'));
@ -651,12 +647,7 @@ class EventCheckoutController extends Controller
if ($response->isSuccessfull()) {
return $this->mobileCompleteOrder($event_id,$request->get('orderId'));
} else {
return response()->json([
'status' => 'fail',
'event_id' => $event_id,
'is_payment_failed' => 1,
'message' => $response->errorMessage()
]);
return view('Bilettm.Mobile.CheckoutFailed');
}
}
@ -948,6 +939,9 @@ class EventCheckoutController extends Controller
$order->order_status_id = config('attendize.order_complete');
$order->is_payment_received = true;
$orderService = new OrderService($order->amount, $order->booking_fee+$order->organiser_booking_fee, $order->event);
$orderService->calculateFinalCosts();
$grand_total = $order->amount + $order->booking_fee + $order->orgenizer_booking_fee + $order->taxamt;
/*
@ -1027,10 +1021,9 @@ class EventCheckoutController extends Controller
Log::error($ex);
DB::rollBack();
return response()->json([
'status' => 'error',
'message' => 'Whoops! There was a problem processing your order. Please try again.'
]);
return view('Bilettm.Mobile.CheckoutFiled',
['message' => 'Whoops! There was a problem processing your order. Please try again.']
);
}
/*
@ -1040,7 +1033,14 @@ class EventCheckoutController extends Controller
Log::info('Firing the event');
event(new OrderCompletedEvent($order));
return response()->json(['status'=>'success','message'=>'payment resived tickets created']);
$data = [
'order' => $order,
'orderService' => $orderService,
'event' => $order->event,
'tickets' => $order->event->tickets,
'is_embedded' => $this->is_embedded,
];
return view('Bilettm.Mobile.CheckoutSuccess', $data);
}
}

View File

@ -0,0 +1,51 @@
<!DOCTYPE html>
<html lang="en">
<head>
<!-- Title -->
<title>Checkout Result Successful</title>
<!-- Required Meta Tags Always Come First -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta http-equiv="x-ua-compatible" content="ie=edge">
{{-- Encrypted CSRF token for Laravel, in order for Ajax requests to work --}}
<meta name="csrf-token" content="{{ csrf_token() }}" />
<!-- CSS Global Compulsory -->
<link rel="stylesheet" href="{{asset('vendor/bootstrap4/bootstrap.min.css')}}">
<!-- CSS Implementing Plugins -->
<link rel="stylesheet" href="{{asset('vendor/icon-awesome/css/font-awesome.min.css')}}">
@yield('after_styles')
<!-- CSS Unify Theme -->
<link rel="stylesheet" href="{{asset('assets/stylesheet/styles.e-commerce.css')}}">
<!-- KMB Custom css -->
<link rel="stylesheet" href='{{asset("assets/stylesheet/custom.css")}}'>
<link rel="stylesheet" href='{{asset("assets/stylesheet/custom_new.css")}}'>
@stack('after_styles')
</head>
<body>
<main>
<section id="intro" class="container">
<div class="row">
<div class="col-md-12 text-center">
<h1 property="name" style="font-weight: bold">{{$event->title}}</h1>
</div>
</div>
</section>
<section id="order_form" class="container">
<h1>Töleg geçmedi. Birsalymdan gaýtadan synanşyp görüň! {{$message}}</h1>
</section>
</main>
<!-- JS Global Compulsory -->
<script src="{{asset('assets/javascript/jquery/jquery.min.js')}}"></script>
<script src="{{asset('vendor/bootstrap4/bootstrap.min.js')}}"></script>
</body>

View File

@ -0,0 +1,278 @@
<!DOCTYPE html>
<html lang="en">
<head>
<!-- Title -->
<title>Checkout Result Successful</title>
<!-- Required Meta Tags Always Come First -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta http-equiv="x-ua-compatible" content="ie=edge">
{{-- Encrypted CSRF token for Laravel, in order for Ajax requests to work --}}
<meta name="csrf-token" content="{{ csrf_token() }}" />
<!-- CSS Global Compulsory -->
<link rel="stylesheet" href="{{asset('vendor/bootstrap4/bootstrap.min.css')}}">
<!-- CSS Implementing Plugins -->
<link rel="stylesheet" href="{{asset('vendor/icon-awesome/css/font-awesome.min.css')}}">
@yield('after_styles')
<!-- CSS Unify Theme -->
<link rel="stylesheet" href="{{asset('assets/stylesheet/styles.e-commerce.css')}}">
<!-- KMB Custom css -->
<link rel="stylesheet" href='{{asset("assets/stylesheet/custom.css")}}'>
<link rel="stylesheet" href='{{asset("assets/stylesheet/custom_new.css")}}'>
@stack('after_styles')
</head>
<body>
<main>
<section id="intro" class="container">
<div class="row">
<div class="col-md-12 text-center">
<h1 property="name" style="font-weight: bold">{{$event->title}}</h1>
</div>
</div>
</section>
<section id="order_form" class="container">
<div class="row">
<div class="col-md-12 order_header">
<span class="massive-icon">
<i class="ico ico-checkmark-circle"></i>
</span>
<h1>@lang("Public_ViewEvent.thank_you_for_your_order")</h1>
<h2>
@lang("Public_ViewEvent.your")
<a class="ticket_download_link"
href="{{ route('showOrderTickets', ['order_reference' => $order->order_reference] ).'?download=1' }}">
@lang("Public_ViewEvent.tickets") </a> @lang("Public_ViewEvent.confirmation_email")
</h2>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="content event_view_order">
@if($event->post_order_display_message)
<div class="alert alert-dismissable alert-info">
{{ nl2br(e($event->post_order_display_message)) }}
</div>
@endif
<div class="order_details well">
<div class="row">
<div class="col-4">
<b>@lang("Public_ViewEvent.first_name")</b><br> {{$order->first_name}}
</div>
<div class="col-4">
<b>@lang("Public_ViewEvent.last_name")</b><br> {{$order->last_name}}
</div>
<div class="col-4">
<b>@lang("Public_ViewEvent.amount")</b><br> {{$order->event->currency_symbol}}{{number_format($order->total_amount, 2)}}
@if($event->organiser->charge_tax)
<small>{{ $orderService->getVatFormattedInBrackets() }}</small>
@endif
</div>
<div class="col-4">
<b>@lang("Public_ViewEvent.reference")</b><br> {{$order->order_reference}}
</div>
<div class="col-4">
<b>@lang("Public_ViewEvent.date")</b><br> {{$order->created_at->toDateTimeString()}}
</div>
<div class="col-4">
<b>@lang("Public_ViewEvent.email")</b><br> {{$order->email}}
</div>
</div>
</div>
@if(!$order->is_payment_received)
<h3>
@lang("Public_ViewEvent.payment_instructions")
</h3>
<div class="alert alert-info">
@lang("Public_ViewEvent.order_awaiting_payment")
</div>
<div class="offline_payment_instructions well">
{!! Markdown::parse($event->offline_payment_instructions) !!}
</div>
@endif
<h3 class="mt-4">
@lang("Public_ViewEvent.order_items")
</h3>
<div class="table-responsive">
<table class="table table-hover table-bordered">
<thead>
<tr>
<th>
@lang("Public_ViewEvent.ticket")
</th>
<th>
@lang("Public_ViewEvent.quantity_full")
</th>
<th>
@lang("Public_ViewEvent.price")
</th>
<th>
@lang("Public_ViewEvent.booking_fee")
</th>
<th>
@lang("Public_ViewEvent.total")
</th>
</tr>
</thead>
<tbody>
@foreach($order->orderItems as $order_item)
<tr>
<td>
{{$order_item->title}}
</td>
<td>
{{$order_item->quantity}}
</td>
<td>
@if((int)ceil($order_item->unit_price) == 0)
@lang("Public_ViewEvent.free")
@else
{{money($order_item->unit_price, $order->event->currency)}}
@endif
</td>
<td>
@if((int)ceil($order_item->unit_price) == 0)
-
@else
{{money($order_item->unit_booking_fee, $order->event->currency)}}
@endif
</td>
<td>
@if((int)ceil($order_item->unit_price) == 0)
@lang("Public_ViewEvent.free")
@else
{{money(($order_item->unit_price + $order_item->unit_booking_fee) * ($order_item->quantity), $order->event->currency)}}
@endif
</td>
</tr>
@endforeach
@if($event->organiser->charge_tax)
<tr>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
{{$event->organiser->tax_name}}
</td>
<td colspan="2">
{{ $orderService->getTaxAmount(true) }}
</td>
</tr>
@endif
<tr>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
<b>@lang("Public_ViewEvent.total")</b>
</td>
<td colspan="2">
{{ $orderService->getGrandTotal(true) }}
</td>
</tr>
@if($order->is_refunded || $order->is_partially_refunded)
<tr>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
<b>@lang("Public_ViewEvent.refunded_amount")</b>
</td>
<td colspan="2">
{{money($order->amount_refunded, $order->event->currency)}}
</td>
</tr>
<tr>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
<b>@lang("Public_ViewEvent.total")</b>
</td>
<td colspan="2">
{{money($order->total_amount - $order->amount_refunded, $order->event->currency)}}
</td>
</tr>
@endif
</tbody>
</table>
</div>
<h3>
@lang("Public_ViewEvent.order_attendees")
</h3>
<div class="table-responsive">
<table class="table table-hover table-striped">
<tbody>
@foreach($order->attendees as $attendee)
<tr>
<td>
{{$attendee->first_name}}
{{$attendee->last_name}}
(<a href="mailto:{{$attendee->email}}">{{$attendee->email}}</a>)
</td>
<td>
{{{$attendee->ticket->title}}}
</td>
<td>{{$attendee->seat_no}}</td>
<td>
@if($attendee->is_cancelled)
@lang("Public_ViewEvent.attendee_cancelled")
@endif
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
</section>
</main>
<!-- JS Global Compulsory -->
<script src="{{asset('assets/javascript/jquery/jquery.min.js')}}"></script>
<script src="{{asset('vendor/bootstrap4/bootstrap.min.js')}}"></script>
</body>