diff --git a/app/Classes/Modules/Bookings/ControllersLogic/ExpireBookingPaymentControllerLogic.php b/app/Classes/Modules/Bookings/ControllersLogic/ExpireBookingPaymentControllerLogic.php
new file mode 100644
index 00000000..8ee2bbfa
--- /dev/null
+++ b/app/Classes/Modules/Bookings/ControllersLogic/ExpireBookingPaymentControllerLogic.php
@@ -0,0 +1,57 @@
+ 'Expire Payment',
+ 'message' => 'You have successfully expire the Payment'
+ ];
+ }
+
+ /** @var FetchesBooking */
+ private $fetchesBooking;
+
+ /**
+ * DeletePurchaseOrderPdfLogic constructor.
+ * @param FetchesBooking $fetchesBooking
+ */
+ public function __construct(fetchesBooking $fetchesBooking)
+ {
+ $this->fetchesBooking = $fetchesBooking;
+ }
+
+
+ /**
+ * @param Request $request
+ * @return JsonResponse
+ * @throws \App\Classes\Exceptions\MalformedRequestException
+ */
+ public function logic(Request $request) : JsonResponse
+ {
+ $booking = $this->fetchesBooking->execute(['id' => $request->route('id')]);
+
+ $payment = $booking->transactions()
+ ->payments()->whereIn('status', [ApprovalStatus::APPROVED, ApprovalStatus::COMPLETED])
+ ->first();
+
+ $payment->status = ApprovalStatus::EXPIRED;
+ $payment->save();
+
+ return $this->response([]);
+ }
+
+}
diff --git a/app/Http/Controllers/Bookings/ExpireBookingPaymentController.php b/app/Http/Controllers/Bookings/ExpireBookingPaymentController.php
new file mode 100644
index 00000000..f09fa38a
--- /dev/null
+++ b/app/Http/Controllers/Bookings/ExpireBookingPaymentController.php
@@ -0,0 +1,20 @@
+execute($request);
+ }
+
+}
\ No newline at end of file
diff --git a/resources/assets/vue/components/bookings/sections/BookingDetailsSectionComponent.vue b/resources/assets/vue/components/bookings/sections/BookingDetailsSectionComponent.vue
index a65c2ce8..a2762ce7 100644
--- a/resources/assets/vue/components/bookings/sections/BookingDetailsSectionComponent.vue
+++ b/resources/assets/vue/components/bookings/sections/BookingDetailsSectionComponent.vue
@@ -289,6 +289,22 @@