Histórico de Mensagens

EXIBINDO RESPOSTAS:

Avatar discord do usuario thefaccin

thefaccin

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

Avatar discord do usuario kevencampos

kevencampos

Olá, qual sua dúvida ?

Avatar discord do usuario kevencampos

kevencampos

Já baixou o certificado pra gerar o access token ? é através desse access token que você vai conseguir se comunicar com a API da EFI

Avatar discord do usuario thefaccin

thefaccin

Sim já, já estou conseguindo fazer o pagamento via pix, mas nunca usei socket/websocket

Avatar discord do usuario thefaccin

thefaccin

Tô sem a mínima ideia de como faz, mesmo com o exemplo da api

Avatar discord do usuario thefaccin

thefaccin

Tu fez isso no seu projeto? É open source pra mim dar uma olhada?

Avatar discord do usuario kevencampos

kevencampos

Na realidade ainda estou fazendo, não tem a necessidade de usar websocket, basta você criar um servidor web para receber as notificações (webhook) de pagamento

Avatar discord do usuario kevencampos

kevencampos

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

Avatar discord do usuario thefaccin

thefaccin

Entendi, não tô usando express, estou usando fastify. Mas alguma forma existe. Valeu pela ajuda mano

Avatar discord do usuario rubenskuhl

rubenskuhl

O webhook é o que notifica o back-end de que o pagamento foi realizado, mas usar websocket para levar a informação é o front-end é bem legal. Aí você some com o QR-Code e mostra que já reconheceu o pagamento.

Avatar discord do usuario kenpachihades

kenpachihades

Dessa não sabia obrigadoooooo

Avatar discord do usuario thefaccin

thefaccin

Tô ligado, mas o front é o de menos. Reconhecendo no back é fácil de tratar