Histórico de mensagens sobre js

EXIBINDO CONVERSAS RECENTES:

Texto: js
# pix
Avatar discord do usuario lucapwn

lucapwn

Ver Respostas

Falaaa, Caio! Tranquilo? Sim simm, mano! Eu recebo a notificação normalmente no meu webhook quando cadastro um novo link. Exemplo da resposta em JSON:

{
"evento": "teste_webhook",
"data_criacao": "2022-01-20T02:15:38.465Z"
}

Mas quando faço o pagamento via Pix, eu não recebo a notificação de pagamento ☹️

# pix
Avatar discord do usuario lucapwn

lucapwn

Ver Respostas

Olá, boa noite! Tudo bem? 😀
Estou tentando criar meu próprio webhook em PHP (no meu servidor dedicado) para receber as notificações de pagamentos realizados via Pix, e há algum problema, pois não recebo as notificações de pagamentos. Segue o código em PHP abaixo:

header("Content-Type: application/json");
$request = file_get_contents("php://input");
file_put_contents("webhook.json", print_r($request, true));
print_r($request);
?>

Recebo a notificação de configuração do link do webhook normalmente:

{
"webhookUrl": "https://exemplo-pix/webhook"
}

Mas não recebo a notificação quando realizo o pagamento:

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

Tentei utilizar o exemplo de configuração de servidor em Python desenvolvido em Flask (https://dev.gerencianet.com.br/v1/docs/api-pix#section-exemplos-de-uma-configura-o-de-servidor-), mas não consegui seguir esse exemplo. ☹️

Já testei em sites de terceiros (como o https://webhook.site), e funciona normalmente (recebi a notificação do pagamento).

O meu servidor possui certificado SSL e a versão do TLS é 1.2.

Preciso receber essas notificações e armazená-las em algum lugar para verificar se o pagamento foi realizado. Vocês podem me ajudar? Irei ficar muito grato! Muito obrigado! 😀

# bolix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Retornamos esta e também outras informações no momento da criação do boleto. E sua conta estando com o Bolix ativado, retornaremos também o Pix Copia e Cola e a imagem em base64 do QR Code. Segue um exemplo de retorno:

json
{
"code": 200, // retorno HTTP "200" informando que o pedido foi bem sucedido
"data": {
"barcode": "00000.00000 00000.000000 00000.000000 0 00000000000000", // linha digitável do boleto
"pix":{
"qrcode":"00020101021226990014BR.GOV.BCB.PIX2577qrcodes-pix.gerencianet.com.br/bolix/v2/cobv/0000000000000000000000000000GERENCIANET SA6010OURO PRETO6207050363047CB1", // BRCode ou copia e cola
"qrcode_image":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmc vMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NSA0NSIgc2hhcGUtcmVuZGVyaW5nPSJjcmlzcEVkZ2VzIj48cGF0aCBmaWxsPSIjZmZmZmZmIiBkPSJNMCAwaDQ1djQ1SD..." // QR Code imagem
},
"link": "link_https_para_acesso_o_bolix", // link do Bolix gerado
"pdf": {
"charge": "link_https_do_pdf_da_cobranca" // link do PDF do Bolix
},
"expire_at": "2022-12-15", // data de vencimento do boleto no seguinte formato: 2022-12-15 (ou seja, equivale a 15/12/2022)
"charge_id": numero_charge_id, // número da ID referente à transação gerada
"status": "waiting", // forma de pagamento selecionada, aguardando a confirmação do pagamento ("waiting" equivale a "aguardando")
"total": 5990, // valor, em centavos. Por exemplo: 5990 (equivale a R$ 59,90)
"payment": "banking_billet" // forma de pagamento associada à esta transação ("banking_billet" equivale a "boleto bancário")
}
}
Veja mais detalhes em: https://dev.gerencianet.com.br/docs/bolix-boleto-carne#section-dados-de-entrada-e-sa-da-do-bolix-em-one-step-

# pix
Avatar discord do usuario brunodelara

brunodelara

Ver Respostas

Nao da pra pagar em homologação. Eu pago um pix de 1 centavo. Salvo a o json, e fico reenviando pra testar kk

# pix
Avatar discord do usuario Prof Zoidberg

Prof Zoidberg

e quando faço um test com GET /webhook, recebo um json vazio, mas sem mensagem de erro nem nada

# bolix
Avatar discord do usuario brunomarcal.

brunomarcal.

Ver Respostas

OK! Obrigado pelo retorno... já fiz um ajuste no nosso layout para puxar o "expire_at" do JSON de retorno ao invés de calcular a data pela linha digitavel 👍

# bolix
Avatar discord do usuario isecchin

isecchin

Ver Respostas

Sei que podemos resolver isso facilmente do nosso lado, mas acredito que a validação não está condizente (tanto por serem CNPJs distintos quanto por conseguir sim emitir 3, e só dar problema a partir da 4ª)

# bolix
Avatar discord do usuario isecchin

isecchin

O caso específico em que estamos tendo problema atualmente é com uma empresa que tem 5 lojas (5 CNPJs diferentes, inclusive em cidades diferentes) porém o financeiro dessa empresa é único, então eles solicitaram que fossem enviadas as notificações para o mesmo e-mail e telefone

# bolix
Avatar discord do usuario thigas8242

thigas8242

Ver Respostas

Nodejs

# bolix
Avatar discord do usuario matheus_efi

matheus_efi

Hoje o retorno da API segue este padrão:

json
{
"code": 200, // retorno HTTP "200" informando que o pedido foi bem sucedido
"data": {
"barcode": "00000.00000 00000.000000 00000.000000 0 00000000000000", // linha digitável do boleto
"link": "link_https_para_acesso_o_bolix", // link do Boleto gerado
"pdf": {
"charge": "link_https_do_pdf_da_cobranca" // link do PDF do Boleto
},
"expire_at": "2022-12-15", // data de vencimento do boleto no seguinte formato: 2022-12-15 (ou seja, equivale a 15/12/2022)
"charge_id": numero_charge_id, // número da ID referente à transação gerada
"status": "waiting", // forma de pagamento selecionada, aguardando a confirmação do pagamento ("waiting" equivale a "aguardando")
"total": 5990, // valor, em centavos. Por exemplo: 5990 (equivale a R$ 59,90)
"payment": "banking_billet" // forma de pagamento associada à esta transação ("banking_billet" equivale a "boleto bancário")
}
}
Você pode pegar o valor que fica no atributo charge e quando o cliente acionar o botão no app, ele fazer o download automático. A forma de implementar vi depender da linguagem de programação utilizada no back-end. Caso encontremos uma forma fácil de transformar o link diretamente, como um parâmetro por exemplo, enviaremos para você no canal.

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Compreendo, Pedro.
O mais próximo que temos que pode lhe ajudar, é uma configuração do webhook utilizando nodeJS e express
https://dev.gerencianet.com.br/docs/api-pix-endpoints#section-exemplos-de-configura-es-de-servidor

# pix
Avatar discord do usuario pedrohenriquebufulin

pedrohenriquebufulin

Ver Respostas

Tranquilo, é isso que eu tinha em mente mesmo.
Inclusive, apanhei igual um oponente do mike tyson da implementação desse webhook.
Acabei fazendo uma "gambiarra" aqui, que faz o pagamento mandando numa rota o txId, que falaram ali em cima. Daí tendo o txId a transação confirmada, efetua o envio pro cliente.
É feio? É. Mas depois eu quero ver direito se consigo colocar o webhook certinho.
Se tivesse alguma coisa específica pro nestjs ajudaria eu acho

# pix
Avatar discord do usuario pedrohenriquebufulin

pedrohenriquebufulin

Ver Respostas

Quando eu crio um pix, tem como eu já gerar um QR code com esses links?

js
"id": 8,
"location": "qrcodes-pix-h.gerencianet.com.br/v2/f6af12d74aad4d0d9a415a0b37e1a625",
"tipoCob": "cob",
"criacao": "2021-12-16T02:10:56.054Z"
},
"location": "qrcodes-pix-h.gerencianet.com.br/v2/f6af12d74aad4d0d9a415a0b37e1a625",

Não parece que eles sãpo links pra imagens

# pix
Avatar discord do usuario reidoscoins

reidoscoins

curl_setopt_array($curl, array(
CURLOPT_URL => "https://api-pix.gerencianet.com.br/v2/webhook/" . $chave, // Rota base, homologaço 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 => "PUT",
CURLOPT_POSTFIELDS => $json,
CURLOPT_SSLCERT => $config["certificado"], // Caminho do certificado
CURLOPT_SSLCERTPASSWD => "",
CURLOPT_HTTPHEADER => array(
"Content-Type: application/json",
"authorization: Bearer " . $access_token,
"x-skip-mtls-checking: false"
),
));

$response = curl_exec($curl);

# pix
Avatar discord do usuario pedrohenriquebufulin

pedrohenriquebufulin

Ver Respostas

Eu não sei o que estou fazendo de errado. O Buffer está vindo certinho.





js

/ eslint-disable @typescript-eslint/no-var-requires /
const Gerencianet = require('gn-api-sdk-node');
const AWS = require('aws-sdk');

require('dotenv').config();
const fs = require('fs');
const path = require('path');

const certPath = path.resolve(
__dirname,
../../certs/${process.env.GN_PIX_CERT},
);

console.log(certPath);
const pix_cert = fs.readFileSync(certPath);

console.log(pix_cert);

export const options = {
sandbox: process.env.ENVIRONMENT === 'development' ? true : false,
client_id: process.env.GN_CLIENT_ID,
client_secret: process.env.GN_CLIENT_SECRET,
pix_cert: pix_cert,
};

const gerencianet = new Gerencianet(options);
export default gerencianet;

# pix
Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

Na SDK tem os endpoints de consultar cobrança(https://github.com/gerencianet/gn-api-sdk-node/blob/master/examples/pix/charge/pixDetailCharge.js) e consultar Pix recebidos (https://github.com/gerencianet/gn-api-sdk-node/blob/master/examples/pix/pix/pixDetail.js), com eles você consegue visualizar os detalhes dos pagamentos e usar as informações para os fins que deseja.

# pix
Avatar discord do usuario rlucredio

rlucredio

Ver Respostas

Eu precisava que aparecesse esse ID Pix no arquivo JSON
imagem enviada na mensagem pelo usuario rlucredio