Histórico de mensagens

EXIBINDO CONVERSAS RECENTES:

Data: 24/05/2024
# devs
Avatar discord do usuario jonadabir

jonadabir

acho que o problema esta no agente

# devs
Avatar discord do usuario jonadabir

jonadabir

Ver Respostas

obtive o mesmo erro

# devs
Avatar discord do usuario joaolucas_efi

joaolucas_efi

Ver Respostas

@jonadabir há uma falha na forma com que você está montando a requisição.

Ela deve ser da seguinte forma:

js
const certificatePath = path.join(
__dirname,
'../../../certificates/pix_certificate.p12',
);

const certificate = fs.readFileSync(certificatePath);

const getPixAuthorization = async () => {
const agent = new https.Agent({
pfx: certificate,
passphrase: '',
});

let authParams = {
method: 'POST',
url: 'https://pix-h.api.efipay.com.br/oauth/token',
data: {
grant_type: 'client_credentials',
},
httpsAgent: agent,
};
let token = Buffer.from(credentials.client_id + ':' + credentials.client_secret).toString('base64')
authParams.headers['Authorization'] = 'Basic ' + token
authParams.headers['Content-Type'] = 'application/json'
const authRes = await axios(authParams);

return authRes.data;
};

# devs
Avatar discord do usuario jonadabir

jonadabir


imagem enviada na mensagem pelo usuario jonadabir

# devs
Avatar discord do usuario jonadabir

jonadabir

sim

# devs
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

O arquivo existe e tem permissão ?

# devs
Avatar discord do usuario jonadabir

jonadabir

Ver Respostas

entao, mas eu estou mandando o certificado nessa requisiçao, é a unica que estou fazendo de pix

# devs
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Você precisa mandar também o certificado em todas as requisições.

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Não converta números monetários para float. Remova a vírgula e trate internamente como um número inteiro de centavos.

# devs
Avatar discord do usuario jonadabir

jonadabir

Ver Respostas

estou tentando fazer a req de obter autorização PIX porem estou recebendo o seguinte erro:

ts
cause: Error: socket hang up
at TLSSocket.socketOnEnd (node:_http_client:524:23)
at TLSSocket.emit (node:events:531:35)
at endReadableNT (node:internal/streams/readable:1696:12)
at processTicksAndRejections (node:internal/process/task_queues:82:21) {
code: 'ECONNRESET'
}
Meu código:
ts
const certificatePath = path.join(
__dirname,
'../../../certificates/pix_certificate.p12',
);

const certificate = fs.readFileSync(certificatePath);

const getPixAuthorization = async () => {
const agent = new https.Agent({
pfx: certificate,
passphrase: '',
});

const authParams = {
method: 'POST',
url: 'https://pix-h.api.efipay.com.br/oauth/token',
auth: {
username: credentials.client_id,
password: credentials.client_secret,
},
data: {
grant_type: 'client_credentials',
},
httpsAgent: agent,
};

const authRes = await axios(authParams);

return authRes.data;
};

# cartões
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Taxa você precisa negociar com o @Comercial ...

# cartões
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

As transações de cartão tem um outro mecanismo de notificação, aonde há um webhook para cada transação, diferente do Pix que é um webhook por chave Pix. Mas tem sim notificação.

# dúvidas
Avatar discord do usuario jonadabir

jonadabir

ah, blz, vlw!

# dúvidas
Avatar discord do usuario joaolucas_efi

joaolucas_efi

Ver Respostas

Gera sim, ao criar retorna o campo pixCopiaECola você pode transformar ele em QrCode.

# cartões
Avatar discord do usuario edufaria7

edufaria7

... corrigindo, a taxa ficou em 4,79% sem valor fixo (na simulação)

# pix
Avatar discord do usuario joaolucas_efi

joaolucas_efi

Ver Respostas

A requisição não esta enviado os campos corretos, um exemplo de envio seria esse aqui:

py

# encoding: utf-8

from efipay import EfiPay
from ...credentials import credentials

efi = EfiPay(credentials.CREDENTIALS)


params = {
'idEnvio': 1
}

body = {
'valor': '0.01',
'pagador': {
'chave': '' # Sua chave aqui
},
'favorecido': {
'chave': '' # Chave de quem vai receber aqui
}
}

response = efi.pix_send(params=params, body=body)
print(response)

Também informamos que é para habilitar o endpoint de Envio de Pix em produção, é necessário preencher este formulário. Após o preenchimento, basta aguardar que entraremos em contato.

# dúvidas
Avatar discord do usuario jonadabir

jonadabir

Ver Respostas

o pix cobrança imediata gera um QrCode?

# cartões
Avatar discord do usuario edufaria7

edufaria7

Como conseguir taxa de cartão de 3.49% para checkout transparente?... na simulação que fiz estava 4.79% mais um valor fixo.

# pix
Avatar discord do usuario diogojunior.

diogojunior.

def enviar_pagamento_pix(chave_pix, valor):
try:
efi = EfiPay(credentials)

# Corpo da requisição para enviar um pagamento PIX
body = {
'valor': {
'original': valor # Valor da transferência
},
'chave': chave_pix, # Chave PIX do destinatário
'infoPagador': 'Pagamento pelos serviços prestados.' # Informação adicional
}

# Tentando diferentes métodos para enviar o pagamento PIX
response = None
if hasattr(efi, 'pix_send_payment'):
response = efi.pix_send_payment(body=body)
elif hasattr(efi, 'pix_transfer'):
response = efi.pix_transfer(body=body)
else:
raise AttributeError("Nenhum método encontrado para enviar pagamento PIX.")

print("Resposta da API:", response)

except Exception as e:
print(f"Erro ao enviar pagamento PIX: {e}")
sys.exit(1)

if __name__ == "__main__":
chave_pix, valor = obter_dados_usuario()
enviar_pagamento_pix(chave_pix, valor)

# pix
Avatar discord do usuario diogojunior.

diogojunior.

# encoding: utf-8

from efipay import EfiPay
import sys

# Configurações de credenciais
credentials = {
'client_id': '',
'client_secret': '',
'sandbox': False, # Altere para True se estiver usando o ambiente de sandbox
'certificate': r''
}

def obter_dados_usuario():
try:
chave_pix = input("Informe a chave PIX do destinatário: ")
valor = input("Informe o valor da transferência: ")

# Verificando se os valores informados são válidos
if not chave_pix:
raise ValueError("A chave PIX não pode ser vazia.")

# Substituir vírgula por ponto e converter para float
valor_float = float(valor.replace(',', '.'))

if valor_float <= 0:
raise ValueError("O valor deve ser um número positivo.")

return chave_pix, "{:.2f}".format(valor_float)
except ValueError as ve:
print(f"Erro de validação: {ve}")
sys.exit(1)