Histórico de mensagens sobre pix em pix

EXIBINDO CONVERSAS RECENTES:

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

alexsiqueira0615

sim, todos ativados em relação API Pix

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Na aplicação criada em sua conta você habilitou os escopos da API Pix?

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Neste trecho da documentação técnica você encontra um exemplo de configuração de servidor com mTLS.

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Aparentemente a URL da requisição que está montando não existe.
Em nossa documentação temos um exemplo de autenticação em PHP com cURL. Ou para facilitar ainda mais, você pode usar nossa SDK de PHP.

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Você pode usar o endpoint PATCH /v2/lotecobv/:id, onde :id é o identificador do lote. No body da requisição, você passa o txid da cobrança Pix e as informações que deseja alterar.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

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 guilherme_efi

guilherme_efi

Ver Respostas

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 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 guilherme_efi

guilherme_efi

Ver Respostas

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 aldenorjunior

aldenorjunior

Ver Respostas

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

Avatar discord do usuario thiagorobles

thiagorobles

Ver Respostas

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 Respostas

@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?