48 lines
1.4 KiB
PHP
48 lines
1.4 KiB
PHP
<?php
|
|
|
|
use Somnambulist\Components\Validation\Factory;
|
|
|
|
function pixCobrancaImediataComValorRules(array $data)
|
|
{
|
|
$rules = [
|
|
'expiracao' => 'integer',
|
|
'devedor' => 'array',
|
|
'devedor.documento' => 'string|min:11|max:18',
|
|
'devedor.nome' => 'required_with:devedor.documento|string|max:100',
|
|
'valor' => 'required|integer|min:1',
|
|
'chave' => 'required|string',
|
|
'txid' => 'required|string|max:100',
|
|
'solicitacaoPagador' => 'string|max:140'
|
|
];
|
|
|
|
$validation = (new Factory)->validate($data, $rules);
|
|
|
|
if ($validation->fails()) {
|
|
throw new Exception(json_encode($validation->errors()->firstOfAll()), 500);
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
|
|
|
|
function pixCobrancaImediataSemValorRules(array $data)
|
|
{
|
|
$rules = [
|
|
'expiracao' => 'integer',
|
|
'devedor' => 'array',
|
|
'devedor.documento' => 'string|min:11|max:18',
|
|
'devedor.nome' => 'required_with:devedor.documento|string|max:100',
|
|
'valor' => 'sometimes|integer',
|
|
'chave' => 'required|string',
|
|
'txid' => 'required|string|max:100',
|
|
'solicitacaoPagador' => 'string|max:140'
|
|
];
|
|
|
|
$validation = (new Factory)->validate($data, $rules);
|
|
|
|
if ($validation->fails()) {
|
|
throw new Exception(json_encode($validation->errors()->firstOfAll()), 500);
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|