diff --git a/pass/app/Order.js b/pass/app/Order.js index d859d7865083827cead7bed384b4e181e748a379..b6ac4ec33d18afc07e532953342b619d45ab8e2f 100644 --- a/pass/app/Order.js +++ b/pass/app/Order.js @@ -81,6 +81,10 @@ class Order { return this.#payment_method_link; } + isPaymentComplete() { + return this.#payment_completed; + } + setPaymentMethodLink(payment_method_link) { this.#payment_method_link = payment_method_link; } diff --git a/pass/routes/checkout/checkout.js b/pass/routes/checkout/checkout.js index d60c1bba71957a9e573406f09a7bd3704232a91a..229098e0f192d6de9bc9cac73740458e9d89ed47 100644 --- a/pass/routes/checkout/checkout.js +++ b/pass/routes/checkout/checkout.js @@ -126,8 +126,13 @@ router.use( /** Cancel is the same for all payment gateways */ router.post("/payment/order/*/cancel", (req, res) => { Order.LOAD_ORDER_FROM_ID(req.body.order_id).then((loaded_order) => { + if (loaded_order.isPaymentComplete()) { + res.status(400).json({ + msg: "Cannot delete a completed order", + }); + return; + } loaded_order.delete().then((success) => { - console.log(success); if (success) { res.status(200).json({ msg: "Order deleted",