Histórico

EXIBINDO CONVERSAS RECENTES:

Texto: n
Data: 26/04/2024
Canal: pix
Avatar discord do usuario alexsiqueira0615

alexsiqueira0615

Ver no Discord

Code 404 invalid request error description "not found"

Avatar discord do usuario alexsiqueira0615

alexsiqueira0615

Ver no Discord

Porém está gerando erro

Avatar discord do usuario alexsiqueira0615

alexsiqueira0615

Ver no Discord

Estou gerando uma método para buscar token em php

Avatar discord do usuario aldenorjunior

aldenorjunior

Ver RespostasVer no Discord

Vou verificar a documentação. @guilherme_efi @rubenskuhl muito obrigado, bom dia p/ vcs!!

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver RespostasVer no Discord

Outro detalhe que o @aldenorjunior precisa atentar no caso de envio de Pix em lote é que quando o Pix não der certo, é bom dar um tempo de espera antes de tentar o próximo, ou vai cair nos baldes de limitação do Banco Central.

Avatar discord do usuario guilhermeoliveira91

guilhermeoliveira91

Ver RespostasVer no Discord

Bom dia! Eu criei um lote de cobranças com vencimento, e algumas cobranças foram criadas e outras outras ficaram como negadas, eu quero utilizar o PUT para alterar o lote, é possível?

Avatar discord do usuario thiagorobles

thiagorobles

Ver RespostasVer no Discord

Bom dia, consigo sim, eu gero as cobranças imediatas corretamente em produção

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver RespostasVer no Discord

Ah sim, me desculpe a confusão. No caso dos endpoints de lote, são usados para emitir cobranças Pix para recebimento.
No momento, não dispomos de um endpoint de envio em lote, mas você pode utilizar o [endpoint de envio de Pix](https://dev.efipay.com.br/docs/api-pix/gestao-de-pix#requisitar-envio-de-pix) e programar o loop que realizará os envios. Neste cenário, recomendamos que o envio de Pix por API esteja condicionado à conclusão da transação anterior, a qual é notificada por meio do webhook.

Avatar discord do usuario aldenorjunior

aldenorjunior

Ver no Discord

Essa solucao atende as duas modalidades?

Avatar discord do usuario aldenorjunior

aldenorjunior

Ver RespostasVer no Discord

Não entendi muito bem vc comentou "gerenciar cobranças", porem preciso fazer pagamentos...

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver RespostasVer no Discord

Bom dia, @thiagorobles. Como vai você?
Parece você está misturando configurações do certificado do endpoint webhook da sua aplicação que irá receber as notificações, com parâmetros do endpoint da API Efí que consome para configurar o webhook.

Antes de prosseguirmos, você conseguiu autenticar na API Pix?

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver RespostasVer no Discord

Bom dia, @aldenorjunior! Tudo bem?
Existe sim. Nós oferecemos uma solução onde você pode emitir e gerenciar cobranças com vencimento em lote. Para mais informações detalhadas, você pode conferir em nossa documentação técnica aqui.
Qualquer dúvida, pode contar com a gente!

Avatar discord do usuario aldenorjunior

aldenorjunior

Ver RespostasVer no Discord

Bom dia! Estamos precisando de pagamento em lote com pix, existe algum serviço que nos atenda?

Avatar discord do usuario thiagorobles

thiagorobles

Ver RespostasVer no Discord

fiz a alteração abaixo, adicionei o cert e a key que baixei no momento da criação da aplicação

private instance = axios.create({
httpsAgent: new https.Agent({
cert: Buffer.from(process.env.EFI_CERT, 'base64'),
key: Buffer.from(process.env.EFI_KEY, 'base64'),
ca: Buffer.from(process.env.CHAIN_PIX_PROD_CRT_BASE64, 'base64'),
requestCert: true,
rejectUnauthorized: true,
}),
headers: {
'x-skip-mtls-checking': true,
},
});

Agora o erro que recebo é unable to get local issuer certificate

parece ser algo relacionado ao SSL, porem está configurado corretamente pelo ACM do heroku

essas variaveis de ambiente estao configuradas pelo heroku, fiz o encode para base64, loguei o resultado do Buffer.from, e está logando os certificados corretamente (cert, key e ca)

Avatar discord do usuario thiagorobles

thiagorobles

Ver no Discord

Entendido, vou configurar aqui e testar novamente, obrigado!

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver RespostasVer no Discord

O certificado, pq ele é um só por ambiente. O mesmo que você usou para acessar o /cob e criar a cobrança.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver RespostasVer no Discord

A chamada de configuração do webhook, o configure webhook, precisa do mesmo certificado usado para criação de cobrança, que não parece citado aí no código...

Avatar discord do usuario thiagorobles

thiagorobles

Ver RespostasVer no Discord

@rubenskuhl obrigado pelo retorno, eu tentei integrar no meu Controller (uso nestjs) na minha API que está no heroku, aqui está o código:

import {
ClassSerializerInterceptor,
Controller,
HttpCode,
HttpStatus,
Logger,
Post,
Req,
UseInterceptors,
} from '@nestjs/common';
import { LoggerInterceptor } from '@src/common/logger/logger-interceptor';
import configuration from '@src/config/configuration';
import axios from 'axios';
import { Request } from 'express';
import as https from 'https';

const { httpsOptions } = configuration();
@Controller('efi-gerencianet')
@UseInterceptors(ClassSerializerInterceptor, LoggerInterceptor)
export class EfiGerencianetController {
private readonly logger = new Logger(EfiGerencianetController.name);

private instance = axios.create({
httpsAgent: new https.Agent({
ca: httpsOptions.ca,
requestCert: true,
rejectUnauthorized: true,
}),
headers: {
'x-skip-mtls-checking': true,
},
});

@Post('webhook/pix')
@HttpCode(HttpStatus.OK)
handlePixCallback(@Req() req: Request) {
const body = req.body;

this.logger.log(Received callback from Gerencianet);
this.logger.debug(body);
return body;
}

@Post('configure-webhook')
async configureWebhook() {
const url =
'https://api-pix.gerencianet.com.br/v2/webhook/4114c4e9-202c-4979-8534-34a4e5a29ad0';
const data = {
webhookUrl: '',
};

try {
const response = await this.instance.put(url, data);
this.logger.log(
Webhook configured successfully. Status code: ${response.status},
);
return response.data;
} catch (error) {
this.logger.error(Error configuring webhook: ${error.message});
throw new Error(Error configuring webhook: ${error.message});
}
}
}


subi pra produção, e ao chamar o endpoint recebo o erro: Error: Error configuring webhook: read ECONNRESET

Para SSL estou usando o heroku ACM (auto managed).


Sabem o que posso estar fazendo errado?

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver RespostasVer no Discord

Um certificado CA de mTLS tipicamente não se importa, e sim se usa ele numa configuração.

Avatar discord do usuario thiagorobles

thiagorobles

Ver RespostasVer no Discord

Olá pessoal, estou tentando criar um webhook pelo postman e recebo o erro BAD_PKCS12_DATA, já importei o certificado CA de produção. Sabem o que pode ser?