Histórico de mensagens sobre chave pix em pix

EXIBINDO CONVERSAS RECENTES:

Texto: chave pix
Canal: pix
Avatar discord do usuario joaolucas_efi

joaolucas_efi

Um exemplo de um acionamento de webhook é o POST em {sua_url}/pix com um body da forma:

// Pix recebido
{
"pix": [
{
"endToEndId": "E1803615022211340s08793XPJ",
"txid": "fc9a43k6ff384ryP5f41719",
"chave": "2c3c7441-b91e-4982-3c25-6105581e18ae",
"valor": "0.01",
"horario": "2020-12-21T13:40:34.000Z",
"infoPagador": "pagando o pix"
}
]
}

Avatar discord do usuario ebermheads

ebermheads

em cobranca eu consigo consultar as notificao dispara para o webhook no site da gerencianet, em api de pix como vejo as notificacao disparada para o webhook ?

pq configurar o webhook para uma chave pix mas nao recebo notificacao

Avatar discord do usuario joaolucas_efi

joaolucas_efi

Bom dia @ebermheads, tudo bem?

Com relação ao webhook do Pix você configura ele para cada chave Pix em sua conta.

Dê uma olhada em nossa documentação e qualquer dúvida pode nos perguntar.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Ambiente de homologação não tem mesmo esse endpoint... você pode usar qualquer chave Pix sintaticamente válida.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Tem que omitir o devedor todo.
//CORPO DA REQUISIÇÃO
$request = [
'calendario' => [
'expiracao' => $expiracao_pix
],
'valor' => [
'original' => $valor_pix
],
'chave' => PIX_KEY,
'solicitacaoPagador' => 'Pagamento - Multi Serviços'
];

Avatar discord do usuario andreluiz0304

andreluiz0304

Ver Respostas

//CORPO DA REQUISIÇÃO
$request = [
'calendario' => [
'expiracao' => $expiracao_pix
],
'devedor' => [
'cpf' => $cpf_limpo,
'nome' => $nome_devedor
],
'valor' => [
'original' => $valor_pix
],
'chave' => PIX_KEY,
'solicitacaoPagador' => 'Pagamento - Multi Serviços'
];

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Mas apesar de ser recebimento por chave você usa a API para conferir os Pix recebidos com GET de /pix ?

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

A rota vai receber um verbo HTTP POST, com esta aparência:

{
"pix": [
{
"endToEndId": "E1803615022211340s08793XPJ",
"txid": "fc9a43k6ff384ryP5f41719",
"chave": "2c3c7441-b91e-4982-3c25-6105581e18ae",
"valor": "0.01",
"horario": "2020-12-21T13:40:34.000Z",
"infoPagador": "pagando o pix"
}
]
}

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Não tem validação, pq você já nem deixa ele dizer o banco. Você que faz hard-code do codigoBanco com o do parceiro. Ele não tem como dizer nem qual a chave Pix nem qual o banco. Só pode dizer agência e conta.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Tipo fez o Imposto de Renda ? Restituição só para chave CPF... 😉

Então, mas o pix.send funciona para chaves não CPF, mesmo com exigência de CPF. Você pode dizer que a chave destino é [email protected], mas especificar também o CPF e a Efí não efetiva a transação se o CPF da chave não bater.

Avatar discord do usuario hiagosilvas

hiagosilvas

Ver Respostas

Eu não uso chave hoje no pix.send, pra nós aqui ficou mais prático os dados bancários justamente para evitar erros. E também não acho justo obrigar a pessoa a registrar o CPF dela em uma conta pra receber.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Então a solução é simples: pede os dados de agência e conta, apenas. E não de chave Pix. Aí a transferência vai sempre para o banco parceiro.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

A questão é que o Banco Central, que instituiu o arranjo Pix, definiu quais são os casos de uso legítimos para consulta de chave Pix. E verificação não é um desses casos de uso... aí tudo que se tentar para enfiar um quadrado no buraco redondo, vai ser sub-ótimo.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Dados bancários são muito problemáticos. Estatística de devolução de TED ou de Pix por dados manuais é tenebrosa... e não é o caso dele, ele tem a chave Pix.

Avatar discord do usuario jhonlenofc

jhonlenofc

Olá Pessoal, gostaria de saber se tem alguma API PIX, apenas para validar os dados bancários da CHAVE PIX.

Ex: POST "Chave PIX"
>Titular: "Fulano";Banco "Nome do Banco"

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Não, primeiro que a definição é por chave Pix, não por cliente. Segundo que a chamada é exclusivamente via API.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

{
"pix": [
{
"endToEndId": "E1803615022211340s08793XPJ",
"txid": "fc9a43k6ff384ryP5f41719",
"chave": "2c3c7441-b91e-4982-3c25-6105581e18ae",
"valor": "0.01",
"horario": "2020-12-21T13:40:34.000Z",
"infoPagador": "pagando o pix"
}
]
}

O campo pix.chave é o que você pode usar para identificar quem é que recebeu aquele pagamento. É inclusive uma questão de segurança verificar que se trata de um txid que você gerou para aquela chave Pix.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Em cada cliente você vai ter que fazer PUT no /webhook/:chave apontando para seu webhook. Pode ser a mesma URL, e você trata quem é quem pela chave Pix.

Avatar discord do usuario cutegothvampire1

cutegothvampire1

def donate_value(message):
try:
valor = float(message.text.replace(',', '.'))
access_token = get_access_token()

body = {
'calendario': {
'expiracao': 3600
},
'devedor': {
'cpf': '12345678909',
'nome': 'Zhou Xinyu'
},
'valor': {
'original': f'{valor:.2f}'
},
'chave': '472d809f-633a',
'solicitacaoPagador': 'Cobrança dos serviços prestados.'
}

response = efi.pix_create_immediate_charge(body=body, access_token=access_token)
print(response)

if 'loc' in response and 'id' in response['loc']:
loc_id = response['loc']['id']

qrcode_response = requests.get(f'host/v2/loc/{loc_id}/qrcode', headers={'Authorization': f'Bearer {access_token}'}).json()
print(qrcode_response)

if 'qrcode' in qrcode_response and 'imagemQrcode' in qrcode_response:
# Enviar o código do QR no chat
client.send_message(cid, f'Código PIX: {qrcode_response["qrcode"]}')

image_data = base64.b64decode(qrcode_response['imagemQrcode'].replace('data:image/png;base64,', ''))
img = Image.open(BytesIO(image_data))
img_path = 'qrCodeImage.png'
img.save(img_path, 'PNG')

with open(img_path, 'rb') as photo:
client.send_photo(cid, photo)

except Exception as e:
print(f'Erro: {str(e)}')

Avatar discord do usuario rubenskuhl

rubenskuhl

Essa chave Pix existe e é da conta fazendo a chamada ?