Pix Cobrança Dinâmico Imediata Saque Com Valor
This commit is contained in:
parent
96769b84c5
commit
4cf3ecc867
2 changed files with 86 additions and 21 deletions
62
src/Pix.php
62
src/Pix.php
|
@ -22,10 +22,10 @@ class Pix extends Kore
|
||||||
'solicitacaoPagador' => $payload['solicitacaoPagador'] ?? null
|
'solicitacaoPagador' => $payload['solicitacaoPagador'] ?? null
|
||||||
];
|
];
|
||||||
|
|
||||||
if (isset($payload['devedor'])){
|
if (isset($payload['devedor'])) {
|
||||||
if (strlen($payload['devedor']['documento']) > 11){
|
if (strlen($payload['devedor']['documento']) > 11) {
|
||||||
$korePayload['devedor']['cnpj'] = $payload['devedor']['documento'];
|
$korePayload['devedor']['cnpj'] = $payload['devedor']['documento'];
|
||||||
}else{
|
} else {
|
||||||
$korePayload['devedor']['cpf'] = $payload['devedor']['documento'];
|
$korePayload['devedor']['cpf'] = $payload['devedor']['documento'];
|
||||||
}
|
}
|
||||||
$korePayload['devedor']['nome'] = $payload['devedor'];
|
$korePayload['devedor']['nome'] = $payload['devedor'];
|
||||||
|
@ -59,10 +59,10 @@ class Pix extends Kore
|
||||||
'solicitacaoPagador' => $payload['solicitacaoPagador'] ?? null
|
'solicitacaoPagador' => $payload['solicitacaoPagador'] ?? null
|
||||||
];
|
];
|
||||||
|
|
||||||
if (isset($payload['devedor'])){
|
if (isset($payload['devedor'])) {
|
||||||
if (strlen($payload['devedor']['documento']) > 11){
|
if (strlen($payload['devedor']['documento']) > 11) {
|
||||||
$korePayload['devedor']['cnpj'] = $payload['devedor']['documento'];
|
$korePayload['devedor']['cnpj'] = $payload['devedor']['documento'];
|
||||||
}else{
|
} else {
|
||||||
$korePayload['devedor']['cpf'] = $payload['devedor']['documento'];
|
$korePayload['devedor']['cpf'] = $payload['devedor']['documento'];
|
||||||
}
|
}
|
||||||
$korePayload['devedor']['nome'] = $payload['devedor'];
|
$korePayload['devedor']['nome'] = $payload['devedor'];
|
||||||
|
@ -93,6 +93,50 @@ class Pix extends Kore
|
||||||
'retirada' => [
|
'retirada' => [
|
||||||
'saque' => [
|
'saque' => [
|
||||||
'valor' => $payload['valor'] ?? 0,
|
'valor' => $payload['valor'] ?? 0,
|
||||||
|
'modalidadeAlteracao' => 1,
|
||||||
|
'prestadorDoServicoDeSaque' => $payload['ispb'],
|
||||||
|
'modalidadeAgente' => $payload['modalidadeAgente']
|
||||||
|
]
|
||||||
|
]
|
||||||
|
],
|
||||||
|
'chave' => $payload['chave'],
|
||||||
|
'txid' => $payload['txid'],
|
||||||
|
'solicitacaoPagador' => $payload['solicitacaoPagador'] ?? null
|
||||||
|
];
|
||||||
|
|
||||||
|
if (isset($payload['devedor'])) {
|
||||||
|
if (strlen($payload['devedor']['documento']) > 11) {
|
||||||
|
$korePayload['devedor']['cnpj'] = $payload['devedor']['documento'];
|
||||||
|
} else {
|
||||||
|
$korePayload['devedor']['cpf'] = $payload['devedor']['documento'];
|
||||||
|
}
|
||||||
|
$korePayload['devedor']['nome'] = $payload['devedor'];
|
||||||
|
}
|
||||||
|
|
||||||
|
return curlRequest(
|
||||||
|
'https://httpbin.org/post',
|
||||||
|
'POST',
|
||||||
|
[],
|
||||||
|
[
|
||||||
|
'x-kore-drone-uid: drone:' . $this->drone,
|
||||||
|
'x-kore-drone-sign: ' . $this->signBody($korePayload)
|
||||||
|
],
|
||||||
|
$payload
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function pixCobrancaDinamicoImediatoSaqueComValor($payload)
|
||||||
|
{
|
||||||
|
pixCobrancaImediataSaqueComValorRules($payload);
|
||||||
|
$korePayload = [
|
||||||
|
'calendario' => [
|
||||||
|
'expiracao' => $payload['expiracao'] ?? 86400,
|
||||||
|
],
|
||||||
|
'valor' => [
|
||||||
|
'original' => 0,
|
||||||
|
'retirada' => [
|
||||||
|
'saque' => [
|
||||||
|
'valor' => $payload['valor'],
|
||||||
'modalidadeAlteracao' => 0,
|
'modalidadeAlteracao' => 0,
|
||||||
'prestadorDoServicoDeSaque' => $payload['ispb'],
|
'prestadorDoServicoDeSaque' => $payload['ispb'],
|
||||||
'modalidadeAgente' => $payload['modalidadeAgente']
|
'modalidadeAgente' => $payload['modalidadeAgente']
|
||||||
|
@ -104,10 +148,10 @@ class Pix extends Kore
|
||||||
'solicitacaoPagador' => $payload['solicitacaoPagador'] ?? null
|
'solicitacaoPagador' => $payload['solicitacaoPagador'] ?? null
|
||||||
];
|
];
|
||||||
|
|
||||||
if (isset($payload['devedor'])){
|
if (isset($payload['devedor'])) {
|
||||||
if (strlen($payload['devedor']['documento']) > 11){
|
if (strlen($payload['devedor']['documento']) > 11) {
|
||||||
$korePayload['devedor']['cnpj'] = $payload['devedor']['documento'];
|
$korePayload['devedor']['cnpj'] = $payload['devedor']['documento'];
|
||||||
}else{
|
} else {
|
||||||
$korePayload['devedor']['cpf'] = $payload['devedor']['documento'];
|
$korePayload['devedor']['cpf'] = $payload['devedor']['documento'];
|
||||||
}
|
}
|
||||||
$korePayload['devedor']['nome'] = $payload['devedor'];
|
$korePayload['devedor']['nome'] = $payload['devedor'];
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
require_once(__DIR__.'/validator.php');
|
require_once(__DIR__ . '/validator.php');
|
||||||
|
|
||||||
function pixCobrancaImediataComValorRules(array $data)
|
function pixCobrancaImediataComValorRules(array $data)
|
||||||
{
|
{
|
||||||
$rules = [
|
$rules = [
|
||||||
'expiracao' => 'integer',
|
'expiracao' => 'sometimes|integer',
|
||||||
'devedor' => 'sometimes|array',
|
'devedor' => 'sometimes|array',
|
||||||
'devedor.documento' => 'sometimes|string|min:11|max:18',
|
'devedor.documento' => 'sometimes|string|min:11|max:18',
|
||||||
'devedor.nome' => 'sometimes|required_with:devedor.documento|string|max:100',
|
'devedor.nome' => 'sometimes|required_with:devedor.documento|string|max:100',
|
||||||
|
@ -22,11 +22,10 @@ function pixCobrancaImediataComValorRules(array $data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function pixCobrancaImediataSemValorRules(array $data)
|
function pixCobrancaImediataSemValorRules(array $data)
|
||||||
{
|
{
|
||||||
$rules = [
|
$rules = [
|
||||||
'expiracao' => 'integer',
|
'expiracao' => 'sometimes|integer',
|
||||||
'devedor' => 'sometimes|array',
|
'devedor' => 'sometimes|array',
|
||||||
'devedor.documento' => 'sometimes|string|min:11|max:18',
|
'devedor.documento' => 'sometimes|string|min:11|max:18',
|
||||||
'devedor.nome' => 'sometimes|required_with:devedor.documento|string|max:100',
|
'devedor.nome' => 'sometimes|required_with:devedor.documento|string|max:100',
|
||||||
|
@ -44,11 +43,10 @@ function pixCobrancaImediataSemValorRules(array $data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function pixCobrancaImediataSaqueSemValorRules(array $data)
|
function pixCobrancaImediataSaqueSemValorRules(array $data)
|
||||||
{
|
{
|
||||||
$rules = [
|
$rules = [
|
||||||
'expiracao' => 'integer',
|
'expiracao' => 'sometimes|integer',
|
||||||
'devedor' => 'sometimes|array',
|
'devedor' => 'sometimes|array',
|
||||||
'devedor.documento' => 'sometimes|string|min:11|max:18',
|
'devedor.documento' => 'sometimes|string|min:11|max:18',
|
||||||
'devedor.nome' => 'sometimes|required_with:devedor.documento|string|max:100',
|
'devedor.nome' => 'sometimes|required_with:devedor.documento|string|max:100',
|
||||||
|
@ -67,3 +65,26 @@ function pixCobrancaImediataSaqueSemValorRules(array $data)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function pixCobrancaImediataSaqueComValorRules(array $data)
|
||||||
|
{
|
||||||
|
$rules = [
|
||||||
|
'expiracao' => 'sometimes|integer',
|
||||||
|
'devedor' => 'sometimes|array',
|
||||||
|
'devedor.documento' => 'sometimes|string|min:11|max:18',
|
||||||
|
'devedor.nome' => 'sometimes|required_with:devedor.documento|string|max:100',
|
||||||
|
'valor' => 'required|integer',
|
||||||
|
'chave' => 'required|string',
|
||||||
|
'txid' => 'required|string|max:100',
|
||||||
|
'solicitacaoPagador' => 'string|max:140',
|
||||||
|
'ispb' => 'required|string',
|
||||||
|
'modalidadeAgente' => 'required|string|in:agtec,agtot,agpss'
|
||||||
|
];
|
||||||
|
|
||||||
|
$validate = validate($data, $rules);
|
||||||
|
if (!$validate['valid']) {
|
||||||
|
throw new Exception(json_encode(array_slice($validate['errors'], 0, 1)), 500);
|
||||||
|
} else {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue