Histórico de mensagens sobre js em pix

EXIBINDO CONVERSAS RECENTES:

Texto: js
Canal: pix
Avatar discord do usuario alissonmaciel_32335

alissonmaciel_32335

E estou recebendo este erro:
Chave PIX: string(36) "5cd9a718-ce6d-4564-bc10-c5b03e7a998f"
Response do método webhook: string(172) "{"nome":"json_invalido","mensagem":"Valores ou tipos de campo inválidos","erros":[{"chave":"required","caminho":"","mensagem":"deve ter a propriedade obrigatória body"}]}"

Avatar discord do usuario allgood.eth

allgood.eth

aonde posso encontrar os logs de webhook? cadastrei um webhook com sucesso(recebi o evento teste_webhook) mas nao consigo receber nenhuma confirmacao de pagamento em homologacao. criei alguns cob com valores de 1 a 10 e de 11 a 100 e nada chegou.


json => {"evento":"teste_webhook","data_criacao":"2024-05-08T19:15:10.505Z"}

Avatar discord do usuario ksevendev

ksevendev

Quando se atribuí

json_decode(..., true)

True após o resultado qual quer decodificar, o mesmo é extraído por array e não objeto...

Tenta
$body[0]["pix"][0]["txid"]
ou
$body["pix"]["txid"]

Indiquei pelo que obsevo ta array com sub array, ou talvez seja mal interpretação minha ai ta a segunda opção.

Avatar discord do usuario peduuuu

peduuuu

e diversos outros mas não consigo extrair so me retorna um array NULL no JSON

Avatar discord do usuario peduuuu

peduuuu

to usando o codigo da própria documentação para tratar o JSON de notificação, imagino eu que essa linha seja a responsável por colher o json

$body = json_decode(file_get_contents('php://input'), true);

Avatar discord do usuario peduuuu

peduuuu

Esse é o JSON que esta sendo salvo no arquivo dados.json no servidor webhook, mas quero quarda em um db não pretendo guarda em um JSON mas quero apenas o campo txid
imagem enviada na mensagem pelo usuario peduuuu

Avatar discord do usuario peduuuu

peduuuu

estou me aventurando nesse mundo, e me veio a dificuldade na hora de extrair o 'txid' do JSON

Avatar discord do usuario peduuuu

peduuuu

Alguém pra me da um help pra tratar o JSON de retorno na APi pix ? KKKK

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Um detalhe que você precisa conferir, é se você registrar a URL assim http://urldosite.com.br/notifications.php, ao acionar o webhook, será acrescentado um /pix na URL. Portanto, deve-se ser tratado a adição do /pix na URL.

Para solucionar isso, cadastre seu webhook URL com a query param ?ignorar=. Assim, quando o webhook for acionado, o /pix será tratado como um parâmetro e você receberá o JSON no arquivo notifications.php, conforme a seguinte URL: http://urldosite.com.b/notifications.php?ignorar=/pix.

Avatar discord do usuario cseabra.

cseabra.

bom dia! Estou tendo o seguinte problema ao fazer uso do SDK Java (estava funcionando há um tempo atrás):

mensagem:

java.net.SocketException: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: sun.security.ssl.SSLContextImpl$DefaultSSLContext)

stack:

at br.com.efi.efisdk.Request.send(Request.java:51) ~[sdk-java-apis-efi-1.0.0.jar:na]
at br.com.efi.efisdk.Auth.authorize(Auth.java:63) ~[sdk-java-apis-efi-1.0.0.jar:na]
at br.com.efi.efisdk.APIRequest.send(APIRequest.java:61) ~[sdk-java-apis-efi-1.0.0.jar:na]
at br.com.efi.efisdk.Endpoints.kernelCall(Endpoints.java:129) ~[sdk-java-apis-efi-1.0.0.jar:na]
at br.com.efi.efisdk.Endpoints.call(Endpoints.java:94) ~[sdk-java-apis-efi-1.0.0.jar:na]

mais alguém?

Avatar discord do usuario carlossulzer

carlossulzer

Ver Respostas

Boa noite. Como faço para consultar um pix gerado para saber se foi pago ou não em .net core. Vi alguns exemplos mas utiliza E2EID e não tenho essa informação. Isso funciona em homologação ou só em produção?

dynamic efi = new EfiPay(JObject.Parse(File.ReadAllText("credentials.json")));

var param = new
{
e2eId = ""
};

try
{
var response = efi.PixDetailReceived(param);
Console.WriteLine(response);
}
catch (EfiException e)
{
Console.WriteLine(e.ErrorType);
Console.WriteLine(e.Message);
}

Avatar discord do usuario ronaldo_pertec

ronaldo_pertec

processing: https://pix.api.efipay.com.br/oauth/token
Trying 52.3.67.197:443...
Connected to pix.api.efipay.com.br (52.3.67.197) port 443
CAfile: none
CApath: none
ALPN: offers http/1.1
NSS: client certificate from file
subject: C=BR,CN=301970
start date: May 19 20:28:50 2021 GMT
expire date: May 19 20:28:50 2024 GMT
common name: 301970
issuer: [email protected],CN=api-pix.gerencianet.com.br,OU=Infraestrutura,O=Gerencianet Pagamentos do Brasil Ltda,ST=Minas Gerais,C=BR
ALPN: server accepted http/1.1
SSL connection using TLS_AES_256_GCM_SHA384
Server certificate:
subject: CN=.api.efipay.com.br,O=EFI S.A. - INSTITUICAO DE PAGAMENTO,L=OURO PRETO,ST=MINAS GERAIS,C=BR
start date: May 17 19:31:27 2023 GMT
expire date: Jun 17 19:31:26 2024 GMT
common name: .api.efipay.com.br
issuer: CN=GlobalSign RSA OV SSL CA 2018,O=GlobalSign nv-sa,C=BE
using HTTP/1.1
> POST /oauth/token HTTP/1.1
Host: pix.api.efipay.com.br
api-sdk: efi-php-1.8.0
User-Agent: GuzzleHttp/7
Content-Type: application/json
Authorization: Basic Q2xpZW50X0lkXzcwMWE0OGU2ZWExMDM0ODk5NjAxNTIzY2VmZjY5ZTZlM2M4OGVjMDA6Q2xpZW50X1NlY3JldF9hMDYyZmU5OWE0NjhmYjViZjIzZmE0YzgwMTUyZDFlM2RhNWIzNjFj
Content-Length: 35

Empty reply from server
Closing connection

Avatar discord do usuario ronaldo_pertec

ronaldo_pertec

Agora estou recebendo a seguinte mensagem:
processing: https://pix.api.efipay.com.br/oauth/token
Trying 35.170.124.249:443...
Connected to pix.api.efipay.com.br (35.170.124.249) port 443
CAfile: none
CApath: none
ALPN: offers http/1.1
NSS: client certificate from file
subject: C=BR,CN=301970
start date: May 02 14:50:05 2024 GMT
expire date: May 02 14:50:05 2027 GMT
common name: 301970
issuer: [email protected],CN=apis.efipay.com.br,OU=Infraestrutura,O=Efi S.A. - Instituicao de Pagamento,ST=Minas Gerais,C=BR
ALPN: server accepted http/1.1
SSL connection using TLS_AES_256_GCM_SHA384
Server certificate:
subject: CN=.api.efipay.com.br,O=EFI S.A. - INSTITUICAO DE PAGAMENTO,L=OURO PRETO,ST=MINAS GERAIS,C=BR
start date: May 17 19:31:27 2023 GMT
expire date: Jun 17 19:31:26 2024 GMT
common name: .api.efipay.com.br
issuer: CN=GlobalSign RSA OV SSL CA 2018,O=GlobalSign nv-sa,C=BE
using HTTP/1.1
> POST /oauth/token HTTP/1.1
Host: pix.api.efipay.com.br
api-sdk: efi-php-1.8.0
User-Agent: GuzzleHttp/7
Content-Type: application/json
Authorization: Basic Q2xpZW50X0lkXzcwMWE0OGU2ZWExMDM0ODk5NjAxNTIzY2VmZjY5ZTZlM2M4OGVjMDA6Q2xpZW50X1NlY3JldF9hMDYyZmU5OWE0NjhmYjViZjIzZmE0YzgwMTUyZDFlM2RhNWIzNjFj
Content-Length: 35

Empty reply from server
Closing connection

Avatar discord do usuario alexsiqueira0615

alexsiqueira0615

Ver Respostas

Retorno está vindo null. Na verdade quando eu passar para método POST, ele teria que carregar o arquivo dados.json,

Avatar discord do usuario alexsiqueira0615

alexsiqueira0615

Não estou conseguindo simular trazendo as informações dados.json ao utilizar webhook

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?

Avatar discord do usuario andersonhsilva

andersonhsilva

Ver Respostas

@guilherme_efi estou tendo este problema quando vou realizar uma cobrança via pix : json_invalido
Parâmetro ".params.txid", deve corresponder ao padrão "^[a-zA-Z0-9]{26,35}$"
400

Avatar discord do usuario andersonhsilva

andersonhsilva

instalei o sdk no meu laravel utilizando o comadno composer require efipay/sdk-php-apis-efi porem nao estou encontrado o arquivo config.json para colcoar ass credenciais de token e tal

Avatar discord do usuario joabsilvalima

joabsilvalima

dados do erro,
{
"nome": "json_invalido",
"mensagem": "Valores ou tipos de campo inválidos",
"erros": [
{
"chave": "pattern",
"caminho": ".body.valor.original",
"mensagem": "deve corresponder ao padrão \"^[0-9]{1,10}\\.[0-9]{2}$\""