Histórico de mensagens sobre Pix em pix

EXIBINDO CONVERSAS RECENTES:

Texto: Pix
Data: 15/11/2023
Canal: pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Notar o []:

{
"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

pix é um array de objetos Pix, pode estar faltando um foreach...

Avatar discord do usuario carlosseraphico_84336

carlosseraphico_84336

Ver Respostas

Verifiquei aqui pelo log que me deu um erro de index pix undefined, e eu to puxando o pix da notificação dessa forma
imagem enviada na mensagem pelo usuario carlosseraphico_84336

Avatar discord do usuario yasmin_efi

yasmin_efi

Ver Respostas

Isso mesmo @carlosseraphico_84336, só precisa mapear o /pix dentro da sua aplicação, pois é pra onde mandamos o webhook. Para sua URL já cadastrada + /pix

Avatar discord do usuario carlosseraphico_84336

carlosseraphico_84336

Ver Respostas

so mais uma coisa, como o webhook pix ja ta cadastrado nao irei precisar cadastrar de novo certo? so adiciono o /pix no final da minha rota?

Avatar discord do usuario carlosseraphico_84336

carlosseraphico_84336

a realmente, esqueci desse detalho do /pix no final

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

E aonde você pode ver isso é no access.log e no error.log do seu servidor web... lá tem por exemplo o erro 404 que você respondeu para a Efí quando ela acionou https://exemplo.com.br/webhook/pix .

Avatar discord do usuario yasmin_efi

yasmin_efi

Boa noite @carlosseraphico_84336! Tudo bem? As notificações do Pix ainda nao possuem uma pagina implementada que você possa ver, na conta. Portanto, nós conseguimos pegar aqui para você e te mandar! Vou iniciar um atendimento privado e prosseguimos por lá, tudo bem?

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Não tem esse tipo de recurso na API Pix. Mas é bem provável que você tenha cadastrado https://exemplo.com.br/webhook e não esteja recebendo os requests https://exemplo.com.br/webhook/pix , que é o que a Efí manda (sempre adicionando /pix ao final do que você configurou).

Avatar discord do usuario carlosseraphico_84336

carlosseraphico_84336

Ver Respostas

Fala galera boa noite, me chamo Carlos Seraphico e to com uma duvida na API do pix. Consegui ja emitir uma cobrança imediata, consegui tambem cadastrar o webhook de notificações dessa cobrança, tudo certo ate ai, fiz o pagamento porem nao teve nenhuma alteração das faturas no meu banco de dados então imeginei que podia ter acontecido um erro quando a notificação passou pela minha função. eu queria saber onde posso ver essa notificações e requisições do pix, pois na area de aplicações so aparece as informações de emissão de cobrança de boleto e cartão de credito, nenhuma das coisas que fiz com o pix aparecia la, a cobrança que criei, o webhook que cadastrei nadinha. ai queria ver essa notificação de pagamente que foi enviada ao meu sistema, para poder entender melhor qual erro esta aparecendo, pois agora so falta a ultima parte do processo todo que é receber essas notificações

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Oi, @espartano9720. Boa tarde! Como vai?
Não temos um código pronto na linguagem que você mencionou, mas oferecemos uma collection para o Postman com todos os endpoints da API Pix, que podem ajudá-lo na sua integração. Além disso, o Postman cria um snippet de código simulando a chamada na linguagem que você preferir, e tem um exemplo para Swift, mas como o Rubens disse, é preciso ter cuidado com as suas credenciais.
imagem enviada na mensagem pelo usuario guilherme_efi

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Não Pix, pq você teria que colocar no app clientid/clientsecret/certificado, o que é basicamente dar a senha da sua conta bancária.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Swift não é linguagem de front-end ? Pix é back-end...

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Só um comentário: o hostname pix.api.efipay.com.br é de produção, não de desenvolvimento.

Avatar discord do usuario igor_efi

igor_efi

@espartano9720, bom dia!
Antes de você utilizar este endpoint, você precisa autenticar na API informando o client_id e client_secret do jeito que você esta fazendo.
Na autenticação, vai ser retornado para você o access token, que você deverá utilizar nos demais endpoints.

Segue o exemplo em Python de autenticação:

py
#Desenvolvido pela Consultoria Técnica da Efí

import requests
import base64

credentials = {
"client_id": "YOUR-CLIENT-ID",
"client_secret": "YOUR-CLIENT-SECRET",
}

certificado = './certificado.pem' # A variável certificado é o diretório em que seu certificado em formato .pem deve ser inserido

auth = base64.b64encode(
(f"{credentials['client_id']}:{credentials['client_secret']}"
).encode()).decode()

url = "https://pix.api.efipay.com.br/oauth/token"

payload="{\r\n \"grant_type\": \"client_credentials\"\r\n}"
headers = {
'Authorization': f"Basic {auth}",
'Content-Type': 'application/json'
}

response = requests.request("POST",
url,
headers=headers,
data=payload,
cert=certificado)

print(response.text)

Avatar discord do usuario espartano9720

espartano9720

Ver Respostas

olá pessoal, bom dia
espero que alguém possa me ajudar, agradeço desde já!
estou tentando obter os dados dos pix's recebidos atraves de um código python:

certificado = 'producao-xxxxxxxxxxcert.pem'

auth = base64.b64encode(
(f"{credentials['client_id']}:{credentials['client_secret']}"
).encode()).decode()

url = "https://pix.api.efipay.com.br/v2/pix?inicio=2023-11-14T15:00:00Z&fim=2023-11-15T15:59:59Z" #Para ambiente de Desenvolvimento

payload="{\r\n \"grant_type\": \"client_credentials\"\r\n}"
headers = {
'Authorization': f"Basic {auth}",
'Content-Type': 'application/json'
}

response = requests.request("POST",
url,
headers=headers,
data=payload,
cert=certificado)

print(response.text)