Histórico de mensagens sobre Client_ID em pix

EXIBINDO CONVERSAS RECENTES:

Texto: Client_ID
Canal: pix
Avatar discord do usuario yasmin_efi

yasmin_efi

Boa tarde @diegozarpellon! Para utilizar o Pix basta você criar uma aplicação na sua conta e adicionar as credenciais criadas, client_id e client_secret, em sua maquininha!

Avatar discord do usuario jessica_efi

jessica_efi

Ver Respostas

Boa tarde @relance_ ! Em produção, você vai gerar da mesma forma, inserir o client_id, client_secret e certificado de produção e a chave Pix. Nossas sdks já têm implementado a autenticação.

Avatar discord do usuario relance_

relance_

Ver Respostas

Olá, estou utilizando o sdk da efipay e estou com uma duvida ao implementar no meu sistema. estou desenvolvendo um script que no cenario atual ele consegue gerar o pix qrcode somente com a client_id, secret_id, certificado e chave pix, a minha duvida é no ambiente de produção tem que fazer algum lógica de autenticação para gerar o qrcode de pix?

Avatar discord do usuario kaykyramos

kaykyramos

import as EfiPay from 'sdk-node-apis-efi'

import { Injectable } from '@nestjs/common'

import 'dotenv/config'

@Injectable()
export class PixService {
private efiPay = new EfiPay({
sandbox: false,
client_id: process.env.EFIPAY_CLIENT_ID,
client_secret: process.env.EFIPAY_CLIENT_SECRET,
certificate: './certs/producao-453290-LinkZap-v2.p12',
})

constructor() {
//
}

public async getBalance() {
const { saldo } = await this.efiPay.getAccountBalance()
return Number(saldo)
}

public async payPix(pixCode: string, amount: number) {
const balance = await this.getBalance()
if (balance < amount) {
throw new Error('Saldo insuficiente')
}

try {
const response = await this.efiPay.pixSend(
{ idEnvio: '01' },
{
valor: amount,
pagador: {
chave: 'a4c3dcd3-0005-454e-957f-df416a63c4ed',
},
favorecido: {
chave: pixCode,
},
},
)
return response
} catch (error) {
console.log(error)
}
}
}

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 '
';
}
}

Avatar discord do usuario silvajc84

silvajc84

Ja adicionei as seguintes informacoes:


Client_Id Produção
Client_secret Produção
Certificado Pix

Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Você esta usando alguma SDK?
Alterou a flag sandbox e as credenciais (client_id e client_secret)?

Avatar discord do usuario guilherme_efi

guilherme_efi

@alexsiqueira0615, excluímos a mensagem por conter os dados sensíveis.
verifique se você utilizou o certificado também de homologação, além do Client_Id e Client_Secret

Avatar discord do usuario alexsiqueira0615

alexsiqueira0615

Nesse ponto da documentação;
Na collection importada, localize a rota /oauth/token e clique duas vezes para abri-la;
Acesse o menu "Authorization" e verifique se o "Type" (tipo de autorização) está selecionado como "Basic Auth";
Nos campos "username" e "password" preencha com as credenciais da sua aplicação, Client_Id e Client_Secret, respectivamente;
Para testar, clique no botão "Send" para enviar a requisição

Avatar discord do usuario niltonalmeida1980_71812

niltonalmeida1980_71812

os valores do client ID, Client Secrect são de homologação.

Avatar discord do usuario joaolucas_efi

joaolucas_efi

Ver Respostas

Tanto o certificado quanto o par Client ID e Client Secret são diferentes à depender do ambiente, o parâmetro sandbox nas credenciais diz à qual ambiente você vai tentar fazer requisição.
Com sandbox = true você fará requisição para homologação, portanto suas credenciais (Client ID, Client Secrect e certificado) devem ser de homologação.

Avatar discord do usuario .ilselangnar

.ilselangnar

É uma conta corporative e utilizamos o CNPJ para receber pagamentos, fois por essa conta que foi gerados as credenciais como "client_id" e "client_secret"

Avatar discord do usuario joao_efi

joao_efi

Ver Respostas

@.ilselangnar a chave Pix precisa estar registrada na mesma conta do client_id e client_secret

Avatar discord do usuario walysonpatric

walysonpatric

Ver Respostas

Coloquei assim mas só funciona no localhost a confirmação de PIX (http://localhost:8000/cob/a7689c1ff5b64eeca8695e2e58c30007), no site da vercel da página não encontrada.

Já coloquei as variáveis no site e estou usando o certificado p12, o pem da erro até no localhost.

Teria que colocar algum comando no arquivo next.config.js ou vercel.json?

// Rota para consultar cobrança por txid
router.get('/cob/:txid', async (req, res) => {
const txid = req.params.txid;

try {
const reqGN = await GNRequest({
clientID: process.env.GN_CLIENT_ID,
clientSecret: process.env.GN_CLIENT_SECRET
});

// Consultar a cobrança usando o txid
const response = await reqGN.get(https://pix.api.efipay.com.br/v2/cob/${txid});

// Verificar se há um objeto PIX na resposta
if (response.status === 200 && response.data.pix) {

// Enviar o código de ativação junto com a resposta
return res.status(200).json({ message: 'PIX confirmado com sucesso.' });
} else {
// O PIX não foi pago ou não encontrado
return res.status(400).json({ error: 'PIX não encontrado ou não foi pago.' });
}
} catch (error) {
console.error('Erro ao consultar a cobrança:', error.message);
return res.status(500).json({ error: 'Erro ao consultar a cobrança.' });
}
});

Avatar discord do usuario walysonpatric

walysonpatric

Ver Respostas

Oi, pra confirmar se o pix foi pago seria algo assim? (não sei muito sobre isso, to aprendendo e usei o GPT pra criar o código.)

app.post('/webhook(/pix)?', async (req, res) => {

try {
// Consultar a cobrança usando o txid
const response = await axios.get(/v2/cob/:txid, {
headers: {
Authorization: 'Bearer' + process.env.GN_CLIENT_ID // Substitua pelo token de autorização correto
}
});

// Verificar o status da cobrança na resposta
if (response.status === 200 && response.data.status === 'CONCLUIDA') {

// Enviar o código de ativação para o Supabase
const { data: insertedData, error } = await supabaseClient
.from('dominios_permitidos')
.insert([{ code: generatedCode }]); // Acesse o código gerado na rota '/api/key'

// Enviar o código de ativação junto com a resposta
return res.status(200).json({ message: 'Webhook recebido com sucesso.', code: generatedCode });
} else {
// Se a cobrança não estiver concluída, retorne uma mensagem de erro
return res.status(400).json({ error: 'Cobrança não concluída.' });
}
} catch (error) {
console.error('Erro ao consultar a cobrança:', error.message);
return res.status(500).json({ error: 'Erro ao consultar a cobrança.' });
}

});

Avatar discord do usuario alex_684067_87631

alex_684067_87631

hola buenas tardes, soy nuevo en este tema EFI. Me logueé en https://app.sejaefi.com.br/home y estoy buscando un lugar en donde crear un código PIX o QR para que un cliente pueda utilizarlo. Actualmente integré la aplicación usando mercadopago pero quiero cambiarla a algo más intuitivo.
Ya instalé el SDK y seguramente voy a necesitar crear las keys, como muestra el ejemplo de EFI?
Me refiero a
{
"client_id": "Client_Id",
"client_secret": "Client_Secret",
"certificate": "./certs/nome_certificado.p12",
"sandbox": true,
"timeout": 30
} pero no entiendo bien los tutorials. Existe algún URL con el "paso a paso" para integrar una aplicación para que pueda generar el QR o el link correspondiente

Avatar discord do usuario calebportodev

calebportodev

Olá. Como usar as chaves CLIENT_ID e CLIENT_SECRET_ID e o certificado .p12 para gerar um pagamento em PIX?
imagem enviada na mensagem pelo usuario calebportodev

Avatar discord do usuario berdamc

berdamc

"access_token_url": "https://pix-h.api.efipay.com.br/oauth/token",
"credentials": {
"grant_type": "client_credentials",
"client_id": "12123123",
"client_secret": "123123123",
"scope": "read_write"
},

Avatar discord do usuario _isaqueoliveiradev

_isaqueoliveiradev

Ver Respostas

Bom dia, estou trabalhando em um sistema que utiliza a API Pix, porem a conta que esta sendo utilizada pra receber os pagamentos pix precisa ser alterada para uma outra conta, gostaria de saber o que preciso alterar tanto no codigo, seria somente o client_id, client_secret, chave pix e o certificado p12?

Avatar discord do usuario jessica_efi

jessica_efi

Ver Respostas

Boa tarde @lidiamariano ! Pra essa rota https://pix.api.efipay.com.br/ você deve usar Client_id, Client_Secret e certificado de produção. Se for utilizar as credenciais e certificado de homologação, você deve utilizar a rota https://pix-h.api.efipay.com.br