Histórico de mensagens sobre js

EXIBINDO CONVERSAS RECENTES:

Texto: js
# dúvidas
Avatar discord do usuario slinkp01

slinkp01

Ver Respostas

Bom dia

Não consigo verificar o status dos boletos através dessa api, podem me ajudar?

import requests

# Configurações da API do Efi Bank
CLIENT_ID = "seu_client_id"
CLIENT_SECRET = "seu_client_secret"

# URL para obter o token
TOKEN_URL = "https://api.efi.bank/open-banking/oauth/token"
# URL para buscar a lista de boletos
BOLETOS_URL = "https://api.efi.bank/open-banking/boleto/v1/boletos"

# Passo 1: Autenticação para obter o token de acesso
auth_data = {
"grant_type": "client_credentials",
"client_id": CLIENT_ID,
"client_secret": CLIENT_SECRET
}

token_response = requests.post(TOKEN_URL, data=auth_data)
token_json = token_response.json()

if "access_token" in token_json:
access_token = token_json["access_token"]

# Passo 2: Buscar todos os boletos
headers = {"Authorization": f"Bearer {access_token}"}

params = {"limit": 100} # Define a quantidade de boletos por requisição (máximo permitido pela API)

boleto_response = requests.get(BOLETOS_URL, headers=headers, params=params)

if boleto_response.status_code == 200:
boletos = boleto_response.json()["boletos"] # Lista de boletos retornados

# Exibir status de cada boleto
for boleto in boletos:
print(f"Boleto ID: {boleto['id']} - Status: {boleto['status']} - Cliente: {boleto['cliente']['nome']}")
else:
print("Erro ao buscar boletos:", boleto_response.json())
else:
print("Erro ao obter token de acesso:", token_json)

# dúvidas
Avatar discord do usuario thagmrs

thagmrs

Ver Respostas

Bom dia! Estou com um problema na chamada da api /v1/charges pra listar todos os tipos de cobrança de carnet q eu tenho. Eu tento passar os parâmetros necessários conforme doc e ele fala q o charge_type é obrigatório, mas eu estou passando. Inclusive no payload cheguei a deixar só o charge_type pra ver e nem assim ele reconhece. Queria saber se precisa passar o json em outro padrão, pois a documentação nessa parte não está tão clara
imagem enviada na mensagem pelo usuario thagmrs

# pagamento-contas
Avatar discord do usuario igorcharles

igorcharles

Ver Respostas

estou usando o sdk nodejs, sim credenciais de produção, estou conseguindo puxar os dados do boleto, isso confirma que está funcionando a questão da produção, porém na chamada do endpoint de pagamento acusa a falta de escopo

# dúvidas
Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Na nova API ao consultar o token você vai ter acesso ao JSON com as informações da cobrança.
No link enviado temos exemplos.
A estrutura muda completamente ao se comparar com o Fortunus

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Essas URLs não são para abrir no navegador... elas vão responder a solicitações nos endpoints, desde que seja requisição JSON.

# devs
Avatar discord do usuario ximenes.fazpay

ximenes.fazpay

Ver Respostas

Olá Pessoal, tudo bem? Tenho uma demanda de enviar um pix, estou utilizando o sdk pra isso e ainda estou confuso sobre alguns passos.

Na hora de pagar um pix diz que não existe webhook pra aquela chave. Quando tento criar uma chave aleatória pra criar o webhook pra ele eu recebo este json:
{
"nome": "erro_aplicacao",
"mensagem": "Ocorreu um erro ao solicitar a criação da chave"
}

Alguém já passou por isso ou sabe identificar o que poderia estar errado?

# pix
Avatar discord do usuario samucca9675

samucca9675

Ver Respostas

Boa tarde, posso tentar.

Estou utilizando nodejs

A mesma configuração eu usava com minha conta PF

Troquei para PJ

Alterei o certificado.p12 e a chave pix.

Tbm troquei o arquivo de mtls, mas nao funciona tbm

# pix
Avatar discord do usuario lucianoolegario_57079

lucianoolegario_57079

Ver Respostas

def gerar_pix():
# Receber os dados como string JSON codificada na URL
pix_details_json = request.args.get('pix_details')

if not pix_details_json:
return jsonify({'error': 'Dados insuficientes para renderizar o QR Code'}), 400

try:
# Decodificar JSON da URL
pix_details = json.loads(unquote(pix_details_json))

# Gerar QR Code
pix_copia_e_cola = pix_details.get("pixCopiaECola")
if not pix_copia_e_cola:
return jsonify({'error': 'Copia e cola do Pix está ausente nos dados'}), 400

# Criar QR Code como imagem PIL
qr = qrcode.make(pix_copia_e_cola)

# Salvar QR Code em memória
buffer = BytesIO()
qr.save(buffer, format="PNG")
buffer.seek(0)

# Renderizar o template com os dados
return render_template("pix.html", pix=pix_details, qr_code_url="/qr_code_image?pix_details=" + unquote(pix_details_json))
except Exception as e:
print(f"Erro ao processar pix_details: {e}")
return jsonify({'error': f'Erro ao processar pix_details: {e}'}), 500


@routes_pix_bp.route('/qr_code_image')
def qr_code_image():
# Receber os dados do QR Code como string JSON codificada na URL
pix_details_json = request.args.get('pix_details')

if not pix_details_json:
return jsonify({'error': 'Dados insuficientes para gerar o QR Code'}), 400

try:
# Decodificar JSON da URL
pix_details = json.loads(unquote(pix_details_json))
pix_copia_e_cola = pix_details.get("pixCopiaECola")
if not pix_copia_e_cola:
return jsonify({'error': 'Copia e cola do Pix está ausente nos dados'}), 400

# Gerar QR Code
qr = qrcode.make(pix_copia_e_cola)

# Salvar QR Code em memória
buffer = BytesIO()
qr.save(buffer, format="PNG")
buffer.seek(0)

# bolix
Avatar discord do usuario joaolucas_efi

joaolucas_efi

Ver Respostas

Bom dia, @lucaslopes17. Tudo bem?
Caso você tente cancelar uma cobrança que já foi cancelada você receberá a seguinte mensagem de nossa API:

json
{
"code": 3500043,
"error": "charge_not_cancelable",
"error_description": "Apenas transações com status [new], [link], [waiting] ou [unpaid] podem ser canceladas."
}

# dúvidas
Avatar discord do usuario marcelo_efi

marcelo_efi

Ver Respostas

Em nosso repositório, você encontra exemplos de como consumir a biblioteca.

Para carregar o JavaScript em uma WebView, recomendo consultar a documentação do Flutter.

# dúvidas
Avatar discord do usuario higorvergara

higorvergara

Fala rapaziada, beleza!?
Bem queria saber se o pacote Flutter EfiPay gera o payment_token, se não gera qual a melhor forma para quem não usa NODE.js ?
Grato!

# freelancer
Avatar discord do usuario ricardog7

ricardog7

Vaga para Desenvolvedor React - Web e Mobile.

Requisitos:
Desenvolvimento e implantação de novas funcionalidades front-end e Mobile;
Desenvolvimento de novas funcionalidades;
Desejável experiencia de 4 anos em React Native
Desejável conhecimento em:
--ReactJS
-- NextJS
--Tailwindcss
--Typescript
--React Native
--Expo
--Firebase
--Notificação no firebase

desejavel experiencia com publicação de app nas lojas

enviar curriculo para [email protected]

# dúvidas
Avatar discord do usuario guilhermesouzar

guilhermesouzar

Ver Respostas

Apenas retornando aqui a minha solução...
Caso o destinatario do repasse for um cnpj é preciso trocar o atributo no corpo do json. Ao invés de 'cpf: 0123456789789' é necessário mudar para 'cnpj: 0123456789789'. @jessica_efi Seria interessante esta informação na documentação. Obrigado pelo rápido suporte.

# devs
Avatar discord do usuario jao_vieiraaa

jao_vieiraaa

Ver Respostas

Eu tenho uma função chamada config que é usada tanto para criar o COB (o que funciona corretamente), quanto na função de reembolso onde ocorre o erro. Se o problema fosse com o certificado, a criação do COB não funcionaria corretamente.

public EfiPay config() throws Exception {
JSONObject options = new JSONObject();
options.put("client_id", clientId);
options.put("client_secret", clientSecret);
options.put("certificate", certificate);
options.put("sandbox", sandbox);

return new EfiPay(options);
}

# freelancer
Avatar discord do usuario eityeily

eityeily

🚀 Experienced Full-Stack Developer with Verified Expertise in Web3 & Blockchain Solutions

I’m a skilled developer with a proven track record of delivering high-quality projects. With expertise in Next.js, Solidity, Rust, Vue, Nest.js, MongoDB, PostgreSQL, and TypeScript, I bring the right tools to ensure your project’s success. 💼💻

## What I Offer:
Next.js & Vue: Fast, responsive, and scalable web applications.
🔐 Solidity & Rust: Secure, efficient smart contracts and decentralized applications (DApps).
🏗️ Nest.js: Robust and scalable back-end systems.
🗄️ MongoDB & PostgreSQL: Solid database management for performance and reliability.
🛠️ TypeScript: Type-safe, scalable, and maintainable codebase.
I’ve worked with verified companies on major projects in the blockchain and Web3 space, consistently delivering exceptional results. When you hire me, you’re not just getting a developer – you’re getting a dedicated partner committed to your success. 🌟

Learn more about me and my work: https://goldliondev.com

Let’s connect and bring your vision to life! Feel free to DM me anytime! 💬

# pix
Avatar discord do usuario feijonts_

feijonts_

Ver Respostas

estou tendo um problema ao cadastrar uma webhook, está dando: A URL informada respondeu com o código HTTP 401

Copiei o código

js
app.post('/webhook', (request, response) => {
if (request.socket.authorized) {
response.status(200).end();
}
else {
response.status(401).end();
}
});

Quando printo request.socket.authorized ele retorna undefined

# pix
Avatar discord do usuario rogerio_itu2044

rogerio_itu2044

Ver Respostas

Mas ainda nao encontrei a tipagem para paginacao, por favor pode me mostrar ?
https://github.com/efipay/sdk-node-apis-efi/blob/master/src/methods/pix.js#L802

Até tentei alterar para :

pixSendList(params: {
inicio: string;
fim: string;
status: string;
devolucaoPresente: boolean;
paginacao: {
paginaAtual: string;
itensPorPagina: string;
}
}): Promise
Mas recebo o erro:
type: 'https://pix.bcb.gov.br/api/v2/error/PixEnviadoConsultaInvalida',
title: 'Consulta Inválida',
status: 400,
detail: 'Os parâmetros de consulta não respeitam o schema ou não fazem sentido semanticamente.',
violacoes: [
{
razao: 'não são permitidas propriedades adicionais',
propriedade: 'pixEnviado.query'
}
]

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Bom dia, @rogerio_itu2044! Tudo bem?
Gostaria de registrar que, ao deixar o x-skip-mtls-checking como true, o Efí continuará enviando o certificado TLS na requisição, mas seu servidor irá ignorá-lo.

Nesse caso, você não precisa criar uma nova rota, pois a notificação será sempre enviada para /webhook, e o hmac será um query param. O parâmetro ignorar pode realmente ser desconsiderado. Nesse cenrário é importante verificar se o HMAC recebido na notificação em sua aplicação, é o mesmo que foi cadastrado no webhook no Efí. Além disso, recomendamos realizar uma validação por IP, já que nossa API utiliza exclusivamente o IP 34.193.116.226. Essas práticas garantem que é realmente o Efí quem está enviando a notificação. Sem o mTLS configurado, não ocorre o "handshake" de segurança.

Segue um exemplo em Node.js:

js
app.post('/webhook', (req, res) => {
const expectedHmac = "xyz"; // Valor esperado do HMAC que você usar no cadastro do webhook (cadastre um diferente deste)
const authorizedIp = "34.193.116.226"; // IP utilizado pelo API do Efí Bank

const requestIp = req.ip;
const requestHmac = req.query.hmac;

// Validação do IP
if (requestIp !== authorizedIp) {
res.status(401).json({ error: "Solicitação de webhook não autorizado" });
return;
}

// Validação do HMAC
if (!requestHmac || requestHmac !== expectedHmac) {
res.status(401).json({ error: "Solicitação de webhook não autorizado" });
return;
}

// Processar o webhook conforme sua regra de negócio
});

# pix
Avatar discord do usuario rogerio_itu2044

rogerio_itu2044

Ver Respostas

Boa noite!
Já se foram 3 longos dias tentando configurar meu webhook com Skip-mTLS em NodeJs Typescript, usando o sdk-node-apis-efi, por favor poderiam me ajudar, estou recebendo o seguinte erro:

{
nome: 'webhook_invalido',
mensagem: 'A URL informada respondeu com o código HTTP 403'
}

Sei que existem vários pedidos de ajuda relacionados a esse caso, mas nenhum é relacionado ao webhook do tipo Skip-mTLS, que é meu caso, porque estou usando servidor compartilhado.
A principio quero ressaltar um erro nos exemplos do github:
credentials.js
module.exports = {
// PRODUÇÃO = false
// HOMOLOGAÇÃO = true
sandbox: false,
client_id: 'seu_client_id',
client_secret: 'seu_client_secret',
certificate: 'caminho/ate/seu/certificado.p12',
}
sendo que no SDK mostra diferente:
{
sandbox: boolean;
client_id: string;
client_secret: string;
partner_token?: string | undefined;
certificate?: string | undefined;
cert_base64?: boolean | undefined;
pix_cert?: string | undefined;
pemKey?: string | undefined;
}
E também tem um erro no exemplo no git para configuração do webhook, de onde venho esse tal de options['validateMtls'], sendo que ele não existe nas credenciais do SDK:
const EfiPay = require('sdk-node-apis-efi')
let options = require('../../credentials')

options['validateMtls'] = false

let body = {
webhookUrl: 'https://exemplo-pix/webhook',
}

let params = {
chave: 'SUACHAVEPIX',
}

const efipay = new EfiPay(options)

efipay.pixConfigWebhook(params, body)
.then((resposta) => {
console.log(resposta)
})
.catch((error) => {
console.log(error)
})
O arquivo anexo contém meu exemplo de configuração de webhook, mas gostaria muito que vocês fornecessem um exemplo atualizado em typescript.
Muito obrigado!

# pix
Avatar discord do usuario dilanln.

dilanln.

Ver Respostas

boa tarde pessoal, estou tentando realizar a adição de webhooks da api pix no nestjs, porém estou com dificuldades para testes locais, tem algum exemplo de implementação em nodejs ?