diff --git a/app/Exceptions/Handler.php b/app/Exceptions/Handler.php index a3add12..82a37e4 100644 --- a/app/Exceptions/Handler.php +++ b/app/Exceptions/Handler.php @@ -47,12 +47,4 @@ class Handler extends ExceptionHandler // }); } - - public function render($request, Throwable $e) - { - if ($e instanceof TypeError && str_contains($e->getMessage(), 'Argument')) { - return response()->json(['message' => 'Invalid parameter type'], 400); - } - return parent::render($request, $e); - } } diff --git a/app/Http/Controllers/WechatPayController.php b/app/Http/Controllers/WechatPayController.php index a123128..da9c6c1 100644 --- a/app/Http/Controllers/WechatPayController.php +++ b/app/Http/Controllers/WechatPayController.php @@ -6,12 +6,29 @@ use App\Facades\WechatPayService; use App\Http\Response\ResponseJson; use Exception; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Validator; class WechatPayController extends Controller { use ResponseJson; function mchTransfer(Request $request) { + $rules = [ + "trade_no" => "required", + "openid" => "required", + "amount" => "required", + "remark" => "required" + ]; + $input = $request->all(); + $validator = Validator::make($input, $rules, $messages = [ + 'required' => 'The :attribute field is required.', + ]); + + foreach ($validator->errors()->all() as $message) { + return $this->failure($message); + } + + $trade_no = $request->trade_no; $scene_id = $request->scene_id; if (empty($scene_id)) { @@ -22,7 +39,6 @@ class WechatPayController extends Controller $remark = $request->remark; try { $res = WechatPayService::mchTransfer($trade_no, $scene_id, $openid, $amount, $remark, []); - } catch (Exception $e) { return $this->failure($e->getMessage()); }