Histórico de mensagens sobre certificado

EXIBINDO CONVERSAS RECENTES:

Texto: certificado
# pix
Avatar discord do usuario mateusbrasil2944

mateusbrasil2944

Ver Respostas

Quando tento criar um pix com as credenciais e certificado de Homologação funciona, mas quando tento utilizar as credencias e certificado de Produção ai da esse erro aqui
imagem enviada na mensagem pelo usuario mateusbrasil2944

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Primeiro você deve autenticar na API e obter o access_token.

php
$curl = curl_init();

$authorization = base64_encode("$client_id:$client_secret");

curl_setopt_array($curl, array(
CURLOPT_URL => "https://api-pix-h.gerencianet.com.br/oauth/token", // Rota base, desenvolvimento ou produção
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 => '{"grant_type": "client_credentials"}',
CURLOPT_SSLCERT => $arq_certificado, // Caminho do certificado
CURLOPT_SSLCERTPASSWD => "",
CURLOPT_HTTPHEADER => array(
"Authorization: Basic $authorization",
"Content-Type: application/json"
),
));

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

curl_close($curl);

$tokenType = $auth['token_type'];
$accessToken = $auth['access_token'];

Depois emitir o pix
php
$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "https://api-pix-h.gerencianet.com.br/v2/cob/$txID",
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_SSLCERT => $arq_certificado, // Caminho do certificado
CURLOPT_SSLCERTPASSWD => "",
CURLOPT_POSTFIELDS => '{
"calendario": {
"expiracao": 3600
},
"devedor": {
"cpf": "02279112312",
"nome": "Maria apareciada monteiro"
},
"valor": {
"original": "10.21"
},
"chave": "",
"solicitacaoPagador": "Mensaldiade Monteiro Sistemas"
}',
CURLOPT_HTTPHEADER => array(
"authorization: $tokenType $accessToken",
"Content-Type: application/json"
),
));

$dadosPix = json_decode(curl_exec($curl), true);
curl_close($curl);

return $dadosPix;

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Em todas as requisições deve-se passar o caminho do certificado também.

# pix
Avatar discord do usuario deivson7351

deivson7351

Ver Respostas

seria isso:
$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "https://api-pix-h.gerencianet.com.br/v2/cob/$id",
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 =>'{
"calendario": {
"expiracao": 3600
},
"devedor": {
"cpf": "02279112312",
"nome": "Maria apareciada monteiro"
},
"valor": {
"original": "10.21"
},
"chave": "",
"solicitacaoPagador": "Mensaldiade Monteiro Sistemas"
}',
CURLOPT_HTTPHEADER => array(
"authorization: {{$autorizacao}}",
"x-client-cert-pem: {{$config["certificado"]}}"
),
));

echo $curl;

$response = curl_exec($curl);

curl_close($curl);
echo $response;

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Os certificados e credenciais são de cada ambiente. Trocou de ambiente, tem que trocar clientid, clientsecret e certificado.

# pix
Avatar discord do usuario mateusbrasil2944

mateusbrasil2944

Dava erro de leitura do certificado

# pix
Avatar discord do usuario mateusbrasil2944

mateusbrasil2944

Mas antes sem o certificado não esse erro

# pix
Avatar discord do usuario valmirefi

valmirefi

Ver Respostas

Boa tarde @mateusbrasil2944, você está utilizando o certificado com a extensão .pem?

# pix
Avatar discord do usuario mateusbrasil2944

mateusbrasil2944

Estou usando o certificado e uma chave pix cadastrada na gerencianet, mas não consigo criar uma transação pix de jeito nenhum com o sdk do node

# dúvidas
Avatar discord do usuario mateusbrasil2944

mateusbrasil2944

Já to usando o certificado, e to usando uma chave pix que está cadastrada na gerencianet

# pix
Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Você precisa informar o path do certificado na variável que armazena as informações de integração. Exemplo:

module.exports = {
// PRODUÇÃO = false
// HOMOLOGAÇÃO = true
sandbox: false,
client_id: 'seuClientId',
client_secret: 'seuClientSecret',
pix_cert: 'caminhoAteOCertificadoPix',
};

# pix
Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

O certificado emitido em sua conta para realizar requisições na Api Pix?

# pix
Avatar discord do usuario mateusbrasil2944

mateusbrasil2944

Ver Respostas

Como adicionar o certificado no sdk do node?

# pix
Avatar discord do usuario leonardomg2082

leonardomg2082

SSLCertificateKeyFile /caminho_certificado/privkey_ssl.pem #privkey associada ao seu certificado SSL do domínio

# pix
Avatar discord do usuario leonardomg2082

leonardomg2082

SSLCertificateFile /caminho_certificado/fullchain_ssl.pem #fullchain associado ao seu certificado SSL do domínio

# pix
Avatar discord do usuario .guind

.guind

Ver Respostas

você pode testar se é problema de certificado cadastrando um webhook com o parametro x-skip-mtls-checking: true no header da requisição

# dúvidas
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

A linha do certificado está comentada. Ela precisa existir e apontar um arquivo localmente disponível com o certificado.

# dúvidas
Avatar discord do usuario klowty

klowty

Bom dia! estou estou tentando utilizar a SKD PHP de vocês, estou tentando fazer alguns testes simples com a função pixReceivedList() mas o SDK não encontra o arquivo do certificado, já tentei subir até no S3 e passar a URL, mas nada funciona. Poderiam me ajudar?

# devs
Avatar discord do usuario palloma_efi

palloma_efi

Ver Respostas

Aaaah certo! Você precisa utilizar estes comandos para gerar as chaves separadas:

openssl pkcs12 -in path.p12 -out newfile.crt.pem -clcerts -nokeys //certificado
openssl pkcs12 -in path.p12 -out newfile.key.pem -nocerts -nodes //chave privada
Onde path.p12 é o seu certificado em formato p.12

# pix
Avatar discord do usuario adilsonpereira

adilsonpereira

Ver Respostas

@jessica_efi Depois de terminar de implementar tudo, estou com problema na questão do webhook. Caso a Locaweb me de uma resposta negativa sobre instalar este certificado CA no meu servidor, o @guilherme_efi falou em uma resposta a outro usuário que mandaria no privado como fazer isso, poderia me explicar?