diff --git a/backend/src/controller/OrderProductController.ts b/backend/src/controller/OrderProductController.ts
index 9507dca19abc7f80aa90ec5b57d78a0483a6f76c..0f6a21e96696f28d177ed2c7675af1121282c731 100644
--- a/backend/src/controller/OrderProductController.ts
+++ b/backend/src/controller/OrderProductController.ts
@@ -69,6 +69,25 @@ class OrderProductController {
         }
     }
 
+    async getOrderProductByOrderId(req: Request, res: Response) {
+        try {
+            const id_order = parseInt(req.params["orderId"]);
+            const orderProducts =
+                await new OrderProductRepo().getOrderProductByOrderId(id_order);
+
+            res.status(200).json({
+                status: "Ok!",
+                message: "Successfully fetched order products by order id!",
+                data: orderProducts,
+            });
+        } catch (error) {
+            res.status(500).json({
+                status: "Internal Server Error!",
+                message: "Internal Server Error!",
+            });
+        }
+    }
+
     async getAllOrderProduct(req: Request, res: Response) {
         try {
             const orderProducts =
diff --git a/backend/src/repository/OrderProductRepo.ts b/backend/src/repository/OrderProductRepo.ts
index e03d26477c4b98597db1ab2b98c55142bd910d5d..c83e977eea63a39406d3af0e71289c01b8c5187f 100644
--- a/backend/src/repository/OrderProductRepo.ts
+++ b/backend/src/repository/OrderProductRepo.ts
@@ -44,6 +44,24 @@ export default class OrderProductRepo implements IOrderProductRepo {
         }
     }
 
+    async getOrderProductByOrderId(orderId: number): Promise<OrderProduct[]> {
+        try {
+            const orderProducts = await OrderProduct.findAll({
+                where: { id_order: orderId },
+            });
+            if (!orderProducts) {
+                throw new Error(
+                    `OrderProduct with orderId ${orderId} not found`,
+                );
+            }
+            return orderProducts;
+        } catch (error: any) {
+            throw new Error(
+                `Error while fetching order product: ${error.message}`,
+            );
+        }
+    }
+
     async createOrderProduct(orderProduct: OrderProduct): Promise<void> {
         try {
             await OrderProduct.create({
diff --git a/backend/src/router/OrderProductRouter.ts b/backend/src/router/OrderProductRouter.ts
index 6603ba48bcdeeefc8a0f6b501698a9810ffaeb5c..77a217ec35f860bb4fc2e4b2f7b0db3d669cfae9 100644
--- a/backend/src/router/OrderProductRouter.ts
+++ b/backend/src/router/OrderProductRouter.ts
@@ -28,6 +28,10 @@ class OrderProductRoutes extends BaseRoutes {
             "/:orderId/:productId",
             OrderProductController.getOrderProductById,
         );
+        this.router.get(
+            "/:orderId",
+            OrderProductController.getOrderProductByOrderId,
+        );
     }
 }