Histórico de mensagens sobre url POST

EXIBINDO CONVERSAS RECENTES:

Texto: url POST
# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

O exemplo da consultoria da Gerencianet para Express é assim:

const express = require("express");
const fs = require("fs");
const https = require("https");
const bodyParser = require("body-parser");
var logger = require('morgan');

const httpsOptions = {
cert: fs.readFileSync(""), // Certificado fullchain do dominio
key: fs.readFileSync("/"), // Chave privada do domínio
ca: fs.readFileSync(""), // Certificado público da Gerencianet
minVersion: "TLSv1.2",
requestCert: true,
rejectUnauthorized: false, //Mantenha como false para que os demais endpoints da API não rejeitem requisições sem MTLS
};

const app = express();
const httpsServer = https.createServer(httpsOptions, app);
const PORT = 443;

app.use(logger('dev')); // Comente essa linha caso não queira que seja exibido o log do servidor no seu console
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));

// Endpoint para configuração do webhook, você precisa cadastrar https://SEUDOMINIO.com/webhook
app.post("/webhook", (request, response) => {
// Verifica se a requisição que chegou nesse endpoint foi autorizada
if (request.socket.authorized) {
response.status(200).end();
} else {
response.status(401).end();
}
});

# bolix
Avatar discord do usuario andresisdanca

andresisdanca

Ver Respostas

Na geração do bolix, já é enviado para a notificação na url cadastrada para comunicação? Fiz umas duas gerações e não recebi notificação com o token.

E até paguei os bolix com o pix para poder receber a notificação e também não recebi nada.

É via post?

# bolix
Avatar discord do usuario jessica_efi

jessica_efi

Ver Respostas

Quando você cadastra uma url de notificação, nós enviamos um POST com um token pra você. Você deve estar preparado para ler esse token, consultando as informações.

# bolix
Avatar discord do usuario andresisdanca

andresisdanca

Ver Respostas

O que faltou é dizer se só é chamado a url que informei na criação da transação ou já enviado via post algumas informações?

E qual metodo eu chamo para pegar a data do pagamento(received_by_bank_at)?

# pix
Avatar discord do usuario matheus_efi

matheus_efi

Bom dia, <@!330406276972412928>. Verifica por favor se você está tratando o /pix que é acrescido ao enviarmos a notificação via POST ​/pix.
Exemplo: Você configurou o webhook https://gerencianet.com/webhook, a notificação vai para https://gerencianet.com/webhook/pix
Um exemplo de uma aplicação em node fazendo esta tratativa:

js
// Endpoind para recepção do webhook tratando o /pix
app.post("/webhook/pix", (request, response) => {
if (request.socket.authorized){
//Seu código tratando a callback
/ EXEMPLO:
var body = request.body;
filePath = __dirname + "/data.json";
fs.appendFile(filePath, JSON.stringify(body) + "\n", function (err) {
if (err) {
console.log(err);
} else {
response.status(200).end();
}
})
/
response.status(200).end();
}else{
response.status(401).end();
}
});

# bolix
Avatar discord do usuario carlosh.skraba4582

carlosh.skraba4582

Pessoal, utilizei o WebhookInbox para criar uma url de retorno (monitorar), e criei um bolix de teste.. mas não recebi nenhum post nesse fluxo. pergunta: ao criar o boleto há alguma notificação?

# pix
Avatar discord do usuario marcelomarkus

marcelomarkus

Ver Respostas

const express = require("express");
const fs = require("fs");
const https = require("https");
const url = require('url');
const bodyParser = require("body-parser");
let FormData = require('form-data');
const axios = require("axios");
var logger = require('morgan');
const httpsOptions = {
cert: fs.readFileSync("fullchain.pem"), // Certificado fullchain do dominio
key: fs.readFileSync("privkey.pem"), // Chave privada
ca: fs.readFileSync("chain-pix-prod.crt"), // Certificado Gerencianet
minVersion: "TLSv1.2",
requestCert: true,
rejectUnauthorized: false, //Mantenha como false para que os demais endpoints da API não rejeitem requisições sem MTLS
};
const app = express();
const httpsServer = https.createServer(httpsOptions, app);
//const PORT = 443;
const PORT = 3000;
app.use(logger('dev')); // Comente essa linha caso não queira que seja exibido o log do servidor no seu console
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: false
}));
app.post("/webhook", (request, response) => {
if (request.socket.authorized) {
response.status(200).end();
})
.catch(function (error) {
//console.log
});
} else {
response.status(401).end();
//console.log("não autorizado!");
}
});
// Endpoind para recepção do webhook tratando o /pix
app.post("/webhook/pix", (request, response) => {
if (request.socket.authorized) {
response.status(200).end();
} else {
response.status(401).end();
}
});
httpsServer.listen(PORT, () =>
console.log(listen running on port ${PORT})
);

# pix
Avatar discord do usuario andresisdanca

andresisdanca

Ver Respostas

Está apontando certo.

Veja o código:

File file = new File(CERTIFICADO);

System.out.println("certificado: " + file.isFile() );
System.out.println("certificado: " + file.getAbsolutePath() );

String rota = URL_PADRAO + "/oauth/token";

String basicAuth = Base64.getEncoder().encodeToString(((CLENTE_ID + ':' + CLIENTE_SECRET).getBytes()));
System.setProperty("javax.net.ssl.keyStore", CERTIFICADO);

SSLSocketFactory sslsocketfactory = (SSLSocketFactory) SSLSocketFactory.getDefault();

System.out.println("sslsocketfactory:" + sslsocketfactory.toString() );

URL url = new URL(rota); //Para ambiente de Desenvolvimento
HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestProperty("Authorization", "Basic " + basicAuth);
conn.setSSLSocketFactory(sslsocketfactory);

String requestJson = "{\"grant_type\": \"client_credentials\"}";

try (DataOutputStream stream = new DataOutputStream(conn.getOutputStream())) {

byte[] send = requestJson.getBytes("UTF-8");

stream.write(send);

stream.flush();

}

conn.connect();

String responseJson = inputStreamToString(conn.getInputStream());

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

js
const express = require("express");
const fs = require("fs");
const https = require("https");
const bodyParser = require("body-parser");
var logger = require('morgan');

const httpsOptions = {
cert: fs.readFileSync(""), // Certificado SSL fullchain do dominio
key: fs.readFileSync("/"), // Chave privada SSL do domínio
ca: fs.readFileSync(""), // Certificado público da Gerencianet - baixe no link: https://pix.gerencianet.com.br/webhooks/chain-pix-prod.crt
minVersion: "TLSv1.2",
requestCert: true,
rejectUnauthorized: false, //Mantenha como false para que os demais endpoints da API não rejeitem requisições sem MTLS
};

const app = express();
const httpsServer = https.createServer(httpsOptions, app);
const PORT = 443;

app.use(logger('dev')); // Comente essa linha caso não queira que seja exibido o log do servidor no seu console
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));

// Endpoint para configuração do webhook, você precisa cadastrar https://SEUDOMINIO.com/webhook
app.post("/webhook", (request, response) => {
// Verifica se a requisição que chegou nesse endpoint foi autorizada
if (request.socket.authorized) {
response.status(200).end();
} else {
response.status(401).end();
}
});

// Endpoind para recepção do webhook tratando o /pix
app.post("/webhook/pix", (request, response) => {
if (request.socket.authorized){
//Seu código tratando a callback
/ EXEMPLO:
var body = request.body;
filePath = __dirname + "/data.json";
fs.appendFile(filePath, JSON.stringify(body) + "\n", function (err) {
if (err) {
console.log(err);
} else {
response.status(200).end();
}
})
/
response.status(200).end();
}else{
response.status(401).end();
}
});

httpsServer.listen(PORT, () =>
console.log(Express server currently running on port ${PORT})
);

# novidades-e-curiosidades
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Olá, <@!867148015125790741>. Boa tarde!
Sem utilizar o Composer para baixar a nossa SDK, você pode utilizar requisição cURL para consumir a nossa API.
Para isso, sugiro você testar os consumos dos endpoints através do Postman, pois com ele, você testa a criação de uma cobrança por exemplo, e depois você pode exportar um Code snippet cURL da requisição.
imagem enviada na mensagem pelo usuario guilherme_efi

# pix
Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

A autenticação utilizando o Curl, você consegue gerar através da collection do postman. Lembrando que no header Authorization é necessário informar a palavra Basic seguida de um espaço e o seu cliente id e cliente sescret separados por dois pontos (:) utilizando base64.

# pix
Avatar discord do usuario igor_efi

igor_efi


$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => 'https://sandbox.gerencianet.com.br/v1/charge/one-step',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"items": [{
"name": "Product 1",
"value": 500,
"amount": 1
}],
"shippings": [{
"name": "Default Shipping Cost",
"value": 100
}],
"payment": {
"banking_billet": {
"expire_at": "2019-10-16",
"customer": {
"name": "Gorbadoc Oldbuck",
"email": "[email protected]",
"cpf": "14014603059",
"birth": "1977-01-15",
"phone_number": "62986070247"

}
}
}
}',
CURLOPT_HTTPHEADER => array(
'Authorization: {{Authorization}}',
'Content-Type: application/json'
),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Na ativação ele faz uma chamada em na URL que vc passa sem o certificado e uma com o certificado. Já os de algum valor pago que vem com /pix depois. Notar que você está colocando postback/, então vai ficar postback//pix... não sei se seu servidor HTTP vai interpretar direito com duas barras.

# assinaturas
Avatar discord do usuario ludboy6380

ludboy6380

Ver Respostas

Quando é cancelada uma assinatura, não recebo notificação na url POST, tenho que ficar fazendo verificações periodicas?

# pix
Avatar discord do usuario wazzuplive

wazzuplive

Não, na verdade eu coloquei o url direto apenas (URL)/pagamento-seguro/pix/postback.php

# pix
Avatar discord do usuario wazzuplive

wazzuplive

Ver Respostas

Ola pessoal tudo bem?

Eu usei o metodo pixConfigWebhook para configurar o URL.
E nessa pagina nova eu deixei gravando no banco data e hora. O postback da gencianet e feito a cada 60 segundo pra pagina que eu configurei neh?