Histórico de mensagens sobre js

EXIBINDO CONVERSAS RECENTES:

Texto: js
# pix
Avatar discord do usuario bigjhinzxy

bigjhinzxy

Gente como configurar esse certificado, utilizo o node.js, devo converte-lo em PEM e colocar o caminho do certificado? E qual a senha dele

javascript
[LOG] Error: FALHA AO LER O CERTIFICADO Promise {
Error: FALHA AO LER O CERTIFICADO
at Endpoints.run (C:\Users\danie\Downloads\Genesis.RecenteAgora\node_modules\gn-api-sdk-node\lib\endpoints.js:46:11)
at Gerencianet. [as pixCreateImmediateCharge] (C:\Users\danie\Downloads\Genesis.RecenteAgora\node_modules\gn-api-sdk-node\index.js:20:22)
at C:\Users\danie\Downloads\Genesis.RecenteAgora\Functions\DentroCarrinho.js:59:21
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async DentroCarrinhoPix (C:\Users\danie\Downloads\Genesis.RecenteAgora\Functions\DentroCarrinho.js:10:5)
}

# devs
Avatar discord do usuario kevencampos

kevencampos

Ver Respostas

Bom dia @guilherme_efi, obrigado pela ajuda! sabe se tem alguma API que possa puxar as informações do banco pelo ISPB ? ou um JSON já atualizado com as informações dos bancos pra poder consultar assim que receber a resposta ?

# devs
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Bom dia, @413749917396238336! Tudo bem?

Para receber essa informação pelo webhook, primeiro é preciso habilitar essa configuração. Para isso, use o endpoint PUT /v2/gn/config (Criar/modificar configurações da conta), enviando o JSON com a configuração associada à chave Pix que será usada nas cobranças. Para receber os dados do pagador, incluindo o banco utilizado, adicione o parâmetro webhook>>notificacao>>pagador=true.

Depois de fazer essa configuração, as notificações incluirão o atributo gnExtras>>pagador, com o codigoBanco. Esse código do banco pode ser identificado na lista disponibilizada pelo Banco Central.
imagem enviada na mensagem pelo usuario guilherme_efi
imagem enviada na mensagem pelo usuario guilherme_efi

# devs
Avatar discord do usuario kevencampos

kevencampos

Ver Respostas

js
import express from "express";
import cors from "cors" ;
import bodyParser from "body-parser";
import routes from "./routes";

const app = express();

app.use(cors());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());

// Essa rota poderá ser acessada a partir do URL http://localhost:3001.
// Ela é do tipo GET, por isso poderá ser acessada através da URL no navegador.
app.get("/", (req, res) => {
res.send("Hello World");
});

// Essa rota poderá ser acessada a partir do URL http://localhost:3001/notifications
// Ela é do tipo "POST", portanto não poderá ser acessada pelo navegador
app.post("/notifications", (req, res) => {
const { pix } = req.body;

if (Array.isArray(pix)) {
for (const notification of pix) {
const isRecharge = notification.devolucoes;
const isSend = notification.gnExtras?.idEnvio && !notification.txid;

if (isRecharge) {
console.log("Pix recharge notification received", notification);
continue;
}

if (isSend) {
console.log("Pix send notification received", notification);
continue;
}

console.log("Pix payment notification received", notification);
}
}

res.json({ message: "Notification received" });
});

app.listen(3001, () => {
console.log("Servidor ONLINE na porta 3001 -> acesse http://localhost:3001");
});

export default app;
Esse aqui é um exemplo de uma API rodando na porta 3001, ai você manda o webhook mandar as notificações de pagamento na rota que você criou pra isso, que nesse exemplo é a http://localhost:3001/notifications. Acredito que se realmente deseja integrar o webhook na sua aplicação, é importante você estudar a biblioteca express antes, caso já não conheça

# devs
Avatar discord do usuario thefaccin

thefaccin

Ver Respostas

Alguem aqui ja fez a webhook em node.js? Poderia me dar uma mão?

# pix
Avatar discord do usuario ricieremassariol

ricieremassariol

Ver Respostas

Se não me engano vai ser só vc fazer uma url externa no seu site que eles vão direcionar para lá as respostas em json..

# devs
Avatar discord do usuario kevencampos

kevencampos

Ver Respostas

ts
notificationRoutes.post("/notifications", (req, res) => {
const { pix } = req.body;

if (Array.isArray(pix)) {
for (const notification of pix) {
const isRecharge = notification.devolucoes;
const isSend = notification.gnExtras?.idEnvio && !notification.txid;

if (isRecharge) {
console.log("Pix recharge notification received", notification);
continue;
}

if (isSend) {
console.log("Pix send notification received", notification);
continue;
}

console.log("Pix payment notification received", notification);
}
}

res.json({ message: "Notification received" });
});
Fiz essas verificações, acredito que esteja correto, se alguém ver alguma falha e puder me dizer agradeço.

Será que realmente compensa integrar o sistema de notificação por webhook ou verificar o pagamento periodicamente usando a API de consulta de pagamento a partir do taxid?

# devs
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Bom dia, @kevencampos! Tudo bem?
Existem algumas diferenças no JSON enviado em uma transação de Pix recebido e Pix enviado.

Primeiro, como o Rubens mencionou, você pode usar uma chave Pix para recebimento e outra para envio, usando o mesmo webhook URL. Dessa forma, ao receber a notificação, você já pode diferenciar pela chave.

Outro ponto que pode verificar é que o JSON de Pix enviado possui o parâmetro "tipo": "SOLICITACAO", além disso, tem também o parâmetro gnExtras>idEnvio.

Veja em nossa documentação alguns exemplos de JSON: https://dev.efipay.com.br/docs/api-pix/webhooks#requisi%C3%A7%C3%A3o

# freelancer
Avatar discord do usuario eityeily

eityeily

🚀 Experienced Full-Stack Developer with Verified Expertise in Web3 & Blockchain Solutions

I’m a skilled developer with a proven track record of delivering high-quality projects. With expertise in Next.js, Solidity, Rust, Vue, Nest.js, MongoDB, PostgreSQL, and TypeScript, I bring the right tools to ensure your project’s success. 💼💻

## What I Offer:
Next.js & Vue: Fast, responsive, and scalable web applications.
🔐 Solidity & Rust: Secure, efficient smart contracts and decentralized applications (DApps).
🏗️ Nest.js: Robust and scalable back-end systems.
🗄️ MongoDB & PostgreSQL: Solid database management for performance and reliability.
🛠️ TypeScript: Type-safe, scalable, and maintainable codebase.
I’ve worked with verified companies on major projects in the blockchain and Web3 space, consistently delivering exceptional results. When you hire me, you’re not just getting a developer – you’re getting a dedicated partner committed to your success. 🌟

Learn more about me and my work: https://goldliondev.com

Let’s connect and bring your vision to life! Feel free to DM me anytime! 💬

# freelancer
Avatar discord do usuario tobib8332

tobib8332

[FOR HIRE] I am a highly skilled and experienced Freelance Full-Stack / Backend Developer currently seeking new opportunities!

🌻 My Skills & Expertise:
Frontend: UI/UX design, React, Vue, Tailwind css, Bootstrap, React Native & Figma design
Backend: Node, PHP & PHP framework, Python ( Fast API / Flask )
AI Engine: OpenAI Codex, Azure OpenAI, GPT-4, Langchain
Web3: Smart contract, Web3.js, Rust(Solana), ERC20 & ERC721 & ERC1155

🎓 My Experience:
- Developed scalable web applications and RESTful APIs
- Built secure and efficient smart contracts for various blockchain projects
- Integrated Web3 features into existing applications
- Contributed to open-source projects related to blockchain technology

🏅 My Resume
My portfolio : https://tobi-studio.vercel.app/
Figma: https://figma.com/@tobistudio

I'm excited to hear about your projects and contribute to your success!
Let's build amazing things together!

# pix
Avatar discord do usuario rafaaoki

rafaaoki

Ver Respostas

public CobGerada pixCreateImmediateCharge(ClienteDto cliente) throws JSONException, EfiPayException {
try {
Credentials credentials = new Credentials();

JSONObject options = new JSONObject();
options.put("client_id", credentials.getClientId());
options.put("client_secret", credentials.getClientSecret());
options.put("certificate", credentials.getCertificate());
options.put("sandbox", credentials.isSandbox());


JSONObject body = new JSONObject();

System.out.println(cliente.toString());

String cpf = cliente.cpf().replaceAll("\\.", "");
cpf = cpf.replaceAll("-", "");

String rg = cliente.rg().replaceAll("\\.", "");
rg = rg.replaceAll("-", "");

body.put("calendario", new JSONObject().put("expiracao", 3600));
body.put("devedor", new JSONObject().put("cpf", cpf ).put("nome" , cliente.nome_completo()));
body.put("valor", new JSONObject().put("original", "0.01"));
body.put("chave", "3c4961f4-0921-4eda-97bc-71704defb09f");

EfiPay efi = new EfiPay(options);
JSONObject response = efi.call("pixCreateImmediateCharge", new HashMap(), body);
CobGerada res = new Gson().fromJson(response.toString() , CobGerada.class);
return res;
}catch (EfiPayException e){
System.out.println(e.getError());
System.out.println(e.getErrorDescription());
throw new RuntimeException(e.getMessage());
}
catch (Exception e) {
System.out.println(e.getMessage());
throw new RuntimeException(e.getMessage());
}
}

esse codigo funcionaria como um envio de pagamento pix via api?

# pix
Avatar discord do usuario rafaaoki

rafaaoki

como funciona p importar o certificado aqui nesse json?
imagem enviada na mensagem pelo usuario rafaaoki

# freelancer
Avatar discord do usuario tellyscastro

tellyscastro

⛳ Sistema de pagamento integrado com EFI configurado e Funcionando

Quem estiver procurando um sistema de pagamento configurado e integrado com a API do Banco EFI, eu já tenho um prontinho e funcionando,

Dados do sistema:
1) BackEnd:
- Laravel 11
- Servidor: Linux - (LEMP - Nginx, Mysql, PHP)
- Rodando com SSL
- servidor websocket / real-time (opcional)

2) API - Rest
- endpoint's configurados dentro do padrão API Rest
- a API é segura, com acesso autenticado

3) FrontEnd
- atualmente tenho um front em VUE.js
- client websocket / real-time (opcional)

4) Instalação e manutenção / assessoria
- podemos vender somente o sistema
- podemos também disponibilizar a instalação + manutenção + update + personalização + assessoria

Preço a combinar, só chamar no privado

Grande abraço a todos
Tellys

# pix
Avatar discord do usuario tellyscastro

tellyscastro

Ver Respostas

O webhook esta retornando 200

mas curiosamente não esta salvando o json com novos dados.

Esta linha >> "POST /webhook/?ignorar=/pix/pix HTTP/1.0" 200 18 "-" "API Pix Efi (producao)"

Em tese acionaria o script do /webhook/index.php, confere?

Mas, fiz vários testes aqui, e não esta ... alguém ja se deparou com esse erro?
imagem enviada na mensagem pelo usuario tellyscastro

# freelancer
Avatar discord do usuario vinybergamo

vinybergamo

Apresentamos uma plataforma completa e personalizada para a gestão de sua empresa!

Com esta solução sob medida, você terá acesso a uma gama de funcionalidades pensadas para otimizar a gestão do seu negócio:

Gestão de Colaboradores: Organize e acompanhe o desempenho de sua equipe com facilidade.

Gestão de Clientes: Mantenha um controle detalhado de cada cliente, permitindo um atendimento mais eficaz e personalizado.

Emissão de Notas Fiscais: Gere notas fiscais de forma rápida e simples, garantindo conformidade e agilidade no processo.

Emissão de Cobranças: Controle e acompanhe todas as cobranças de forma centralizada, evitando atrasos e simplificando a gestão financeira.

Envio de Cobranças: Envie cobranças diretamente pelo WhatsApp, E-mail ou SMS, facilitando a comunicação e aumentando a taxa de recebimento.

Gestão de Empresas: Ideal para quem possui múltiplas empresas ou CNPJs, permitindo a organização e visualização das informações de cada unidade.

Gestão de Inadimplência: Monitore os pagamentos pendentes e organize suas ações de cobrança de forma eficiente.


Além dessas funcionalidades, oferecemos a possibilidade de adicionar módulos personalizados de acordo com a necessidade do seu negócio, garantindo que a plataforma se ajuste perfeitamente às suas operações.

Solicite uma demonstração e descubra como nossa plataforma pode transformar a gestão da sua empresa!

Entre em contato conosco pelo WhatsApp (13) 99129-1316 e tire suas dúvidas ou agende uma apresentação. Estamos prontos para ajudar você a impulsionar seu negócio!
imagem enviada na mensagem pelo usuario vinybergamo

# pix
Avatar discord do usuario tellyscastro

tellyscastro

Ver Respostas

mas seu eu atualizar o url de retorno do webhook, eu deveria receber mensagens do webhook?

Eu tive a impressão que nos vídeos de instrução da instalação, que quanto vc atualiza a url, vc recebe atualizações em seu dados.json

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Bom dia, @tellyscastro! Tudo bem?
A função $response = $api->pixDetailWebhook($params) traz os dados do webhook que você cadastrou. Caso ainda não tenha cadastrado, nada será retornado.

Uma sugestão para resolver, e lidar com a adição do /pix, é cadastrar seu webhook com a query param ?ignorar=.
Exemplo: https://seudominio.com.br/webhook/?ignorar=

Dessa forma, quando o webhook for acionado, o /pix será tratado como um parâmetro, e você receberá o JSON no arquivo /webhook/index.php, usando a URL: http://seudominio.com.br/webhook/?ignorar=/pix.

# pix
Avatar discord do usuario emiliocalvet

emiliocalvet

java
@Getter
public class Credentials {
private final String clientId;
private final String clientSecret;
private final String certificate;
private final boolean sandbox;
private final boolean debug;

public Credentials() {
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
InputStream credentialsFile = classLoader.getResourceAsStream("credentials.json");
assert credentialsFile != null;
JSONTokener tokenizer = new JSONTokener(credentialsFile);
JSONObject credentials = new JSONObject(tokenizer);
try {
credentialsFile.close();
} catch (IOException e) {
System.out.println("Impossible to close file credentials.json");
}

this.clientId = credentials.getString("client_id");
this.clientSecret = credentials.getString("client_secret");
this.certificate = credentials.getString("certificate");
this.sandbox = credentials.getBoolean("sandbox");
this.debug = credentials.getBoolean("debug");
}

public HashMap getOptionsMap() {
HashMap options = new HashMap<>();
options.put("client_id", this.getClientId());
options.put("client_secret", this.getClientSecret());
options.put("certificate", this.getCertificate());
options.put("sandbox", this.isSandbox());
return options;
}

public JSONObject getOptionsJson() {
return new JSONObject(this.getOptionsMap());
}
}

# pix
Avatar discord do usuario emiliocalvet

emiliocalvet

Ver Respostas

java
public PixChargeResponse pixCreateImmediateCharge(PixChargeRequest pixChargeRequest) {
if (!isValidValue(pixChargeRequest.valor())) {
throw new ResponseStatusException(HttpStatus.BAD_REQUEST, "Valor inválido de criação do pix");
}

var options = new Credentials().getOptionsJson();

JSONObject body = new JSONObject();
body.put("calendario", new JSONObject().put("expiracao", pixDurationSeconds));
body.put("valor", new JSONObject().put("original", pixChargeRequest.valor()));
body.put("chave", token);

JSONArray infoAdicionais = new JSONArray();
infoAdicionais.put(new JSONObject().put("nome", "Descrição do serviço").put("valor", pixChargeRequest.serviceDescription()));
body.put("infoAdicionais", infoAdicionais);

try {
EfiPay efi = new EfiPay(options);
JSONObject response = efi.call("pixCreateImmediateCharge", new HashMap<>(), body);
String copyAndPaste = response.getString("pixCopiaECola");
byte[] qrCode = PixGenerateQRCode.generateQRCode(copyAndPaste, 300, 300);

pixWebhookService.configPixWebhook(token);

return new PixChargeResponse(
response.get("txid").toString(),
qrCode,
copyAndPaste,
pixChargeRequest.valor(),
pixChargeRequest.serviceDescription()
);
} catch (EfiPayException e) {
logger.error("Falha ao criar cobrança pix!", e);
throw new ResponseStatusException(
HttpStatus.BAD_REQUEST,
"Falha ao criar cobrança Pix!"
);
} catch (Exception e) {
logger.error("Erro desconhecido ao criar cobrança pix!", e);
throw new ResponseStatusException(
HttpStatus.INTERNAL_SERVER_ERROR,
"Erro ao criar cobrança Pix!"
);
}
}

# freelancer
Avatar discord do usuario eityeily

eityeily

🚀 Experienced Full-Stack Developer with Verified Expertise in Web3 & Blockchain Solutions

I’m a skilled developer with a proven track record of delivering high-quality projects. With expertise in Next.js, Solidity, Rust, Vue, Nest.js, MongoDB, PostgreSQL, and TypeScript, I bring the right tools to ensure your project’s success. 💼💻

## What I Offer:
Next.js & Vue: Fast, responsive, and scalable web applications.
🔐 Solidity & Rust: Secure, efficient smart contracts and decentralized applications (DApps).
🏗️ Nest.js: Robust and scalable back-end systems.
🗄️ MongoDB & PostgreSQL: Solid database management for performance and reliability.
🛠️ TypeScript: Type-safe, scalable, and maintainable codebase.
I’ve worked with verified companies on major projects in the blockchain and Web3 space, consistently delivering exceptional results. When you hire me, you’re not just getting a developer – you’re getting a dedicated partner committed to your success. 🌟

Learn more about me and my work: https://goldliondev.com

Let’s connect and bring your vision to life! Feel free to DM me anytime! 💬