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çaimport 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;