From 9a1562386fca8b2794de7691f699cdbbba951daa Mon Sep 17 00:00:00 2001 From: glovetleong Date: Wed, 16 Mar 2022 23:01:38 +0800 Subject: [PATCH] billpliz callback --- .../ControllersLogic/CallbackBillplzLogic.php | 20 +--- .../views/pages/payments_redirect.blade.php | 100 ++++++++++++++++++ routes/web.php | 6 +- 3 files changed, 108 insertions(+), 18 deletions(-) create mode 100644 resources/views/pages/payments_redirect.blade.php diff --git a/app/Classes/Modules/Billplzs/ControllersLogic/CallbackBillplzLogic.php b/app/Classes/Modules/Billplzs/ControllersLogic/CallbackBillplzLogic.php index 2230343f..0f928a51 100644 --- a/app/Classes/Modules/Billplzs/ControllersLogic/CallbackBillplzLogic.php +++ b/app/Classes/Modules/Billplzs/ControllersLogic/CallbackBillplzLogic.php @@ -26,8 +26,6 @@ use Illuminate\Support\Facades\Log; class CallbackBillplzLogic { - - /** @var GetBillplzBill */ private $getBillplzBill; @@ -47,12 +45,11 @@ class CallbackBillplzLogic * @param UpdatesTransactionStatus $updatesTransactionStatus * @param UpdatesWalletBalance $updatesWalletBalance */ - public function __construct(GetBillplzBill $getBillplzBill, FetchesTransaction $fetchesTransaction, UpdatesTransactionStatus $updatesTransactionStatus, UpdatesWalletBalance $updatesWalletBalance) + public function __construct(GetBillplzBill $getBillplzBill, FetchesTransaction $fetchesTransaction, UpdatesTransactionStatus $updatesTransactionStatus) { $this->getBillplzBill = $getBillplzBill; $this->fetchesTransaction = $fetchesTransaction; $this->updatesTransactionStatus = $updatesTransactionStatus; - $this->updatesWalletBalance = $updatesWalletBalance; } @@ -84,22 +81,11 @@ class CallbackBillplzLogic $status = $billplzXSignatureObject->getStatus() === 'failed' ? ApprovalStatus::REJECTED : ApprovalStatus::PENDING_VERIFICATION; } - if($transaction->status !== ApprovalStatus::COMPLETED){ - - if($transaction->owner instanceof Wallet && $transaction->status !== ApprovalStatus::APPROVED && $status === ApprovalStatus::APPROVED) { - $this->updatesWalletBalance->execute($transaction->owner, $transaction->amount); - } - $this->updatesTransactionStatus->execute($transaction, $status); - - } - - $token = Auth::fromUser(User::find(1)); $request->headers->set('Authorization', 'Bearer '.$token); - $marking = $transaction->owner instanceof Booking ? $transaction->booking->marking : $transaction->owner->owner->bookings()->orderBy('id', 'DESC')->first()->marking; - - return $request->method() === 'POST' ? true : view('pages.payments_redirect', ['marking' => $marking, 'transaction' => $transaction, 'status' => $status]); + $marking = $transaction->owner()->first()->owner()->first(); + return $request->method() === 'POST' ? true : view('pages.payments_redirect', ['marking' => $marking->reference, 'transaction' => $transaction, 'status' => $status]); } } \ No newline at end of file diff --git a/resources/views/pages/payments_redirect.blade.php b/resources/views/pages/payments_redirect.blade.php new file mode 100644 index 00000000..a648d8ee --- /dev/null +++ b/resources/views/pages/payments_redirect.blade.php @@ -0,0 +1,100 @@ +@extends('layouts.base_portal') +@section('inner_content') +
+
+
+
+ @if($status === 2) + + @elseif($status === 1) + + @else + + @endif +
+
+ @if($status === 2) +
+
+
+
+
Your Payment is Successful
+

Thank you for your payment. {{$transaction->owner instanceof \App\Models\Booking ? 'Your transfer request is now being processed and you will be notified once its complete.' : 'The amount paid has been successfully credited into your wallet.'}}

+
+
+
+
+ @if($transaction->owner instanceof \App\Models\Booking) + +
Dashboard
+
+ @endif + @if($transaction->owner instanceof \App\Models\Wallet) + +
Transaction History
+
+ @endif + +
{{$transaction->owner instanceof \App\Models\Booking ? 'Back to': 'Last'}} Order
+
+
+
+
+
+ @elseif($status === 1) +
+
+
+
+
Your Payment is Pending Verification
+

It seems that your payment attempt is still pending verification. We will approve your payment once the your bank verifies the payment.

+
+
+ +
+
+ @else +
+
+
+
+
Your Payment Has Failed
+

It seems that your payment attempt has failed. you can try to reattempt your payment to complete your transaction.

+
+
+ +
+
+ @endif + +
+
+@endsection \ No newline at end of file diff --git a/routes/web.php b/routes/web.php index bb35d287..5b08b9e2 100644 --- a/routes/web.php +++ b/routes/web.php @@ -273,4 +273,8 @@ Route::get('/customers/active/{active_start}/{active_end}/{inactive_start?}/{ina }); -Route::get('/online_payment/redirect', 'Billplz\CallbackBillplzController@callback')->name('online_payment.redirect'); \ No newline at end of file +Route::get('/online_payment/redirect', 'Billplz\CallbackBillplzController@callback')->name('online_payment.redirect'); + +Route::get('/order/{id}', function ($id) { + return view('pages.orders.profile', ['id' => $id]); +})->name('order.details'); \ No newline at end of file