Histórico de mensagens sobre certificado em pix

EXIBINDO CONVERSAS RECENTES:

Texto: certificado
Canal: pix
Avatar discord do usuario andrebarbosa_dev

andrebarbosa_dev

Ver Respostas

Boa tarde, quando o arquivo do certificado tem alguns espaços, pode ter problema? ou não?

Avatar discord do usuario jessica_efi

jessica_efi

Ver Respostas

Boa tarde @relance_ ! Em produção, você vai gerar da mesma forma, inserir o client_id, client_secret e certificado de produção e a chave Pix. Nossas sdks já têm implementado a autenticação.

Avatar discord do usuario relance_

relance_

Ver Respostas

Olá, estou utilizando o sdk da efipay e estou com uma duvida ao implementar no meu sistema. estou desenvolvendo um script que no cenario atual ele consegue gerar o pix qrcode somente com a client_id, secret_id, certificado e chave pix, a minha duvida é no ambiente de produção tem que fazer algum lógica de autenticação para gerar o qrcode de pix?

Avatar discord do usuario .lortega

.lortega

Boa tarde, eu gerei o certificado de homologação, usei o comando "openssl pkcs12 -in certificado.p12 -out certificado.pem -nodes -password pass:""
E usei o Postman seguindo o tutorial que vocês forneceram para pegar o token de homologação, mas recebo a mensagem: Error: BAD_PKCS12_DATA, podem me orientar?

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

PJ a API já vem habilitada por padrão. Aí só criar um par clientid/clientsecret e um certificado, e liberar os escopos.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

ECONNRESET acontece quando você não manda o certificado.

Avatar discord do usuario alissonmaciel_32335

alissonmaciel_32335

esse requisição do webhook precisa do certificado?

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 '
';
}
}

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 '
';
}
}

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 => "",

Avatar discord do usuario rubenskuhl

rubenskuhl

Mas se quiser spoiler do que você vai ver, é uma requisição POST feita para a URL do webhook sem apresentar o certificado, seguida de uma com o certificado, na hora em que você ativa.
E depois, quando vem o Pix, eles fazem POST em URL+"/pix" com um array de objetos Pix.

Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

O problema era certificado expirado.

Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Gera o certificado para o subdominio, fazendo favor.

Avatar discord do usuario buenolitz

buenolitz

Ver Respostas

Sim, gerei certificado Wildcard

Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Você criou um certificado wildcard?

Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Bom dia, @buenolitz! Tudo bem?
Aparentemente o certificado SSL do seu dominio não foi criado corretamente.
Com você configurou o SSL do dominio?

Avatar discord do usuario silvajc84

silvajc84

Ja adicionei as seguintes informacoes:


Client_Id Produção
Client_secret Produção
Certificado Pix

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Então, e o certificado para as chamadas diretas é só o começo da sua dor. No webhook ela vai se tornar bem mais forte.

Avatar discord do usuario yurikfernandes

yurikfernandes

Ver Respostas

Certinho, muito obrigado, estava desconfiado que o problema era o certificado mesmo.
Como todo dev, ainda quebrando um pouco a cabeça aqui rsrs