Histórico de mensagens sobre certificado

EXIBINDO CONVERSAS RECENTES:

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