Histórico de mensagens sobre certificado

EXIBINDO CONVERSAS RECENTES:

Texto: certificado
# marketplace
Avatar discord do usuario tudocatolico

tudocatolico

Ver Respostas

Entendi João, faz todo sentido. Pode me orientar como faço para baixar o certificado de homologação pra disponibilizar no /home/customer/www/tudocatolico.com.br/public_html/efipem/ da minha infra?

Se entendi corretamente, preciso baixar o certificado de homologação, disponibilizar na minha infra e atualizar a URL de /home/customer/www/tudocatolico.com.br/public_html/efipem/productioncertificate.pem para /home/customer/www/tudocatolico.com.br/public_html/efipem/"homolog"certificate.pem

# marketplace
Avatar discord do usuario joaolucas_efi

joaolucas_efi

Ver Respostas

Bom dia, @tudocatolico. Tudo bem com você?
O campo PIX Key deve ser uma chave Pix pertencente a sua conta, pelo que você disse esta correto. Porém como você comentou anteriormente que estão realizando testes no ambiente de homologação o campo Certificate path deveria indicar o certificado de homologação, e no seu caso esta indicando o certificado de produção ao invés do de homologação.

# pix
Avatar discord do usuario joao_efi

joao_efi

Bom dia @viniciusfernando_16416_80640 tudo certo?
Por gentileza, verifique se o seu certificado não expirou.
Para isso, você pode acessar o menu "API" > "Certificados" e consultar a listagem do seu certificado.

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Então, os certificados gerados se referem a uma raiz. A mensagem de erro é que você não tem a raiz para seu software entender esses certificados como válidos.

# devs
Avatar discord do usuario fe0068

fe0068

boa noite, sobre pix webhook
alguem tem alguma ideia?
tento cadastrar um webhook sandbox mas não vai
peguei a chave aqui:
https://certificados.efipay.com.br/webhooks/certificate-chain-homolog.crt
fiz a validação pelo nginx

ssl_client_certificate /nginx/vhosts/certificates/efipay_homolog.crt;
ssl_verify_client optional;

location ^~ /notification/efipay {
if ($ssl_client_verify != "SUCCESS") {
return 403;
}
}


mas não vai entrei em contato falaram que na 2 requisição ainda retorna o 403
ja verifiquei a chave que peguei no link que passei e está correta

alguma idéia?

# pix
Avatar discord do usuario vitorpigatto_96742

vitorpigatto_96742

Ver Respostas

estou seguindo um passo a passo no youtube, e parei em uma parte básica heheh
quando eu clico criar certificado, não está criando, sabem o motivo?
imagem enviada na mensagem pelo usuario vitorpigatto_96742

# pix
Avatar discord do usuario joaolucas_efi

joaolucas_efi

Ver Respostas

Bom dia, @vitorpigatto_96742. Tudo bem?
Não temos conhecimento sobre o uso de Power Query, mas buscando rapidamente na internet é dito que o Power Query não aceita certificados como .pem, portanto você não vai conseguir autenticar na API.

# pix
Avatar discord do usuario aleque0169

aleque0169

Ver Respostas

Boa noite, pessoal.

Ao realizar a seguinte requisição: https://pix-h.api.efipay.com.br/oauth/token, utilizando meu Client_Id, Client_Secret e o certificado p12 de homologação. Nesse ambiente, consigo obter o token corretamente.

No entanto, ao tentar realizar a requisição utilizando o domínio https://pix.api.efipay.com.br/oauth/token com o Client_Id, Client_Secret e certificado p12 de produção, recebo a seguinte resposta de erro: "socket hang up".

O que devo fazer para resolver esse problema?
imagem enviada na mensagem pelo usuario aleque0169

# devs
Avatar discord do usuario .flaviovieira

.flaviovieira

Ver Respostas

Oi Pessoal boa tarde, poderiam abrir um chamado para mim? preciso resolver um problema com certificado

# dúvidas
Avatar discord do usuario .flaviovieira

.flaviovieira

Opa obrigado, o burrão aqui esqueceu de ativar a homologação nos certificados

# pix
Avatar discord do usuario allan294

allan294

Ver Respostas

Boa tarde Pessoal, uma dúvida estou trabalhando em um projeto onde queremos disponibilizar para os usuários, poder receber pagamentos, cartão de credito, pix, bolix... Para essa configuração é necessário fazer a integração com cada conta do usuário? Se ele não tiver abrir uma conta (obvio), e em seguida ativar todas as configurações de integração, e ainda utilizar os certificados de cada usuário ? Tem algum meio que agiliza todo esse processo de configuração? Como vemos em outros gateways de pagamento ?

# dúvidas
Avatar discord do usuario yasmin_efi

yasmin_efi

Na SDK de Java, o certificado precisa ser enviado no formato .p12

# dúvidas
Avatar discord do usuario .flaviovieira

.flaviovieira

Olá pessoal, podem me dar uma ajuda? Eu estou tomando um erro ao enviar os certificados para a api de pix com o SDK JAVA, poderiam me dizer como eu tenho que enviar? Já tentei enviar em base64 más mes dá sempre o mesmo erro: Unexpected end of file from server

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Bom dia, @vinicio254! Tudo bem?

Você pode usar o exemplo abaixo para registrar o webhook. Sobre a configuração do mTLS, você pode conferir este vídeo que ensina a configuração em servidor Apache.

php

$homolog = true; // false para produção

$config = [
"certificado" => realpath(__DIR__ . "/certificado.pem"), // certificado em .pem de produção ou homologação
"client_id" => "Client_Id",
"client_secret" => "Client_Secret"
];

$chavePix = "suachavepix";

$webhookUrl = "https://seudominio.com.br/webhook/hash=hashdeseguranca&ignorar="

$autorizacao = base64_encode($config["client_id"] . ":" . $config["client_secret"]);
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $homolog ? "https://pix-h.api.efipay.com.br/oauth/token" : "https://pix.api.efipay.com.br/oauth/token",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 8,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => '{"grant_type": "client_credentials"}',
CURLOPT_SSLCERT => $config["certificado"], // Caminho do certificado
CURLOPT_SSLCERTPASSWD => "",
CURLOPT_HTTPHEADER => array(
"Authorization: Basic $autorizacao",
"Content-Type: application/json"
),
));
var_dump(curl_exec($curl));
$returnAuth = json_decode(curl_exec($curl), true);
$access_token = $returnAuth['access_token'];
curl_close($curl);


//Criação da cobrança
$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => $homolog ? "https://pix-h.api.efipay.com.br/v2/webhook/$chavePix" : "https://pix.api.efipay.com.br/v2/webhook/$chavePix"
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_POSTFIELDS => '{
"webhookUrl": $webhookUrl
}',
CURLOPT_SSLCERT => $config["certificado"], // Caminho do certificado
CURLOPT_SSLCERTPASSWD => "",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer $access_token",
"x-skip-mtls-checking: true",
"Content-Type: application/json"
),
));
$responsePix = json_decode(curl_exec($curl), true);
curl_close($curl);

echo '
' . json_encode($responsePix, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . '
';

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Bom dia, @roxzin! Como vai?
Aqui está um código que funciona:

php

$homolog = true; // false para produção

$config = [
"certificado" => realpath(__DIR__ . "/certificado.pem"), // certificado em .pem de produção ou homologação
"client_id" => "Client_Id",
"client_secret" => "Client_Secret"
];


$autorizacao = base64_encode($config["client_id"] . ":" . $config["client_secret"]);
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $homolog ? "https://pix-h.api.efipay.com.br/oauth/token" : "https://pix.api.efipay.com.br/oauth/token",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 8,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => '{"grant_type": "client_credentials"}',
CURLOPT_SSLCERT => $config["certificado"], // Caminho do certificado
CURLOPT_SSLCERTPASSWD => "",
CURLOPT_HTTPHEADER => array(
"Authorization: Basic $autorizacao",
"Content-Type: application/json"
),
));
var_dump(curl_exec($curl));
$returnAuth = json_decode(curl_exec($curl), true);
$access_token = $returnAuth['access_token'];
curl_close($curl);


//Criação da cobrança
$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => $homolog ? 'https://pix-h.api.efipay.com.br/v2/cob/' : 'https://pix.api.efipay.com.br/v2/cob/',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => '{
"calendario": {
"expiracao": 3600
},
"devedor": {
"cpf": "12345678909",
"nome": "Francisco da Silva"
},
"valor": {
"original": "0.45"
},
"chave": "[email protected]"
}',
CURLOPT_SSLCERT => $config["certificado"], // Caminho do certificado
CURLOPT_SSLCERTPASSWD => "",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer $access_token",
"Content-Type: application/json"
),
));
$responsePix = json_decode(curl_exec($curl), true);
curl_close($curl);

echo '
' . json_encode($responsePix, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . '
';

if ($responsePix['loc']['id']) {
$idlocationPix = $responsePix['loc']['id'];

// Obtêm o Pix Copia e Cola e QR Code
$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => $homolog ? 'https://pix-h.api.efipay.com.br/v2/loc/' . $idlocationPix . '/qrcode' : 'https://pix.api.efipay.com.br/v2/loc/' . $idlocationPix . '/qrcode',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_SSLCERT => $config["certificado"], // Caminho do certificado
CURLOPT_SSLCERTPASSWD => "",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer $access_token",
),
));

$response = json_decode(curl_exec($curl), true);

curl_close($curl);


$PixCopiaCola = $response['qrcode'];
$imagemQrcode = $response['imagemQrcode'];


echo 'QR Code:';
echo '
' . json_encode($PixCopiaCola, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . '
';

echo 'Imagem:
';
echo '';
}
Também temos nossa SDK de PHP (https://github.com/efipay/sdk-php-apis-efi), que usa o Guzzle.

# devs
Avatar discord do usuario gabriel_efi

gabriel_efi

Ver Respostas

Olá, @williandougllas!
Não há uma recomendação fixa de diretório para armazenamento do certificado, ele deve estar em um caminho protegido de acessos externos no seu servidor e disponível de forma privada para o seu back-end.

Verifique a estrutura de diretórios, o módulo node que está utilizando e as regras de rota da aplicação para assegurar que o caminho está disponível. Recomendamos realizar testes pontuais somente com a localização de arquivos para tornar a depuração mais precisa.

# devs
Avatar discord do usuario williandougllas

williandougllas

Ver Respostas

Pessoal, uma dúvida: ao usar a SDK Node.js, onde devo colocar os certificados? Estou tendo problemas para encontrá-los mesmo usando caminhos absolutos. Alguém pode ajudar?