Edit File: ConfirmPaymentCashRequest.php
<?php namespace App\Http\Requests\Api\Delegate\Order; use App\Enums\OrderPayType; use App\Enums\OrderStatusEnum; use App\Http\Requests\Api\BaseApiRequest; use App\Models\Order; class ConfirmPaymentCashRequest extends BaseApiRequest { public function rules() { return [ 'order_id' => ['required', 'exists:orders,id'], 'order' => ['nullable'], ]; } public function prepareForValidation() { $this->merge([ 'order' => Order::where([ ['id', $this->order_id], ['delegate_id', auth()->id()], ])->first(), ]); } public function withValidator($validator) { $validator->after(function ($validator) { if (isset($this->order)) { if($this->order->pay_status) { $validator->errors()->add('order', __('apis.order_already_paid')); } if ($this->order->status['value'] != OrderStatusEnum::Delegate_at_location->value || $this->order->pay_type != OrderPayType::CASH->value) { $validator->errors()->add('invalid_action', __('apis.invalid_action')); } } else { $validator->errors()->add('order_id', __('apis.order_not_fount_or_not_for_you')); } }); } }
Back to File Manager