Meu código: const https = require("https");
var axios = require("axios");
var fs = require("fs-extra");
const express = require("express");
const router = express.Router();
router.post("/", (req, res) => {
//Insira o caminho de seu certificado .p12 dentro de seu projeto
var certificado = fs.readFileSync(
"./.p12"
);
//Insira os valores de suas credenciais em desenvolvimento do pix
var credenciais = {
client_id: "",
client_secret: "",
};
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({
pfx: certificado,
passphrase: "",
});
//Consumo em desenvolvimento da rota post oauth/token
var config = {
method: "POST",
url: "https://pix.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));
return res.json({ data: response });
})
.catch(function (error) {
console.log(error);
return res.json({ error: error });
});
});
module.exports = router;