Histórico de mensagens sobre certificado em pix

EXIBINDO CONVERSAS RECENTES:

Texto: certificado
Canal: pix
Avatar discord do usuario he128

he128

Ver Respostas

Passo também o client_id e o client_secret ou somente o certificado e o AccessToken nessa requisição de cadastro de URL de Webhook ?

Avatar discord do usuario jessica_efi

jessica_efi

Ver Respostas

Boa tarde @he128 ! É necessário enviar o certificado em todas as requisições.

Avatar discord do usuario he128

he128

Ver Respostas

Eu passo o certificado pra criar o AccessToken mas para cadastrar a URL do Webhook eu não envio o certificado.
imagem enviada na mensagem pelo usuario he128

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Precisa passar também o certificado.

Avatar discord do usuario jessica_efi

jessica_efi

Ver Respostas

O certificado deve ser enviado em todas as requisições. E você cadastra o webhook para homologação sim.

Avatar discord do usuario ilopaiz

ilopaiz

Ver Respostas

O certificado do cliente eu só passo ao gerar o acess token, certo?

Avatar discord do usuario joaolucas_efi

joaolucas_efi

Ver Respostas

Boa tarde, @luizcubas. Tudo bem?
É possível fazer da forma com que você deseja, fizemos este ajuste justamente para atender casos como o seu, onde os clientes utilizam um servidor e não desejam ou não podem subir arquivos como o do certificado.

Avatar discord do usuario luizcubas

luizcubas

Ver Respostas

Bom dia equipe Efi, espero que estejam bem. Por gentileza, estou utilizando a SDK de vocês para NodeJS e estou com uma dúvida, nas opções de inicialização do EfyPay, eu posso passar diretamente o certificado em Base64 através de uma variável de ambiente ou é obrigatório o uso de um arquivo?

Exemplo da documentação:

module.exports = {
sandbox: true,
client_id: 'seuClientId',
client_secret: 'seuClientSecret',
certificate: 'caminho/Ate/O/Certificado/Pix',
cert_base64: false, // Indica se o certificado está em base64 ou não
}

Como pretendo utilizar:

const options = {
sandbox: true,
client_id: process.env.EFIAPI_CLIENTID || "",
client_secret: process.env.EFIAPI_CLIENTSECRET || "",
certificate: process.env.EFIAPI_CERT,
cert_base64: true,
}
A ideia é que a variável de ambiente EFIAPI_CERT contenha diretamente o valor do certificado em BASE64, dessa forma evito ter que subir o arquivo para o servidor, seria possível?

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Se funcionou em homologação e não em produção, provavelmente tenha faltado gerar o certificado de produção.

Avatar discord do usuario joaolucas_efi

joaolucas_efi

Ver Respostas

Bom dia, @eduardobragajr.. Tudo bem?
Você pode seguir os passos descritos neste artigo

Avatar discord do usuario eduardobragajr.

eduardobragajr.

Ver Respostas

esqueci onde faço o download do certificado para recebimento pix para lojas woocomerce

Avatar discord do usuario yasmin_efi

yasmin_efi

@he128 o certificado e as credenciais devem vir da conta emissora, no caso eles precisariam informar estes dados tambem!

Avatar discord do usuario he128

he128

Tenho uma outra dúvida, quando eu for integrar as contas dos meus clientes no meu sistema, eles vão ter que subir o certificado do cliente id e cliente secret deles também ou apenas as chaves e usar o meu certificado da api ?

Avatar discord do usuario he128

he128

Eu criei o servidor webhook com certificado configurado no virtual host do apache e o arquivo php no diretório e subdomínio apontado, quando gerar um pix aonde coloco a url de retorno dentro do json ou como cadastro a url do webhook, no mercadopago cada transação que faço informo a url de retorno em cada transação pix, só funciona via SDK ou posso fazer tudo com CURL ?

Avatar discord do usuario daviqsh

daviqsh

Ver Respostas

//Desenvolvido pela Consultoria Técnica da Efí

"use strict";
const https = require("https");
var axios = require("axios");
var fs = require("fs");

//Insira o caminho de seu certificado .p12 dentro de seu projeto
var certificado = fs.readFileSync("./certs/SorteioCabelo_hml_cert.pem");

//Insira os valores de suas credenciais em desenvolvimento do pix
var credenciais = {
client_id: process.env.CLIENT_ID_HML,
client_secret: process.env.CLIENT_SECRET_HML,
};


var data = JSON.stringify({ grant_type: "client_credentials" });
var data_credentials = credenciais.client_id + ":" + credenciais.client_secret;

// Codificando as credenciais em base64
var auth = Buffer.from(data_credentials).toString("base64");

const agent = new https.Agent({
cert: certificado,
passphrase: '',
});

//Consumo em desenvolvimento da rota post oauth/token
const config = {
method: "POST",
url: "https://pix-h.api.efipay.com.br/oauth/token",
headers: {
Authorization: "Basic " + auth,
"Content-Type": "application/json"
},
httpsAgent: agent,
data: data,
};

axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Bom dia, @daviqsh! O que o Rubens quis dizer é que, depois de obter o access_token, nas próximas requisições você deve enviar o access_token e continuar usando o certificado, sem precisar incluir o client_id e o client_secret.
Você já conseguiu obter o access_token? Como está montando a requisição?

Avatar discord do usuario daviqsh

daviqsh

Ver Respostas

Acho que não entendi bem, esses parâmetros estão como variáveis de ambiente, estou no processo de obter o access_token, e o certificado está correto com a extensão .pem, se eu retirar esses parâmetros como ele vai fazer a autenticação e retornar o access_token?

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Só retire do código parâmetros de autenticação como clientid/clientsecret.

De qualquer forma, a mensagem de erro é sugestiva de você não estar enviando o certificado nas requisições para a API... o certificado é necessário em todas as requisições, não só a de obtenção do token de autenticação.

Avatar discord do usuario joaolucas_efi

joaolucas_efi

Ver Respostas

Bom dia, @.prysthon. Tudo bem?
Essa falha pode ser causada por não enviar o certificado em todas as requisições realizadas, assim como é enviado na autenticação deve ser enviado em qualquer requisição para a API Pix.
Qualquer dúvida é só nos chamar por aqui.

Avatar discord do usuario daviqsh

daviqsh

Ver Respostas

Só dando um retorno hoje, você estava certa, corrigi o certificado e a url que também estava errada e gerou o Access token, muito obrigado pelo suporte !!!