diff --git a/beike/Shop/Http/Controllers/Account/OrderController.php b/beike/Shop/Http/Controllers/Account/OrderController.php index 5f845c76..18305451 100644 --- a/beike/Shop/Http/Controllers/Account/OrderController.php +++ b/beike/Shop/Http/Controllers/Account/OrderController.php @@ -16,7 +16,6 @@ use Beike\Services\StateMachineService; use Beike\Shop\Http\Controllers\Controller; use Beike\Shop\Http\Resources\Account\OrderList; use Beike\Shop\Services\PaymentService; -use Illuminate\Contracts\View\Factory; use Illuminate\Contracts\View\View; use Illuminate\Http\Request; @@ -78,15 +77,19 @@ class OrderController extends Controller * * @param Request $request * @param $number - * @return Factory|View + * @return mixed * @throws \Exception */ public function pay(Request $request, $number) { - $customer = current_customer(); - $order = OrderRepo::getOrderByNumber($number, $customer); + try { + $customer = current_customer(); + $order = OrderRepo::getOrderByNumber($number, $customer); - return (new PaymentService($order))->pay(); + return (new PaymentService($order))->pay(); + } catch (\Exception $e) { + return redirect(shop_route('account.order.show', $number))->withErrors($e->getMessage()); + } } /** diff --git a/resources/lang/en/shop/order.php b/resources/lang/en/shop/order.php index a36f8f9b..8eca5962 100644 --- a/resources/lang/en/shop/order.php +++ b/resources/lang/en/shop/order.php @@ -14,5 +14,5 @@ return [ 'invalid_order' => 'Invalid order', 'confirm_order' => 'Customer confirm received package', 'cancel_order' => 'Customer cancel the order', - 'order_already_paid' => 'The order is paid already', + 'order_already_paid' => 'The order already has been paid', ]; diff --git a/themes/default/account/order_info.blade.php b/themes/default/account/order_info.blade.php index e0ddcbbc..96935bf6 100644 --- a/themes/default/account/order_info.blade.php +++ b/themes/default/account/order_info.blade.php @@ -11,6 +11,13 @@
+ + @if ($errors->any()) + @foreach ($errors->all() as $error) + + @endforeach + @endif +
{{ __('shop/account.order.order_info.order_details') }}