Histórico de mensagens sobre js em pix

EXIBINDO CONVERSAS RECENTES:

Texto: js
Canal: pix
Avatar discord do usuario levelup2306

levelup2306

Galera, alguem ai já teve BO pra ler certificado usando sdk do gn em um app Nextjs hospedado na Vercel?

Avatar discord do usuario bruno_laureano

bruno_laureano

Ver Respostas

Olá, quando clono o repo do pix sdk - node.js e tento dar uma node pixCreateCharge.js exibe um erro de "'FALHA AO LER O CERTIFICADO'"

Avatar discord do usuario jessica_efi

jessica_efi

Sem utilizar o composer install, você tem que incluir a dependência no seu arquivo composer.json, inserindo:

...
"require": {
"gerencianet/gerencianet-sdk-php": "^4"
},
...

Avatar discord do usuario Enrico Momo

Enrico Momo

pra essa verão eu preciso setar algo no composer.json para referenciar algo ?

Avatar discord do usuario david_balbino

david_balbino


public class GerarPix {

static public void gerarPix(int valor){

Credentials credentials = new Credentials();

JSONObject options = new JSONObject();
options.put("client_id", credentials.getClientId());
options.put("client_secret", credentials.getClientSecret());
options.put("pix_cert", credentials.getCertificadoPix());
options.put("sandbox", credentials.isSandbox());

JSONObject body = new JSONObject();
body.put("calendario", new JSONObject().put("expiracao", 3600));
//body.put("devedor", new JSONObject().put("cpf", "94271564656").put("nome", "Gorbadoc Oldbuck"));
body.put("valor", new JSONObject().put("original", valor));
body.put("chave", "sua_chave");

try {
Gerencianet gn = new Gerencianet(options);
JSONObject response = gn.call("pixCreateImmediateCharge", new HashMap(), body);
System.out.println(response);
}catch (GerencianetException e){
System.out.println(e.getError());
System.out.println(e.getErrorDescription());
}
catch (Exception e) {
System.out.println(e.getMessage());
}

}


static public void gerarQrCode(String locId){

Credentials credentials = new Credentials();

HashMap options = new HashMap();
options.put("client_id", credentials.getClientId());
options.put("client_secret", credentials.getClientSecret());
options.put("pix_cert", credentials.getCertificadoPix());
options.put("sandbox", credentials.isSandbox());

HashMap params = new HashMap();
params.put("id", locId );

try {
Gerencianet gn = new Gerencianet(options);
Map response = gn.call("pixGenerateQRCode", params, new HashMap());

File outputfile = new File("qrCodeImage.png");
ImageIO.write(ImageIO.read(new ByteArrayInputStream(javax.xml.bind.DatatypeConverter.parseBase64Binary(((String) response.get("imagemQrcode")).split(",")[1]))), "png", outputfile);
Desktop desktop = Desktop.getDesktop();
desktop.open(outputfile);

}catch (GerencianetException e){
System.out.println(e.getError());
System.out.println(e.getErrorDescription());
}
catch (Exception e) {
System.out.println(e.getMessage());
}
}
}

Avatar discord do usuario Enrico Momo

Enrico Momo

consegume me mostrar um config.json pronto de exemplo

Avatar discord do usuario Enrico Momo

Enrico Momo

mas parece ser algum erro com o config.json mesmo

Avatar discord do usuario Enrico Momo

Enrico Momo

então, esse arquivo de configuração é o config.json (gn-api-sdk-php/examples/config.json) e certificado alterado para .pem no caso de PHP?

Avatar discord do usuario smookeydev.cb

smookeydev.cb

Ver Respostas

Alguém poderia me dar uma ajuda?

ts

const params = { txid: generate({ length: 28, charset: "alphanumeric" }) } // output: { txid: 'gf5a8L5fy2IY7gScgV9S6PwTX9Bb' }

gerencianet.pixCreateCharge(body, params).then((response: any) => {
console.log(response);
res.json(response);
})
.catch((error: any) => {
console.log(error);
res.json(error);
})
.done();

Erro que tá rolando, mesmo estando dentro do pattern:

json
{
nome: 'json_invalido',
mensagem: 'Valores ou tipos de campo inválidos',
erros: [
{
chave: 'pattern',
caminho: '.params.txid',
mensagem: 'deve corresponder ao padrão "^[a-zA-Z0-9]{26,35}$"'
}
]
}

Avatar discord do usuario lrezende

lrezende

o erro que deu foi esse...

{'nome': 'json_invalido', 'mensagem': 'Valores ou tipos de campo inválidos', 'erros': [{'chave': 'additionalProperties', 'caminho': '.body.infoAdicionais[0]', 'mensagem': 'não são permitidas propriedades adicionais'}]}

Avatar discord do usuario palloma_efi

palloma_efi

Ver Respostas

Você alterou o campo sandbox do aquivo de credentials.js para false?

Avatar discord do usuario onlybiel

onlybiel

js
const credenciais = require('./settings/credenciais.json')

module.exports = async (valor,pix) => {
var gerencia = require('./utils/gerenciaNet')

var gerenciaRest = await gerencia()

var dataPag = {
valor: "0.01",
pagador: {
chave: credenciais.pix
},
favorecido: {
chave: pix
}
}


await gerenciaRest.put('/v2/gn/pix/123', dataPag)
.then(res => {
console.log(res)
})
.catch(erro => {
console.log(erro)
})
}

imagem enviada na mensagem pelo usuario onlybiel

Avatar discord do usuario onlybiel

onlybiel

js
"pix": [
{
"$ref": "/bacen/gn-pix-api/-/raw/master/docs/api.swagger.yaml#/components/examples/pixResponse1/value"
},
{
"$ref": "/bacen/gn-pix-api/-/raw/master/docs/api.swagger.yaml#/components/examples/pixResponse2/value"
}
]

Avatar discord do usuario onlybiel

onlybiel

js
/v2/pix?inicio=Fri Jul 01 2022 20:53:33 GMT-0300 (Horário Padrão de Brasília)&fim=Fri Jul 01 2022 20:53:33 GMT-0300 (Horário Padrão de Brasília)&txid=adf3494f105b46f6a2af48fb6adfc53e

Avatar discord do usuario onlybiel

onlybiel

Ver Respostas

js
{
"endToEndId": "E12345678202009091221abcdef12345",
"txid": "cd1fe328c875481285a6f233ae41b662",
"valor": "100.00",
"horario": "2020-09-10T13:03:33.902Z",
"infoPagador": "Reforma da casa",
"devolucoes": [
{
"id": "000AAA111",
"rtrId": "D12345678202009091000abcde123456",
"valor": "11.00",
"horario": {
"solicitacao": "2020-09-10T13:03:33.902Z"
},
"status": "EM_PROCESSAMENTO"
}
]
}

Avatar discord do usuario joao_efi

joao_efi

No caso você precisa informar o caminho dentro do sistema de arquivos, não via http.
Por exemplo, se a estrutura do seu projeto é:

MeuProjeto
|- gn-api-sdk-php
| |- productionCertificate.pem
|- config.json
No seu arquivo de config deve ser informado nesse tipo:
json
{
"client_id": "SEU_client_id",
"client_secret": "SEU_client_secret",
"pix_cert": "./gn-api-sdk-php/productionCertificate.pem",
"sandbox": false,
"debug": false,
"timeout": 30
}

Avatar discord do usuario thichief20

thichief20

Ver Respostas

olá 🙂
Então, como temos de criar o app pra rodar direto do raspberry, configuramos um "serv local" com flask

Esse é o nosso rep no git
https://github.com/thiagomtd/api-pix-gerencianet.git

como falei, usamos um video de 2019 para nos guiar...
o MTD é desenvolvedor em node/next.js e eu sou desenvolvedor em java/kotlin

então PYTHON é meio que um aprendizado do zero praticamente kkkk

Avatar discord do usuario palloma_efi

palloma_efi

@pabl.u Tente com o body dessa forma, por favor:

json
{
"calendario": {
"dataDeVencimento": "2022-06-01",
"validadeAposVencimento": 20
},
"devedor": {
"logradouro": "Alameda Souza, Numero 80, Bairro Braz",
"cidade": "Recife",
"uf": "PE",
"cep": "70011750",
"cpf": ,
"nome": "Francisco da Silva"
},
"valor": {
"original": "5.00",
"multa": {
"modalidade": 2,
"valorPerc": "5.00"
},
"juros": {
"modalidade": 3,
"valorPerc": "1.00"
},
"desconto": {
"descontoDataFixa": [{
"data": "2022-05-31",
"valorPerc": "3.00"
}],
"modalidade": 1
}
},
"chave":
,
}

Avatar discord do usuario vborn_

vborn_

Ver Respostas

Oi gente, tudo bem?

Como o servidor recebe o POST do Webhook?

Fiz uns testes utilizando o postman para o meu webhook.

{
"pix": [
{
"endToEndId": "xxx",
"txid": "xxx",
"chave": "xxx",
"valor": "0.01",
"horario": "2020-12-21T13:40:34.000Z",
"infoPagador": "pagando o pix"
}
]
}

Enviei no Body esse modelo, tirei da documentação na parte de Exemplo Pix Recebido, pelo postman, passa tudo certinho e altera os dados do pagamento quando passo um TXID valido e com pagamento confirmado, mas quando espero o post da API ele não acontece nada, alguém pode me ajudar?

Função parcial do controller:
public function webhook(Request $request) {
$data = $request->json()->all();
$txid = $data['pix'][0]['txid'];

$file = \Illuminate\Support\Facades\File::get(base_path() . '/resources/views/pagamentos/config.json');
$options = json_decode($file, true);

$params = ['txid' => $txid];

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

Avatar discord do usuario joao_efi

joao_efi

Ver Respostas

Boa noite @ronierys2 tudo certo?
No campo mostrado abaixo, selecione a opção "json" por favor
imagem enviada na mensagem pelo usuario joao_efi