Histórico de mensagens sobre js em pix

EXIBINDO CONVERSAS RECENTES:

Texto: js
Canal: pix
Avatar discord do usuario brunodelara

brunodelara

Ver Respostas

json_decode?

Avatar discord do usuario brunodelara

brunodelara

pra quem tiver interesse:

json
{
"id": "12630",
"rtrId": "D090893562021031813008XXXXXXXXXX",
"valor": "0.07",
"horario": {
"solicitacao": "2021-03-18T13:00:40.000Z"
},
"status": "EM_PROCESSAMENTO"
}

Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

O webhook só é acionado quando o Pix é pago, ou seja, se obteve um e2eid associado a ele. Se o webhook foi acionado então o txid que aparecer no JSON de notificação é referente a uma cobrança que foi paga.

Avatar discord do usuario ilo4413

ilo4413

Ver Respostas

Pessoal, no webhook pelo o que eu entendi, o gerencianet me manda um post com json para minha url webhook. O que determina se aquele txtid está pago ou não?
imagem enviada na mensagem pelo usuario ilo4413

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Também do <@!781928420757864468> :
// modelo funcional
public void GerarTokenGN(string client_id, string client_secret)
{
// força o uso do protocolo TLS, caso o protocolo padrão seja SSL ou outro protocolo
//ServicePointManager.Expect100Continue = true;
//ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12 | SecurityProtocolType.Ssl3;

X509Certificate2 uidCert = new X509Certificate2("NOME_DO_CERTIFICADO.p12", "");
var client = new RestSharp.RestClient("https://api-pix-h.gerencianet.com.br/oauth/token");
client.ClientCertificates = new X509CertificateCollection() { uidCert };
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Basic " + System.Convert.ToBase64String(Encoding.ASCII.GetBytes(string.Format("{0}:{1}", client_id, client_secret))));
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\"grant_type\":\"client_credentials\",\"client_id\":\"" + client_id + "\",\"client_secret\":\"" + client_secret + "\"}", ParameterType.RequestBody);
IRestResponse restResponse = client.Execute(request);
string response = restResponse.Content;

Console.WriteLine(response);
}

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Pessoal, alguém tem um acionamento recente de webhook para eu ver o JSON ?

Avatar discord do usuario code_moreira

code_moreira

Ver Respostas

kkkk tudo bem, é sobre o envio da cobrança, to tentando aqui mas n funcionando, to programando uma api em node.js

Avatar discord do usuario fabio.goncalves

fabio.goncalves

Ver Respostas

Vi seu post falando do mTLS no Google Cloud Functions (Firebase), para criar o webhook do Pix. Parece que estou na mesma situação em que você estava um mês atrás... Já estou aprovando pagamento com Pix em produção, mas estou travado na criação do webhook mTLS com NodeJS no Functions. Como você resolveu? Agradeço se puder compartilhar alguma dica...

Avatar discord do usuario garcialuigi

garcialuigi

Ver Respostas

(node:8360) UnhandledPromiseRejectionWarning: Error: Request failed with status code 403
at createError (C:\TRUFA SHOP\poc\node_modules\axios\lib\core\createError.js:16:15)
at settle (C:\TRUFA SHOP\poc\node_modules\axios\lib\core\settle.js:17:12)
at IncomingMessage.handleStreamEnd (C:\TRUFA SHOP\poc\node_modules\axios\lib\adapters\http.js:260:11)
at IncomingMessage.emit (events.js:327:22)
at endReadableNT (_stream_readable.js:1220:12)
at processTicksAndRejections (internal/process/task_queues.js:84:21)
(node:8360) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)
(node:8360) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

Bom dia <@!810530260915453983>, na geração da cobrança você pode utilizar o atributo infoAdicionais para inserir informações extras para o cliente que for paga-la.
Exemplo:

json
"infoAdicionais": [
{
"nome": "Mensalidade Intenet 150 Mb",
"valor": "Referente ao mês de novembro"
}
]

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Bom dia, <@!250270640173613056>!
Como está enviando a URL no body? Nela deve conter o https, segue um exemplo:

json
{
"webhookUrl": "https://seudominio.com.br"
}

Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

Boa tarde garcialuige, pelo nome TRUFA SHOP acredito que você esteja seguindo os vídeos do DevPleno, no entanto essas falhas retornadas não são referentes da API-Pix e sim relacionadas a promises. DE qualquer forma temos um exemplo de autenticação pronte em node que você pode se baser/utilizar caso queira:

js
"use strict";
const https = require("https");
var axios = require("axios");
var fs = require("fs");

//Insira o caminho de seu certificado .p12 dentro de seu projeto
var certificado = fs.readFileSync("./certificado.p12");

//Insira os valores de suas credenciais em desenvolvimento do pix
var credenciais = {
client_id: "YOUR-CLIENT-ID",
client_secret: "YOUR-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://api-pix-h.gerencianet.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));
})
.catch(function (error) {
console.log(error);
});

Avatar discord do usuario garcialuigi

garcialuigi

C:\TRUFA SHOP\poc>node pix-auth.js
homologacao
getToken homologacao
(node:3896) UnhandledPromiseRejectionWarning: Error: Request failed with status code 401
at createError (C:\TRUFA SHOP\poc\node_modules\axios\lib\core\createError.js:16:15)
at settle (C:\TRUFA SHOP\poc\node_modules\axios\lib\core\settle.js:17:12)
at IncomingMessage.handleStreamEnd (C:\TRUFA SHOP\poc\node_modules\axios\lib\adapters\http.js:260:11)
at IncomingMessage.emit (events.js:327:22)
at endReadableNT (_stream_readable.js:1220:12)
at processTicksAndRejections (internal/process/task_queues.js:84:21)
(node:3896) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)
(node:3896) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Bom dia, <@!499000549870403594>!
No arquivo /examples/config.json você alterou o parâmetro sandbox para false?

Avatar discord do usuario maransatto

maransatto

Fala pessoal.

Segue uma sequencia de 3 vídeos que estou publicando de hoje até quinta para dar uma visão geral da API Pix da Gerencianet + Webhook + Node.js

Aproveitem para se inscrever no canal e ajudem a compartilhar pra essa comunidade crescer.

https://www.youtube.com/watch?v=Z9mfcvNMFeI

Avatar discord do usuario marcosfilho8113

marcosfilho8113

qual json que a gerencianet tá te retornando?

Avatar discord do usuario rubenskuhl

rubenskuhl

Para quem não está conseguindo gerar o Token a partir do exemplo C# da Gerencianet.
No exemplo da Gerencianet tem uma variável "cities" contendo o client_id e client_secret, mas nunca é usada.
O Authorization está fixo, mas você deve substituí-lo pelo authorization base64 gerado a partir de seu client_id e client_secret.
O parameter "application/json" tem o grant_type=client_credentials, mas não tem as credenciais no body.
Certifique-se de estar usando .Net Framework 4.6.1 ou superior. Versões anteriores do .Net Framework não utilizam TLS por padrão.
Para versão anterior a 4.6.1 do .Net Framework, descomente as duas primeiras linhas do código

Atenção: atente-se ao ambiente de homologação/produção e faça a alteração necessária.
// modelo funcional
public void GerarTokenGN(string client_id, string client_secret)
{
// força o uso do protocolo TLS, caso o protocolo padrão seja SSL ou outro protocolo
//ServicePointManager.Expect100Continue = true;
//ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12 | SecurityProtocolType.Ssl3;

X509Certificate2 uidCert = new X509Certificate2("NOME_DO_CERTIFICADO.p12", "");
var client = new RestSharp.RestClient("https://api-pix-h.gerencianet.com.br/oauth/token");
client.ClientCertificates = new X509CertificateCollection() { uidCert };
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Basic " + System.Convert.ToBase64String(Encoding.ASCII.GetBytes(string.Format("{0}:{1}", client_id, client_secret))));
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\"grant_type\":\"client_credentials\",\"client_id\":\"" + client_id + "\",\"client_secret\":\"" + client_secret + "\"}", ParameterType.RequestBody);
IRestResponse restResponse = client.Execute(request);
string response = restResponse.Content;

Console.WriteLine(response);
}