From c4702e0c933e049ffa6bfef672b7ca8c660cb008 Mon Sep 17 00:00:00 2001 From: Eduardo Bacarin Date: Thu, 3 Jul 2025 18:44:16 -0300 Subject: [PATCH] generating pix with and without value --- src/Pix.php | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 62 insertions(+), 3 deletions(-) diff --git a/src/Pix.php b/src/Pix.php index 0e688a4..9a75a36 100644 --- a/src/Pix.php +++ b/src/Pix.php @@ -2,12 +2,34 @@ namespace Kontrl\PhpKore; -include_once(__DIR__.'/rules.php'); +include_once(__DIR__ . '/rules.php'); class Pix extends Kore { - public function pixCobrancaImediata($payload) + public function pixCobrancaImediataComValor($payload) { + pixCobrancaImediataComValorRules($payload); + $korePayload = [ + 'calendario' => [ + 'expiracao' => $payload['expiracao'] ?? 86400, + ], + 'valor' => [ + 'original' => $payload['valor'], + 'modalidadeAlteracao' => 0, + ], + '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', @@ -15,7 +37,44 @@ class Pix extends Kore [], [ 'x-kore-drone-uid: drone:' . $this->drone, - 'x-kore-drone-sign: ' . $this->signBody($payload) + 'x-kore-drone-sign: ' . $this->signBody($korePayload) + ], + $payload + ); + } + + public function pixCobrancaImediataSemValor($payload) + { + pixCobrancaImediataSemValorRules($payload); + $korePayload = [ + 'calendario' => [ + 'expiracao' => $payload['expiracao'] ?? 86400, + ], + 'valor' => [ + 'original' => $payload['valor'] ?? 0, + 'modalidadeAlteracao' => 1, + ], + '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 );