payment mobile finished
This commit is contained in:
parent
9344a0e1ae
commit
eda2f2e2ef
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
Loading…
Reference in New Issue