Histórico de mensagens sobre php

EXIBINDO CONVERSAS RECENTES:

Texto: php
# bolix
Avatar discord do usuario deson00

deson00

Ver Respostas

o $_REQUEST do php tem a funcionalidade de $_POST e $_GET e estava funcionando a muitos anos, a notificação verifica de alguma forma post, get e request ?

# bolix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Se no menu API > Notificações, você encontrar o registro da notificação com o status "Sucesso (200)", mas mesmo assim seu sistema não foi atualizado, pode ser uma boa ideia adicionar uma condição ao seu código que, se por acaso houver algum problema do seu lado, faça sua aplicação responder à nossa notificação com um status HTTP diferente de 200 (por exemplo: header("HTTP/1.1 400")). Assim, entenderemos que será necessário enviar uma nova tentativa de notificação.

Parece que o erro "Not Found" está ocorrendo porque para capturar o token de notificação, você precisa utilizar $_POST, assim:

php
$token = $_POST["notification"];

# bolix
Avatar discord do usuario deson00

deson00

A sdk php utilizada mais antiga nao utiliza certificado é obrigatorio o uso do certificado mesmo utilizando a versao mais antiga e contas natigas ?

# bolix
Avatar discord do usuario deson00

deson00

Ver Respostas

Preciso tirar algumas duvidas sobre a sdk php mais antiga do gerencianet, os clientes que relata problemas são clientes de muitos anos que usa integração a muito tempo.

# pix
Avatar discord do usuario freitas_73582

freitas_73582

olá, gostari de tirar dúvidas sobre estorno de pix via api sdk php

# pix
Avatar discord do usuario alissonmaciel_32335

alissonmaciel_32335

No meu arquivo webhook.php eu coloquei pra criar um TXT do que é recebido e recebo isto:
{
"evento": "teste_webhook",
"data_criacao": "2024-05-09T15:13:32.178Z"
}

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Ok, no $body insira o ?ignorar=
$body = '{
"webhookUrl": "https://julioerp.agenciaweblab.com.br/webhook.php?ignorar="
}';

E no arquivo "/webhook.php" inseira o exemplo de código abaixo:

php

function resposta($status, $mensagem, $dados)
{
$resposta['status'] = $status;
$resposta['mensagem'] = $mensagem;
$resposta['dados'] = $dados;
$json_resposta = '
' . json_encode($resposta, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . '
';

header("HTTP/1.1 " . $status);
echo $json_resposta;
}

function salvar($dados)
{
// Crie um arquivo .;json para salvar as informações
$nomeArquivo = './dados.json';
$dadosGravados = json_decode(file_get_contents($nomeArquivo), true);
$arquivo = fopen($nomeArquivo, 'w');

// Incrementa as informações enviadas com o que já havia gravado
array_push($dadosGravados, $dados);

if (fwrite($arquivo, json_encode($dadosGravados))) {
resposta(200, "Requisição realizada com sucesso!", $dados);
} else {
resposta(300, "Falha ao salvar os dados da requisição.", $dados);
}

fclose($arquivo);
}

function requisicao($metodo, $body, $parametros)
{
switch ($metodo) {
case 'POST':
salvar($body);
break;
case 'GET':
resposta(200, "Requisição realizada com sucesso!", $body);
break;
}
}

// Obtém o método HTTP, body e parâmetros da requisição
$metodo = $_SERVER['REQUEST_METHOD'];
$parametros = explode('/', trim($_SERVER['REQUEST_URI'], '/'));
$body = json_decode(file_get_contents('php://input'), true);

try {
requisicao($metodo, $body, $parametros);
} catch (Exception $e) {
resposta(400, $e->getMessage(), $e);
}

A fim de teste, neste exemplo está salvando o json recebido em um arquivo dados.json. Então na mesma raiz crie-o com permissão de leitura e escrita. E escreva dentro do arquivo dados.json assim: [] para iniciar o json. Então simule um pagamento para receber a notificação.
Depois dos testes, pode manipular o json e gravar em um banco de dados.

# pix
Avatar discord do usuario alissonmaciel_32335

alissonmaciel_32335

Meu Webhook: public function webhook() {
$body = '{
"webhookUrl": "https://julioerp.agenciaweblab.com.br/webhook.php"
}';
try {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $this->config['rotas'] . '/v2/webhook/' . $this->config['chave_pix']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
curl_setopt($ch, CURLOPT_SSLCERT, $this->config["certificado"]);
curl_setopt($ch, CURLOPT_SSLCERTPASSWD, '');
$headers = array();
$headers[] = 'Authorization: Basic ' . $this->access_token;
$headers[] = 'X-Skip-Mtls-Checking: true';
$headers[] = 'Content-Type: application/json';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);

echo '

';
var_dump($this->config['chave_pix'], $this->config['client_id'], $this->config['client_secret'], $result);
echo '
';

if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
}
curl_close($ch);
return $result;
} catch (Exception $e) {
echo '
';
var_dump($e->getCode(), $e->getFile(), $e->getMessage());
echo '
';
}
}

# pix
Avatar discord do usuario alissonmaciel_32335

alissonmaciel_32335

Ver Respostas

Estou executando este método:
public function webhook() {
$body = '{
"webhookUrl": "https://julioerp.agenciaweblab.com.br/webhook.php"
}';
try {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $this->config['rotas'] . '/v2/webhook/' . $this->config['chave_pix']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
curl_setopt($ch, CURLOPT_SSLCERT, $this->config["certificado"]);
curl_setopt($ch, CURLOPT_SSLCERTPASSWD, '');
$headers = array();
$headers[] = 'Authorization: Bearer ' . $this->access_token;
$headers[] = 'X-Skip-Mtls-Checking: true';
$headers[] = 'Content-Type: application/x-www-form-urlencoded';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);

echo '

';
var_dump($this->config['chave_pix'], $result);
echo '
';

if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
}
curl_close($ch);
return $result;
} catch (Exception $e) {
echo '
';
var_dump($e->getCode(), $e->getFile(), $e->getMessage());
echo '
';
}
}

# pix
Avatar discord do usuario alissonmaciel_32335

alissonmaciel_32335

Ver Respostas

nesse caso terei que criar um arquivo webhook.php

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Oi, @alissonmaciel_32335. Bom dia!
Você precisa enviar o certificado em todas as requisições, não apenas na autenticação.
Adicione o código com o caminho do certificado.

php
CURLOPT_SSLCERT => $certificado, // Caminho do certificado
CURLOPT_SSLCERTPASSWD => "",

# pix
Avatar discord do usuario joaolucas_efi

joaolucas_efi

Ver Respostas

Você pode utilizar como base este exemplo aqui e adaptar para retornar somente os dados que deseja.

# pix
Avatar discord do usuario alex_684067_87631

alex_684067_87631

Ver Respostas

Poderia me mandar um modelo php simplificado da pagina da geração do Pix,
mas só com o pix colapega na pagina em branco, sem codigo QR, link e qq outra coisa

# cartões
Avatar discord do usuario smsoousa

smsoousa

Ver Respostas

Bom dia senhores (a).
Ano passado criei um sistema em php para utilizar a api da gerencianet, estava funcionando. Agora quando voltei a trabalhar com ela, estou recebendo esse erro:

"code": "4600033",
"error": "server_error",
"error_description": "Conta bloqueada para realizar emissões."

Alguém pode me ajudar?

# pix
Avatar discord do usuario peduuuu

peduuuu

to usando o codigo da própria documentação para tratar o JSON de notificação, imagino eu que essa linha seja a responsável por colher o json

$body = json_decode(file_get_contents('php://input'), true);

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Um detalhe que você precisa conferir, é se você registrar a URL assim http://urldosite.com.br/notifications.php, ao acionar o webhook, será acrescentado um /pix na URL. Portanto, deve-se ser tratado a adição do /pix na URL.

Para solucionar isso, cadastre seu webhook URL com a query param ?ignorar=. Assim, quando o webhook for acionado, o /pix será tratado como um parâmetro e você receberá o JSON no arquivo notifications.php, conforme a seguinte URL: http://urldosite.com.b/notifications.php?ignorar=/pix.

# pix
Avatar discord do usuario enriquerene

enriquerene

Ver Respostas

boa tarde. Como faço para cadastrar o webhook do pix? Eu fiz o htaccess e o php do exemplo da documentação, coloquei lá o index.php no diretório webhook como a documentação recomenda... mas e agora? Como posso testar o funcionamento? Estou meio perdido quanto a isso, poderiam me ajudar pfv

# freelancer
Avatar discord do usuario leandro535

leandro535

não consigo gerar boletos atualizei o sdk-php-apis-efi-1.8.0