Histórico de mensagens sobre js

EXIBINDO CONVERSAS RECENTES:

Texto: js
# assinaturas
Avatar discord do usuario maxcaradu

maxcaradu

por enquanto tá só configurado pra aceitar json

# bolix
Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

Boa tarde <@!824696840153726987>, o método é PUT mesmo, especificamente PUT /v1/charge/:id/settle. Como você está utilizando JS seria assim:

js
'use strict';

var Gerencianet = require('gn-api-sdk-node');

var clientId = 'your_client_id';
var clientSecret = 'your_client_secret';

var options = {
client_id: clientId,
client_secret: clientSecret,
sandbox: true
}

var params = {
id: 1000 // no lugar do 1000 coloque o charge_id desejado
}

var gerencianet = new Gerencianet(options);

gerencianet
.settleCharge(params)
.then(console.log)
.catch(console.log)
.done();

# pix
Avatar discord do usuario roguitar88

roguitar88

//Webhook update
$options['headers'] = array(
'x-skip-mtls-checking' => 'false',
);

try {
$api = Gerencianet::getInstance($options);

$params = ['chave' => '34646106000189'];
$body = ['webhookUrl' => 'https://olimppi.us/src/Includes/index.php?ignorar='];
// https://olimppi.us/webhook/pix.php?ignorar=
// https://olimppi.us/webhook/pix.php?ignorar=/pix

$pix = $api->pixConfigWebhook($params, $body);
echo json_encode($pix);

} catch (GerencianetException $e) {
print_r($e->code);
print_r($e->error);
print_r($e->errorDescription);

throw new \Error($e->error);
} catch (\Exception $e) {
throw new \Error($e->getMessage());
}

# pix
Avatar discord do usuario m4rc0nd35.

m4rc0nd35.

<@!775350441965649951> Bom dia, eu estou usando nodejs no ubuntu

# pix
Avatar discord do usuario Ayrton Teshima

Ayrton Teshima

Fala galera! Fiz um vídeo para o meu canal integrando a API Pix utilizando Node/JS!
Projeto está incrível pois vamos desde o absolutamente zero até criar uma instância EC2 na AWS, configurar IP, domínio, NGINX e certificado HTTPS!
Depois de tudo pronto, realizo pagamento via Pix que cai na conta no mesmo momento e nossa aplicação é notificada sobre cada pagamento! Está incrível demais!
https://youtu.be/bo1THXaohU0

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Exatamente, Rubens.
Se informar o nome, é obrigatório o CPF ou CNPJ. Ou seja, basta retirar o array "devedor"

json
{
"calendario": {
"expiracao": 3600
},
"valor": {
"original": "0.01"
},
"chave": "fae53297-fd67-0000-0000-2f69ef7c38ca",
"solicitacaoPagador": "Informe o número ou identificador do pedido."
}

# pix
Avatar discord do usuario grinderrobot0164

grinderrobot0164

Ver Respostas

Bom dia pessoal, fica uma sugestão para a documentação no exemplo em node.js na parte de webhooks: em vez de fazer uma api com rejectUnauthorized: true, colocar rejectUnauthorized: false e numa rota de /webhooks por exemplo você pode verificar se o request foi autorizado acessando request.socket.authorized. Dessa forma não precisa fazer uma api separada para o gerencianet pois dá pra verificar o uso do certificado apenas nessa rota de acesso dos webhooks

# bolix
Avatar discord do usuario matheus_efi

matheus_efi

Seria a configuração de consultar as notificações?

json
// supposing that this is a post route
public void NotificationRoute(notification) {
var param = new {
token = notification
};

dynamic endpoints = new Endpoints("client_id", "client_secret", true);
response = endpoints.GetNotification(param);
}

# pix
Avatar discord do usuario grinderrobot0164

grinderrobot0164

uso nginx e node.js

# pix
Avatar discord do usuario roguitar88

roguitar88

Ver Respostas

$config = [
"certificado" => $this->pixCert,
// "certificado" => DIRPAGE."src/Includes/olimppiuspix.crt.pem",
// "certificado" => "",
"client_id" => $this->clientId,
"client_secret" => $this->clientSecret
];
$autorizacao = base64_encode($config["client_id"] . ":" . $config["client_secret"]);

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api-pix-h.gerencianet.com.br/v2/webhook/',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_POSTFIELDS =>'{
"webhookUrl": "https://olimppi.us/webhook/index.php"
}',
CURLOPT_HTTPHEADER => array(
// "authorization: {{Authorization}}",
"Authorization: Basic $autorizacao",
"Content-Type: application/json",
"x-client-cert-pem: {{X-Certificate-Pem}}",
"x-skip-mtls-checking: false"
),
));

$response = curl_exec($curl);

curl_close($curl);

echo "

";
echo $response;
echo "
";

# pix
Avatar discord do usuario roguitar88

roguitar88

Ver Respostas

$options['headers'] = array(
'x-skip-mtls-checking' => 'true',
);

try {
$api = Gerencianet::getInstance($options);

$params = ['chave' => '34646106000189'];
$body = ['webhookUrl' => 'https://olimppi.us/webhook'];
// https://olimppi.us/webhook/pix.php?ignorar=
// https://olimppi.us/webhook/pix.php?ignorar=/pix

$pix = $api->pixConfigWebhook($params, $body);
echo json_encode($pix);

} catch (GerencianetException $e) {
print_r($e->code);
print_r($e->error);
print_r($e->errorDescription);

throw new \Error($e->error);
} catch (\Exception $e) {
throw new \Error($e->getMessage());
}

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Sim, <@!783359762917752843>. Atualizamo nossa SKD para a versão 3.1.0 que possui estes novos endpoints também. Segue exemplo do endpoint PUT /v2/gn/config

php

require __DIR__.'/../../../vendor/autoload.php';

use Gerencianet\Exception\GerencianetException;
use Gerencianet\Gerencianet;

$file = file_get_contents(__DIR__.'/../../config.json');
$options = json_decode($file, true);

try {
$body = [
"pix" => [
"receberSemChave" => true,
"chaves" => [
"[email protected]" => [
"recebimento" => [
"txidObrigatorio" => false,
"qrCodeEstatico" => [
"recusarTodos" => false
]
]
],
"efa1db8c-735b-4898-92e0-a54daabe65e6" => [
"recebimento" => [
"txidObrigatorio" => false,
"qrCodeEstatico" => [
"recusarTodos" => false
]
]
]
]
]
];

$api = Gerencianet::getInstance($options);
$pix = $api->pixUpdateSettings($params, $body);

echo json_encode(["code" => 204]);
} catch (GerencianetException $e) {
print_r($e->code);
print_r($e->error);
print_r($e->errorDescription);

throw new Error($e->error);
} catch (Exception $e) {
throw new Error($e->getMessage());
}


Com isto, é necessário incluir o endpoint com o nome pixUpdateSettings no arquivo \src\Gerencianet\config.json

# pix
Avatar discord do usuario roguitar88

roguitar88

Ver Respostas

//Webhook detail
try {
$api = Gerencianet::getInstance($options);
$params = ['chave' => '34646106000189'];
$pix = $api->pixGetWebhook($params);

echo json_encode($pix);
} catch (GerencianetException $e) {
print_r($e->code);
print_r($e->error);
print_r($e->errorDescription);

throw new \Error($e->error);
} catch (\Exception $e) {
throw new \Error($e->getMessage());
}

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

A que você souber escrever melhor. PHP, nodeJS, whatever.

# pix
Avatar discord do usuario roguitar88

roguitar88

Ver Respostas

Tipo outra pasta com o nome "pix" ou um arquivo tipo pix.json?

# pix
Avatar discord do usuario roguitar88

roguitar88

Pra falar a vdd tanto faz ser com config.json ou com array direto no php...

# pix
Avatar discord do usuario roguitar88

roguitar88

Ver Respostas

Vou tentar fazer diferente dessa vez, usando o config.json

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

<@!723278999236771916> A SDK já foi planejada para ser utilizada com poucas modificações. No caso, foi centralizado no arquivo .json as configurações de ambiente (sandbox true => Homologação ou sandbox false => produção), definições de credenciais e caminho do certificado.

Não necessariamente deve ser salvo na pasta /exemples/pix/certs, mas então no config.json você pode modificar o diretório do certificado para referenciá-lo em outra pasta.

# pix
Avatar discord do usuario roguitar88

roguitar88

Ver Respostas

Mas isso já tá feito. Só que n estou utilizando esse json, tô usando a variável $options e nela armazeno esses dados aí em array lá mesmo no PHP

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

E baixe o certificado de produção para a pasta /exemples/pix/certs com o mesmo nome que inseriu no /exemples/config.json