From eda2f2e2ef9cde3fe4c28a29c6f51ef37a206495 Mon Sep 17 00:00:00 2001 From: merdan Date: Fri, 31 Jan 2020 17:13:22 +0500 Subject: [PATCH] payment mobile finished --- .../Controllers/EventCheckoutController.php | 34 +-- .../Bilettm/Mobile/CheckoutFailed.blade.php | 51 ++++ .../Bilettm/Mobile/CheckoutSuccess.blade.php | 278 ++++++++++++++++++ 3 files changed, 346 insertions(+), 17 deletions(-) create mode 100644 resources/views/Bilettm/Mobile/CheckoutFailed.blade.php create mode 100644 resources/views/Bilettm/Mobile/CheckoutSuccess.blade.php diff --git a/app/Http/Controllers/EventCheckoutController.php b/app/Http/Controllers/EventCheckoutController.php index f43b8fbd..7a952d7c 100644 --- a/app/Http/Controllers/EventCheckoutController.php +++ b/app/Http/Controllers/EventCheckoutController.php @@ -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); } } diff --git a/resources/views/Bilettm/Mobile/CheckoutFailed.blade.php b/resources/views/Bilettm/Mobile/CheckoutFailed.blade.php new file mode 100644 index 00000000..f333a64b --- /dev/null +++ b/resources/views/Bilettm/Mobile/CheckoutFailed.blade.php @@ -0,0 +1,51 @@ + + + + + Checkout Result Successful + + + + + + {{-- Encrypted CSRF token for Laravel, in order for Ajax requests to work --}} + + + + + + + @yield('after_styles') + + + + + + + + + @stack('after_styles') + + + + + +
+
+
+
+

{{$event->title}}

+
+
+
+
+ +

Töleg geçmedi. Birsalymdan gaýtadan synanşyp görüň! {{$message}}

+
+ +
+ + + + + diff --git a/resources/views/Bilettm/Mobile/CheckoutSuccess.blade.php b/resources/views/Bilettm/Mobile/CheckoutSuccess.blade.php new file mode 100644 index 00000000..475c91c2 --- /dev/null +++ b/resources/views/Bilettm/Mobile/CheckoutSuccess.blade.php @@ -0,0 +1,278 @@ + + + + + Checkout Result Successful + + + + + + {{-- Encrypted CSRF token for Laravel, in order for Ajax requests to work --}} + + + + + + + @yield('after_styles') + + + + + + + + + @stack('after_styles') + + + + + +
+
+
+
+

{{$event->title}}

+
+
+
+
+
+
+ + + +

@lang("Public_ViewEvent.thank_you_for_your_order")

+

+ @lang("Public_ViewEvent.your") + + @lang("Public_ViewEvent.tickets") @lang("Public_ViewEvent.confirmation_email") +

+
+
+ +
+
+
+ + @if($event->post_order_display_message) +
+ {{ nl2br(e($event->post_order_display_message)) }} +
+ @endif + +
+
+
+ @lang("Public_ViewEvent.first_name")
{{$order->first_name}} +
+ +
+ @lang("Public_ViewEvent.last_name")
{{$order->last_name}} +
+ +
+ @lang("Public_ViewEvent.amount")
{{$order->event->currency_symbol}}{{number_format($order->total_amount, 2)}} + @if($event->organiser->charge_tax) + {{ $orderService->getVatFormattedInBrackets() }} + @endif +
+ +
+ @lang("Public_ViewEvent.reference")
{{$order->order_reference}} +
+ +
+ @lang("Public_ViewEvent.date")
{{$order->created_at->toDateTimeString()}} +
+ +
+ @lang("Public_ViewEvent.email")
{{$order->email}} +
+
+
+ + + @if(!$order->is_payment_received) +

+ @lang("Public_ViewEvent.payment_instructions") +

+
+ @lang("Public_ViewEvent.order_awaiting_payment") +
+
+ {!! Markdown::parse($event->offline_payment_instructions) !!} +
+ + @endif + +

+ @lang("Public_ViewEvent.order_items") +

+ +
+ + + + + + + + + + + + @foreach($order->orderItems as $order_item) + + + + + + + + @endforeach + + @if($event->organiser->charge_tax) + + + + + + + + @endif + + + + + + + + @if($order->is_refunded || $order->is_partially_refunded) + + + + + + + + + + + + + + + @endif + +
+ @lang("Public_ViewEvent.ticket") + + @lang("Public_ViewEvent.quantity_full") + + @lang("Public_ViewEvent.price") + + @lang("Public_ViewEvent.booking_fee") + + @lang("Public_ViewEvent.total") +
+ {{$order_item->title}} + + {{$order_item->quantity}} + + @if((int)ceil($order_item->unit_price) == 0) + @lang("Public_ViewEvent.free") + @else + {{money($order_item->unit_price, $order->event->currency)}} + @endif + + + @if((int)ceil($order_item->unit_price) == 0) + - + @else + {{money($order_item->unit_booking_fee, $order->event->currency)}} + @endif + + + @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 + +
+ + + + {{$event->organiser->tax_name}} + + {{ $orderService->getTaxAmount(true) }} +
+ + + + @lang("Public_ViewEvent.total") + + {{ $orderService->getGrandTotal(true) }} +
+ + + + @lang("Public_ViewEvent.refunded_amount") + + {{money($order->amount_refunded, $order->event->currency)}} +
+ + + + @lang("Public_ViewEvent.total") + + {{money($order->total_amount - $order->amount_refunded, $order->event->currency)}} +
+ +
+ +

+ @lang("Public_ViewEvent.order_attendees") +

+ +
+ + + @foreach($order->attendees as $attendee) + + + + + + + @endforeach + +
+ {{$attendee->first_name}} + {{$attendee->last_name}} + ({{$attendee->email}}) + + {{{$attendee->ticket->title}}} + {{$attendee->seat_no}} + @if($attendee->is_cancelled) + @lang("Public_ViewEvent.attendee_cancelled") + @endif +
+
+ + +
+
+
+
+ +
+ + + + +