Histórico de mensagens sobre js

EXIBINDO CONVERSAS RECENTES:

Texto: js
# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Boa tarde, <@!628240063389761540>! Como vai?
Está utilizando a última versão 4.0.1 da SDK? Qual sua versão do PHP?
Verifique se em seu arquivo composer.json está requerindo "guzzlehttp/guzzle": "^7.0" e execute o comando composer install

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Beleza, <@!456823494790086669>
Até o momento, não é possível verificar um log de notificação como é feito para API das demais cobranças.
Mas realizando uma consulta com o exemplo /examples/pix/pix/pixListReceived.php (Consultar Pix recebidos) da SDK, passando como parâmetros data inicio, fim e o txid da cobrança.

Será retornado algo parecido com o exemplo abaixo, então saberemos que o Pix foi realizado e a notificação foi enviada.

json
"pix": [
{
"endToEndId": "E60746948202104010023A1863ecTgpG",
"valor": "00.01",
"chave": "[email protected]",
"horario": "2021-04-01T00:30:20.000Z"
},
];

Sendo assim, bastaria seu sistema tratar o recebimento desta notificação e gravar um um banco de dados, por exemplo.

# pix
Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

JQuery com Ajax não, mas temos em node

js
//Desenvolvido pela Consultoria Técnica da Gerencianet

"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);
});
Mas o Postman tem um exemplo com jQuery:
js
var settings = {
"url": "https://api-pix.gerencianet.com.br/oauth/token",
"method": "POST",
"timeout": 0,
"headers": {
"x-client-cert-pem": "{{X-Certificate-Pem}}",
"Authorization": "Basic Q2xpZW50X0lkXDM4ZjJhY2M1M2QyMGRmOTJhNDIxMWE3NjhjMTBjMzkyZjk2YWM6Q2xpZW50JhZWQwMGRlZjYzNWRlY2E5YTE5Y2Y2ZTI0YjEwMTBjNzIx",
"Content-Type": "application/json"
},
"data": JSON.stringify({
"grant_type": "client_credentials"
}),
};

$.ajax(settings).done(function (response) {
console.log(response);
});

# pix
Avatar discord do usuario Deleted User

Deleted User

Boa tarde, a api pix de vocês está disponivel para Node js?

# cartões
Avatar discord do usuario celsodias12

celsodias12

Ver Respostas

como eu gero o payament_token com nodejs ? vocês disponibilizam somente o script para html, teria ele para nodejs também?

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Pode ser qualquer nome.
Acrescentando uma observação que é a adição do /pix no final da sua URL. Ou seja, na request PUT https://api-pix.gerencianet.com.br/v2/webhook/:chave você irá passar o body com sua URL, exemplo:

json
{
"webhookUrl": "https://seudominio.com.br/webhook"
}
No entanto, a URL será registrada com o /pix no final, assim: https://seudominio.com.br/webhook/pix. Então esta adição do /pix também dever ser tratada nas configurações de seu servidor para que na rota /webhook/pix de seu servidor exija o certificado CA da Gerencianet.

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Não, tem vários outros. Mas são filtros no body JSON, não no path.

# bolix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Bom dia, <@!330055572483473409>. É isto mesmo.
Esta requisição POST é no formato x-www-form-urlencoded. Com isto você receberá notification=b511305d-29fc-433f-a8cb-a1968c9f256f como disse.

Em PHP, por exemplo, para ler o token basta atrabuir a uma variável:
$token = $_POST['notification'];

Sendo assim, com este token b511305d-29fc-433f-a8cb-a1968c9f256f, você irá consumir a rota /v1/notification/:token e então receberá um Json com todas as informações da cobrança referente ao token.

# bolix
Avatar discord do usuario marcosfilho8113

marcosfilho8113

ele não está como json

# bolix
Avatar discord do usuario rogercon.

rogercon.

ele entra, mas nao devolve os valores para o json

# bolix
Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

Sim, você tem que mandar o juridical_person, ao invés de passar nome e cpf, veja um exemplo em Delphi:

json
interface
function PayChargeWithBilletAsPJ(Id: String): String;

implementation
uses uGerenciaClient, uGerenciaNetClientUtilities;
{... your code ... }

function PayChargeWithBilletAsPJ(Id: String): String;
var
Body : String;
PaymentParams: String;
const
BodyText =
'{'+
'"payment": {'+
'"banking_billet": {'+
'"customer": {'+
'"email": "[email protected]",'+
'"phone_number": "5144916523",'+
'"birth": "1977-07-17",'+
'"address": {'+
'"street": "Avenida Juscelino Kubitschek",'+
'"number": 909,'+
'"neighborhood": "Bauxita",'+
'"complement": "",'+
'"city": "Ouro Preto",'+
'"state": "MG",'+
'"zipcode": "35400000"'+
'},'+
'"name": "Gorbadoc Oldbuck",'+
'"cpf": "94271564656",'+
'"juridical_person": {'+
'"corporate_name": "Nome da Empresa",'+
'"cnpj": "99794567000144"'+
'}'+
'},'+
'"configurations": {' +
'"fine": 200,' +
'"interest": 33' +
'},'+
'"message": "Este é um espaço de até 80 caracteres para informar algo a seu cliente",'+
'"expire_at": "2019-02-21"'+
'}'+
'}'+
'}';

begin
EnableService( 'GerenciaNet.dll' );
ConfigureService( ToPAnsiChar( 'client_id' ),ToPAnsiChar( 'client_secret' ),'sandbox','config.json','');
GerenciaNetAuthorize();

PaymentParams := CreateRequestParams( [ 'id='+Id ] ).Text; // Passa o id da transação
Body := BodyText;

Result := ExecuteGerenciaNetRequest( 'payCharge',PaymentParams,'',Body );
end;

# bolix
Avatar discord do usuario matheus_efi

matheus_efi

O atributo juridical person não está sendo enviado/preenchido:

json
'"juridical_person": {'+
'"corporate_name": "Nome da Empresa",'+
'"cnpj": "99794567000144"'+
'}'+

# bolix
Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

A DLL já vem compilada, o Authorize apenas chama o endpoint de autenticando passando as credenciais de parâmetro, veja aqui a rota sendo acionada no config.json(https://github.com/gerencianet/gn-api-sdk-delphi/blob/master/config.json" class="link-msg">https://github.com/gerencianet/gn-api-sdk-delphi/blob/master/config.json) e a SDK com a DLL compilada(https://github.com/gerencianet/gn-api-sdk-delphi)

# bolix
Avatar discord do usuario christianosilveira4948

christianosilveira4948

Ver Respostas

Boa tarde, estou iniciando uma integração com um sistema criado em xBase, no caso, eu posso usar a DLL do delphi para isso, mas não acho os comandos que devo usar e etc... Na documentação que vi no site vi os exemplos para o delphi.

Exemplo
ConfigureService(ClientID,ClientSecret,'sandbox','config.json',PartnerToken) <--- Esse comando esta na DLL

GerenciaNetAuthorize() <--- Esse não esta....

# pix
Avatar discord do usuario winkcler

winkcler

inclusive to recebendo o json no meu servidor {"evento":"teste_webhook","data_criacao":"2021-03-27T20:39:30.371Z"}

# pix
Avatar discord do usuario roguitar88

roguitar88

Como vcs viram, mudei a url para https://olimppi.us/webhook/pix, onde /webhook é a nova rota que criei no MVC e /pix é um método que faz parte do controller, e aí dentro desse método que coloco o código que faz o recebimento e manipulação dos dados JSON, como vcs podem ver na figura

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Verifique por gentileza no /examples/config.json se no parâmetro "pix_cert" está o mesmo nome que salvou seu certificado, e se está no diretório "certs"

# pix
Avatar discord do usuario uaca

uaca

Ver Respostas

Boa noite. Estou começando com a API do PIX. No exemplo "Criar cobrança.", ali no json tem que uma campo "chave", o que devo colocar nele?

# pix
Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

Boa tarde <@!564882405794775060>, temos um exemplo que atualizamos hoje na documentação em Node

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 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();
}
});
// 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})
);

# pix
Avatar discord do usuario msxvdp

msxvdp

Boa tarde, sabem informar como configuro o TLS em um servidor Ubuntu, rodando com node.js 12.16.1 (express)?
não estamos usando nginx no servidor, só o express (com helmet)