Histórico de mensagens sobre certificado

EXIBINDO CONVERSAS RECENTES:

Texto: certificado
# 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?

# devs
Avatar discord do usuario litho_on

litho_on

Consegui resolver, esqueci de colocar o certificado de produção 😦

# pix
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.

# devs
Avatar discord do usuario jrrdsknd

jrrdsknd

Ver Respostas

bom dia, eu to com um codigo aqui que fiz, acredito que possa ajudar bastante algumas pessoas com problema em webhook, aqueles certificados ssl e etc, eu posso compartilhar aqui?

# bolix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Olá, @deson00. Bom dia! Tudo bem?
O certificado não é necessário para a emissão de boletos, somente de cobrança Pix avulsa. Então se utilizam esta SDK mais antiga, provavelmente emitem somente boleto mesmo.

# 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 ?

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

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

# pix
Avatar discord do usuario alissonmaciel_32335

alissonmaciel_32335

esse requisição do webhook precisa do certificado?

# 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 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 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.

# devs
Avatar discord do usuario akaize.

akaize.

Ver Respostas

Até então o que eu enviava era o Bearer com o token gerado a partir do Client_ID e Client_Secret, isso validado pelo certificado.
Vi aqui que isso ocorre no webhook, antes funcionava normal, eu atualizava o webhook com a chave antes de criar o pix com a mesma chave, agora a mesma lógica esta retornando este erro

# devs
Avatar discord do usuario buenolitz

buenolitz

Ver Respostas

Pessoal, alguém conseguiria me ajudar na criação do certificado SSL com certbot ? Estou travado nesse ponto para criação do meu servidor webhook
Já vi alguns videos tanto da Efi quanto de fora mas sempre estou tendo o mesmo erro

# devs
Avatar discord do usuario akaize.

akaize.

Ver Respostas

Agora o problema é em produçao, mesmo com certificado e as configurações corretas, ele esta me retornando este erro:
{\"nome\":\"chave_invalida\",\"mensagem\":\"A chave informada não faz referência à conta Efí autenticada\"}"

# pix
Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

O problema era certificado expirado.

# pix
Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Gera o certificado para o subdominio, fazendo favor.

# pix
Avatar discord do usuario buenolitz

buenolitz

Ver Respostas

Sim, gerei certificado Wildcard

# pix
Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Você criou um certificado wildcard?