Histórico de mensagens sobre php em pix

EXIBINDO CONVERSAS RECENTES:

Texto: php
Canal: pix
Avatar discord do usuario taffarelxavier

taffarelxavier

Ver Respostas

Boa noite, pessoal.
Minha primeira dúvida é a seguinte: é possível criar uma chave aleatório pelo SDK do PHP?

Avatar discord do usuario roguitar88

roguitar88

$body = [
"calendario" => [
"expiracao" => 3600
],
// "devedor" => [
// "cpf" => "53147430278",
// "nome" => "Rogerio Brito Soares"
// ],
"valor" => [
"original" => "0.01"
],
"webhookUrl" => "https://olimppi.us/webhook/index.php",
"chave" => "34646106000189"
// "solicitacaoPagador" => "Informe o número ou identificador do pedido.",
// "infoAdicionais" => [
// [
// "nome" => "Campo 1", // Nome do campo string (Nome) ≤ 50 characters
// "valor" => "Informação Adicional1 do PSP-Recebedor" // Dados do campo string (Valor) ≤ 200 characters
// ],
// [
// "nome" => "Campo 2",
// "valor" => "Informação Adicional2 do PSP-Recebedor"
// ]
// ]
];

Avatar discord do usuario roguitar88

roguitar88

Agora se eu abro uma index.php dentro da pasta /webhook consigo acessar

Avatar discord do usuario roguitar88

roguitar88

Fatal error: Uncaught Error: Bad Request in /var/www/html/olimppius/src/Classes/ClassOrder.php:918 Stack trace: #0 /var/www/html/olimppius/app/Controller/ControllerPix.php(20): Src\Classes\ClassOrder->hirePlan() #1 /var/www/html/olimppius/app/Dispatch.php(44): App\Controller\ControllerPix->__construct() #2 /var/www/html/olimppius/app/Dispatch.php(36): App\Dispatch->addController() #3 /var/www/html/olimppius/public/index.php(7): App\Dispatch->__construct() #4 {main} thrown in /var/www/html/olimppius/src/Classes/ClassOrder.php on line 918

Avatar discord do usuario roguitar88

roguitar88

Ver Respostas

$options['headers'] = array(
'x-skip-mtls-checking' => 'true',
);

try {
$api = Gerencianet::getInstance($options);

$params = ['chave' => '34646106000189'];
$body = ['webhookUrl' => 'https://olimppi.us/webhook'];
// https://olimppi.us/webhook/pix.php?ignorar=
// https://olimppi.us/webhook/pix.php?ignorar=/pix

$pix = $api->pixConfigWebhook($params, $body);
echo json_encode($pix);

} catch (GerencianetException $e) {
print_r($e->code);
print_r($e->error);
print_r($e->errorDescription);

throw new \Error($e->error);
} catch (\Exception $e) {
throw new \Error($e->getMessage());
}

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Sim, <@!783359762917752843>. Atualizamo nossa SKD para a versão 3.1.0 que possui estes novos endpoints também. Segue exemplo do endpoint PUT /v2/gn/config

php

require __DIR__.'/../../../vendor/autoload.php';

use Gerencianet\Exception\GerencianetException;
use Gerencianet\Gerencianet;

$file = file_get_contents(__DIR__.'/../../config.json');
$options = json_decode($file, true);

try {
$body = [
"pix" => [
"receberSemChave" => true,
"chaves" => [
"[email protected]" => [
"recebimento" => [
"txidObrigatorio" => false,
"qrCodeEstatico" => [
"recusarTodos" => false
]
]
],
"efa1db8c-735b-4898-92e0-a54daabe65e6" => [
"recebimento" => [
"txidObrigatorio" => false,
"qrCodeEstatico" => [
"recusarTodos" => false
]
]
]
]
]
];

$api = Gerencianet::getInstance($options);
$pix = $api->pixUpdateSettings($params, $body);

echo json_encode(["code" => 204]);
} catch (GerencianetException $e) {
print_r($e->code);
print_r($e->error);
print_r($e->errorDescription);

throw new Error($e->error);
} catch (Exception $e) {
throw new Error($e->getMessage());
}


Com isto, é necessário incluir o endpoint com o nome pixUpdateSettings no arquivo \src\Gerencianet\config.json

Avatar discord do usuario guilherme_efi

guilherme_efi

Para registrar seu webhook utilize o examples\pix\webhooks\update.php

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Este exemplo é do examples\pix\webhooks\detail.php

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

<@!723278999236771916> o que o Rubens lhe exemplificou é no momento que você for vincular sua chave Pix a uma URL do Webhook.

Ou seja, para que seu sistema receba estas notificações, primeiramente você deve consumir a rota PUT /v2​/webhook/:chave, no caso da SDK utilize o arquivo examples\pix\webhooks\update.php passando como parâmetro sua chave Pix, no body sua URL do webhook e 'x-skip-mtls-checking' => 'false', // Para validar o mTLS

Desta forma, , os PIX associados a um txid gerados com sua chave serão notificados.

Avatar discord do usuario roguitar88

roguitar88

Então posso fazer sudo nano pix.php?

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Ou você pode mutretar o /pix fazendo assim: exemplo.com.br/webhook/pix.php?ignorar=
que aí fica
exemplo.com.br/webhook/pix.php?ignorar=/pix
E você ignora o parâmetro ignorar

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Você pode fazer rewrite no Nginx ou convencer seu webserver a chamar o interpretador PHP para esse arquivo.

Avatar discord do usuario roguitar88

roguitar88

Ver Respostas

Ah, então eu vou ser forçado a usar algo como pix.php, se eu quiser fazer em php, não é n?

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

A que você souber escrever melhor. PHP, nodeJS, whatever.

Avatar discord do usuario roguitar88

roguitar88

Ver Respostas

Agora vcs teriam algum exemplo em php de como pegar esses dados do webhook e jogar direto na tabela do banco de dados?

Avatar discord do usuario roguitar88

roguitar88

Pra falar a vdd tanto faz ser com config.json ou com array direto no php...

Avatar discord do usuario roguitar88

roguitar88

Ver Respostas

Mas isso já tá feito. Só que n estou utilizando esse json, tô usando a variável $options e nela armazeno esses dados aí em array lá mesmo no PHP

Avatar discord do usuario roguitar88

roguitar88

Fatal error: Uncaught Error: Bad Request in /var/www/html/olimppius/src/Classes/ClassOrder.php:891 Stack trace: #0 /var/www/html/olimppius/app/Controller/ControllerPix.php(20): Src\Classes\ClassOrder->hirePlan() #1 /var/www/html/olimppius/app/Dispatch.php(44): App\Controller\ControllerPix->__construct() #2 /var/www/html/olimppius/app/Dispatch.php(36): App\Dispatch->addController() #3 /var/www/html/olimppius/public/index.php(7): App\Dispatch->__construct() #4 {main} thrown in /var/www/html/olimppius/src/Classes/ClassOrder.php on line 891

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Estes são todos os endpoints que etão disponíveis para você consumir da API Pix da Gerencianet.
Se você está utilizando a SDK de PHP, todos eles já estão configurados para utilização no diretório /examples/pix