billpliz callback

This commit is contained in:
glovetleong
2022-03-16 23:01:38 +08:00
parent bd9dab0029
commit 9a1562386f
3 changed files with 108 additions and 18 deletions
@@ -26,8 +26,6 @@ use Illuminate\Support\Facades\Log;
class CallbackBillplzLogic class CallbackBillplzLogic
{ {
/** @var GetBillplzBill */ /** @var GetBillplzBill */
private $getBillplzBill; private $getBillplzBill;
@@ -47,12 +45,11 @@ class CallbackBillplzLogic
* @param UpdatesTransactionStatus $updatesTransactionStatus * @param UpdatesTransactionStatus $updatesTransactionStatus
* @param UpdatesWalletBalance $updatesWalletBalance * @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->getBillplzBill = $getBillplzBill;
$this->fetchesTransaction = $fetchesTransaction; $this->fetchesTransaction = $fetchesTransaction;
$this->updatesTransactionStatus = $updatesTransactionStatus; $this->updatesTransactionStatus = $updatesTransactionStatus;
$this->updatesWalletBalance = $updatesWalletBalance;
} }
@@ -84,22 +81,11 @@ class CallbackBillplzLogic
$status = $billplzXSignatureObject->getStatus() === 'failed' ? ApprovalStatus::REJECTED : ApprovalStatus::PENDING_VERIFICATION; $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)); $token = Auth::fromUser(User::find(1));
$request->headers->set('Authorization', 'Bearer '.$token); $request->headers->set('Authorization', 'Bearer '.$token);
$marking = $transaction->owner instanceof Booking ? $transaction->booking->marking : $transaction->owner->owner->bookings()->orderBy('id', 'DESC')->first()->marking; $marking = $transaction->owner()->first()->owner()->first();
return $request->method() === 'POST' ? true : view('pages.payments_redirect', ['marking' => $marking, 'transaction' => $transaction, 'status' => $status]);
return $request->method() === 'POST' ? true : view('pages.payments_redirect', ['marking' => $marking->reference, 'transaction' => $transaction, 'status' => $status]);
} }
} }
File diff suppressed because one or more lines are too long
+4
View File
@@ -274,3 +274,7 @@ Route::get('/customers/active/{active_start}/{active_end}/{inactive_start?}/{ina
}); });
Route::get('/online_payment/redirect', 'Billplz\CallbackBillplzController@callback')->name('online_payment.redirect'); 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');