public function rules()
{
$input = $this->input();
$invoice = Invoice::scope($input['invoice'])->invoices()->firstOrFail();
$rules = ['client' => 'required', 'invoice' => 'required', 'amount' => "required|numeric|between:0.01,{$invoice->balance}", 'payment_date' => 'required'];
if (!empty($input['payment_type_id']) && $input['payment_type_id'] == PAYMENT_TYPE_CREDIT) {
$rules['payment_type_id'] = 'has_credit:' . $input['client'] . ',' . $input['amount'];
}
return $rules;
}