Histórico de mensagens sobre js em pix

EXIBINDO CONVERSAS RECENTES:

Texto: js
Canal: pix
Avatar discord do usuario henryq_

henryq_

ReactJS?

Avatar discord do usuario ranulfosouza

ranulfosouza

Ver Respostas

boa tarde, pessoal.
estou com problemas ao tentar configurar o webhook em node.js
estou recebendo a resposta:
{
"result": {
"nome": "erro_interno_servidor",
"mensagem": "Erro interno do servidor"
}
}

metado chamado:

let body = {
"webhookUrl": "https://api.chafè.com/dev/webhook"
//"webhookUrl": "https://api.xn--chaf-8oa.com/dev/webhook"
}

let params = {
chave: "+5521983222997"
}

try{
const response = await gerencianet.pixConfigWebhook(params, body)
return response;
}catch(e){
console.error("--> Erro ao configurar pixConfigWebhook", e);
return e;
}

alguém pode me ajudar ?

Avatar discord do usuario dudabrazil9577

dudabrazil9577

boa noite, consegui configurar o webhook e estou recebendo as confirmações dos pagamentos pix, via Cloud code Back4app, tendo como cliente um app em android java. Ocorre que não consigo obter retorno do QRcode e do txid ao mesmo tempo (através de um objeto JSON). O servidor está enviando um de cada vez. Estou utilizando a "callFunctionInBackground" do java para receber os retornos, porém sempre uma String por vez. Alguém pode me ajudar com exemplos de como enviar e tratar JSONs, nessa configuração? agradeço a atenção.

Avatar discord do usuario .antoniogregorio

.antoniogregorio

json
{
"valor": "99.99",
"pagador": {
"chave": "19974764017",
"infoPagador": "Segue o pagamento da conta"
},
"favorecido": {
"contaBanco": {
"nome": "JOSE CARVALHO",
"cpf": "10519952057",
"codigoBanco": "09089356",
"agencia": "1",
"conta": "123453",
"tipoConta": "cacc"
}
}
}

Avatar discord do usuario henryq_

henryq_

obs: ja citei o express.json();

Avatar discord do usuario pk7r

pk7r

Ver Respostas

java
@Log4j2
@Service
@AllArgsConstructor(onConstructor = @__(@Autowired))
public class PixService {

Gerencianet gerencianet;

public void createTransaction(double amount, String key) {
val body = new JSONObject();
body.put("calendario", new JSONObject().put("expiracao", "3600"));
body.put("valor", new JSONObject().put("original", amount));
body.put("chave", key);
try {
JSONObject response = gerencianet.call("https://api-pix.gerencianet.com.br/v2/cob", new HashMap<>(), body);
System.out.println(response);
} catch (Throwable throwable) {
log.error("Falha ao criar transação.", throwable);
}
}
}

alguém poderia me ajudar? está dando um erro cuja mensagem é
nonexistent endpoint

Avatar discord do usuario gilmarsilvasantos

gilmarsilvasantos

Ver Respostas

onde consigo aquele json de exemplo do postman pra download?, no site só achei pra testar diretamente la

Avatar discord do usuario peterpm

peterpm

Ver Respostas

Ola, boa madrugada a todos.

Estou aqui enfrentando um problema, e deve ser como sempre, bem simples de resolver.

Estou solicitando a lista de recebimentos, porem, ela é maior que 100.

Como mudo de pagina?


Esse é o pedaço da saida, e so tenho acesso na lista os ultimos 100 recebimentos.
"
[...]
paginaAtual : 0
itensPorPagina : 100
quantidadeDePaginas : 2
quantidadeTotalDeItens : 116
[...]
"

Em Nodejs esse snippet é o que esta fazendo a solicitação, tudo funciona, mas não sei como mudar a pagina, e por isso, nesse caso, os 101 a 116 mais antigos recebimentos não podem ser processados.


"
[...]
let params = {
inicio: var_inicio,
fim: var_fim
}

gerencianet.pixListReceived(params)
.then((resposta) => {
[...]

Existe uma solução simples, que é diminuir minha janela, mas, esse problema sempre esteve no fundo de minha mente, e um momento em que uma janela menor tenha um pico de transferencias, novamente iria cair nessa situação.

Resumindo, o que devo colocar junto nesse "params" pra mudar a pagina?

Grato a todos, e desculpem o horario.

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Você pode receber notificações automaticamente via webhook referente às modificações de status de uma cobrança Pix. Para isso, será necessário a inserção de uma chave pública da Gerencianet em seu servidor para que a comunicação obedeça o padrão mTLS.
Veja mais detalhes em nossa documentação: https://dev.gerencianet.com.br/docs/api-pix-endpoints#section-webhooks

Ou seja, primeiramente em um servidor dedicado, você deve inserir uma chave pública da Gerencianet nas configurações de seu servidor para que a comunicação obedeça o padrão mTLS (forma de autenticação mutua).
Veja um exemplo desta configuração em um servidor Apache, Nginx, Node, etc: https://dev.gerencianet.com.br/docs/api-pix-endpoints#section-exemplos-de-configura-es-de-servidor

Então com seu servidor configurado com mTLS em seu domínio (ex: https://seudominio.com.br/webhook/" class="link-msg">https://seudominio.com.br/webhook/), você irá consumir a rota PUT /v2​/webhook/:chave uma única vez para registrar seu webhookUrl vinculado à sua chave Pix. 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, as notificações serão enviadas para sua URL com o /pix no final, assim: https://seudominio.com.br/webhook/pix.

Desta forma, 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 também exija o certificado CA da Gerencianet.

Veja mais detalhes sobre o endpoint: https://dev.gerencianet.com.br/docs/api-pix-endpoints#section-configurar-o-webhook-pix

Com isto, todo Pix gerado com sua chave Pix e que possua um txid, serão enviados as notificações para sua URL.

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Primeiro você deve autenticar na API e obter o access_token.

php
$curl = curl_init();

$authorization = base64_encode("$client_id:$client_secret");

curl_setopt_array($curl, array(
CURLOPT_URL => "https://api-pix-h.gerencianet.com.br/oauth/token", // Rota base, desenvolvimento ou produção
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 => '{"grant_type": "client_credentials"}',
CURLOPT_SSLCERT => $arq_certificado, // Caminho do certificado
CURLOPT_SSLCERTPASSWD => "",
CURLOPT_HTTPHEADER => array(
"Authorization: Basic $authorization",
"Content-Type: application/json"
),
));

$auth = json_decode(curl_exec($curl), true);

curl_close($curl);

$tokenType = $auth['token_type'];
$accessToken = $auth['access_token'];

Depois emitir o pix
php
$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "https://api-pix-h.gerencianet.com.br/v2/cob/$txID",
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_SSLCERT => $arq_certificado, // Caminho do certificado
CURLOPT_SSLCERTPASSWD => "",
CURLOPT_POSTFIELDS => '{
"calendario": {
"expiracao": 3600
},
"devedor": {
"cpf": "02279112312",
"nome": "Maria apareciada monteiro"
},
"valor": {
"original": "10.21"
},
"chave": "",
"solicitacaoPagador": "Mensaldiade Monteiro Sistemas"
}',
CURLOPT_HTTPHEADER => array(
"authorization: $tokenType $accessToken",
"Content-Type: application/json"
),
));

$dadosPix = json_decode(curl_exec($curl), true);
curl_close($curl);

return $dadosPix;

Avatar discord do usuario mateusbrasil2944

mateusbrasil2944

Ver Respostas

Mas o pix só é possível com

js
sandbox:false
, ou também é possível com
js
sandbox:true
? Ficou um pouco ambíguo depois que foi dito acima que pix não tem ambiente de teste

Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Se você ja quiser ir utilizando, você pode realizar a seguinte alteração:
No arquivo gn-constants.js (https://github.com/gerencianet/gn-api-sdk-node/blob/master/lib/gn-endpoints.js), em ENDPOINTS -> PIX -> pixSend, alterar para:

pixSend: {
route: '/v2/gn/pix/:idEnvio',
method: 'put'
},

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Bom dia, @deivson7351. Tudo bem?
Instalando nossa SDK de PHP (https://github.com/gerencianet/gn-api-sdk-php), você pode utilizar o seguinte exemplo para gerar cobrança imediata definindo na variável $params o txid desejado.

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);

$params = "7978c0c97ea847e78e8849634473c1f1"; // string (Id da Transação) ^[a-zA-Z0-9]{26,35}$

$body = [
"calendario" => [
"expiracao" => 3600
],
"devedor" => [
"cpf" => "12345678909",
"nome" => "Francisco da Silva"
],
"valor" => [
"original" => "0.01"
],
"chave" => "", // Chave pix da conta Gerencianet do recebedor
"solicitacaoPagador" => "Informe o número ou identificador do pedido.",
"infoAdicionais" => [
[
"nome" => "Campo 1", // Nome do campo string (Nome) ≤ 50 characters
"valor" => "Informação Adicional1 do PSP-Recebedor" // Dados do campo string (Valor) ≤ 200 characters
],
[
"nome" => "Campo 2",
"valor" => "Informação Adicional2 do PSP-Recebedor"
]
]
];

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

if ($pix['txid']) {
$params = [
'id' => $pix['loc']['id']
];

// Gera QRCode
$qrcode = $api->pixGenerateQRCode($params);

echo 'Detalhes da cobrança:';
echo '
' . json_encode($pix, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . '
';

echo 'QR Code:';
echo '
' . json_encode($qrcode, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . '
';

echo 'Imagem:
';
echo '';
} else {
echo '
' . json_encode($pix, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . '
';
}
} catch (GerencianetException $e) {
print_r($e->code);
print_r($e->error);
print_r($e->errorDescription);
} catch (Exception $e) {
print_r($e->getMessage());
}

Avatar discord do usuario du2dev

du2dev

eu configurei no nginx porta 433 e redirecinando para minha api en nodejs para porta 8080 onde roda minha aplicação

Avatar discord do usuario daniel.polifabro

daniel.polifabro

Boa tarde, alguem tem o arquivo Json com as rotas para postman?

Avatar discord do usuario danrleihornke

danrleihornke

Uma duvida quanto ao certificado que precisa ser passado o caminho ate o arquivo na configuração do SDK em nodeJs, esse arquivo poderia ficar salvo no repositório ou seria informação sensível? pergunto pois uso deploy automático na aplicação que sobe os arquivo para o servidor

Avatar discord do usuario RodrigoSilva

RodrigoSilva

Olá, boa tarde galera, alguem consegue me ajudar com SDK NodeJS gn-api-sdk-node?

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Boa tarde, @.antoniogregorio. A mensagem de retorno contida na documentação estava desatualizada, o correto é retornar o segundo json mencionado por você.

json
{
"nome": "pedido_pagamento_negado",
"mensagem": "Saldo insuficiente para realizar o pagamento"
}

Vamos atualizar esta informação na doc.

Avatar discord do usuario .antoniogregorio

.antoniogregorio

Ver Respostas

json
{
"nome": "saldo_insuficiente",
"mensagem": "Saldo insuficiente para realizar o pagamento"
}

eu recebo

json
{
"nome": "pedido_pagamento_negado",
"mensagem": "Saldo insuficiente para realizar o pagamento"
}

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Boa tarde, @almirnetocnx. Para saber o valor da tarifa de um Pix, você pode utilizar o seguinte endpoint para configurar sua conta, e então nesta configuração você define como true para receber a tarifa junto com a notificação do webhook.
https://dev.gerencianet.com.br/docs/api-pix-endpoints#criarmodificar-configura%C3%A7%C3%B5es-da-conta

Desta forma, ao acionar seu webhook enviaremos um json semelhante ao seguinte, contendo o valor da tarifa.

json
// Pix recebido
{
"pix": [
{
"endToEndId": "E1803615022211340s08793XPJ",
"txid": "fc9a43k6ff384ryP5f41719",
"chave": "2c3c7441-b91e-4982-3c25-6105581e18ae",
"valor": "0.10",
"horario": "2020-12-21T13:40:34.000Z",
"infoPagador": "pagando o pix",
"gnExtras": {
"tarifa": "0.01"
}
}
]
}

imagem enviada na mensagem pelo usuario guilherme_efi