From ccccc0d63c9c0097f77a0070d66da7d9ca88ba6d Mon Sep 17 00:00:00 2001 From: devansh bawari Date: Thu, 12 Nov 2020 13:24:35 +0530 Subject: [PATCH] API Added For Minimum Amount Check --- .../Controllers/Shop/CheckoutController.php | 25 +++++++++++++++++++ packages/Webkul/API/Http/routes.php | 2 ++ 2 files changed, 27 insertions(+) diff --git a/packages/Webkul/API/Http/Controllers/Shop/CheckoutController.php b/packages/Webkul/API/Http/Controllers/Shop/CheckoutController.php index d30827179..cb49278b5 100644 --- a/packages/Webkul/API/Http/Controllers/Shop/CheckoutController.php +++ b/packages/Webkul/API/Http/Controllers/Shop/CheckoutController.php @@ -15,6 +15,7 @@ use Webkul\Sales\Repositories\OrderRepository; use Illuminate\Support\Str; use Cart; use Exception; +use phpDocumentor\Reflection\Types\Float_; use Webkul\Shop\Http\Controllers\OnepageController; class CheckoutController extends Controller @@ -162,6 +163,30 @@ class CheckoutController extends Controller ]); } + /** + * Check for minimum order. + * + * @return \Illuminate\Http\Response + */ + public function checkMinimumOrder() + { + $cart = Cart::getCart(); + + $cartBaseSubTotal = (float) $cart->base_sub_total; + + $minimumOrderAmount = (float) core()->getConfigData('sales.orderSettings.minimum-order.minimum_order_amount') ?? 0; + + $status = $cartBaseSubTotal > $minimumOrderAmount; + + return response()->json([ + 'status' => ! $status ? false : true, + 'message' => ! $status ? trans('shop::app.checkout.cart.minimum-order-message', ['amount' => $minimumOrderAmount]) : 'Success', + 'data' => [ + 'cart' => new CartResource($cart), + ] + ]); + } + /** * Saves order. * diff --git a/packages/Webkul/API/Http/routes.php b/packages/Webkul/API/Http/routes.php index a05a3d437..68f650380 100755 --- a/packages/Webkul/API/Http/routes.php +++ b/packages/Webkul/API/Http/routes.php @@ -270,6 +270,8 @@ Route::group(['prefix' => 'api'], function ($router) { Route::post('save-payment', 'CheckoutController@savePayment'); + Route::post('check-minimum-order', 'CheckoutController@checkMinimumOrder'); + Route::post('save-order', 'CheckoutController@saveOrder'); }); });