andreroggeri / pynubank

Acesse seus extratos do Nubank pelo Python
MIT License
1.19k stars 180 forks source link

Texto "Comentário" da Transação PIX #319

Closed Eduarcher closed 2 years ago

Eduarcher commented 2 years ago

O texto comentário que pode ser escrito pelo pagador durante uma transação pix não é retornado no método nu.get_account_feed(). Seria possível incluir?

andreroggeri commented 2 years ago

Acredito que não.

Mas para recuperar essa informação provavelmente a query que busca o identificador pix de uma transação de trazer também.

Você pode dar uma olhada aqui

isomiluizdasilva commented 2 years ago

Acredito que não.

Mas para recuperar essa informação provavelmente a query que busca o identificador pix de uma transação de trazer também.

Você pode dar uma olhada aqui

Boa noite @andreroggeri ,Cara estou quase conseguindo entender Python, estou também pretendendo listar os ID da transação e os comentários, chamado de identificador ou descrição, nos PIX. Estou tentando o script para executar a cada 10 minutos e armazenar em arquivo json, assim posso trabalhar os dados para mysql depois em seguida apagar o arquivo json. Estou na torcida por aquela força de sempre :) :)

isomiluizdasilva commented 2 years ago

O texto comentário que pode ser escrito pelo pagador durante uma transação pix não é retornado no método nu.get_account_feed(). Seria possível incluir?

Bom dia e aí conseguiu fazer a captura dos dados de comentários do PIX, se sim, compartilha o código aí. Obrigado.

roarena commented 2 years ago

Fiz um PR que adiciona um método capaz de retornar a mensagem enviada via PIX pelo pagador, talvez isso solucione esse issue. Reviews e sugestões são bem vindos =) https://github.com/andreroggeri/pynubank/pull/332

isomiluizdasilva commented 2 years ago

Fiz um PR que adiciona um método capaz de retornar a mensagem enviada via PIX pelo pagador, talvez isso solucione esse issue. Reviews e sugestões são bem vindos =) #332

Sei que estou pedindo D+, pois estou apanhando muito em Python, não domino a linguagem, fiz toda a instalação do app em PyThon e até rodei a API, só que exibe o texto "IdentificadorPixAqui"

Arquivo executado

$ python -u extract-all-paginated-transactions.py
IdentificadorPixAqui
IdentificadorPixAqui
IdentificadorPixAqui
...
...
IdentificadorPixAqui

Código usando

import json
from pynubank import Nubank, MockHttpClient

nu = Nubank(MockHttpClient())
nu.authenticate_with_cert('MEUCPF', 'MINHASENHA', 'cert.p12')

transactions = nu.get_account_statements_pix()

for transaction in transactions[:100]:
    tx_status = nu.get_pix_identifier(transaction['id'])
    # Poderá retornar None caso a transação não seja Pix ou não tiver identificador
    # Caso contrário retorna o identificador único que foi cadastrado no QRCode
    print(tx_status) 

Como ficaria o arquivo/código para listar os comentários?

roarena commented 2 years ago

@isomiluizdasilva Após fazer a autenticação com o seu CPF/Senha/Certificado basta chamar a função get_pix_message passando como parâmetro o id da transação, algo assim:

import json
from pynubank import Nubank, MockHttpClient

nu = Nubank(MockHttpClient())
nu.authenticate_with_cert('MEUCPF', 'MINHASENHA', 'cert.p12')

transactions = nu.get_account_statements_pix()

for transaction in transactions[:100]:
    tx_status = nu.get_pix_identifier(transaction['id'])
    print(nu.get_pix_message(tx_status))
isomiluizdasilva commented 2 years ago

@isomiluizdasilva Após fazer a autenticação com o seu CPF/Senha/Certificado basta chamar a função get_pix_message passando como parâmetro o id da transação, algo assim:

import json
from pynubank import Nubank, MockHttpClient

nu = Nubank(MockHttpClient())
nu.authenticate_with_cert('MEUCPF', 'MINHASENHA', 'cert.p12')

transactions = nu.get_account_statements_pix()

for transaction in transactions[:100]:
    tx_status = nu.get_pix_identifier(transaction['id'])
    print(nu.get_pix_message(tx_status))

Novamente muito grato pela atenção. Desculpe-me, mas essas informações são justamente as que estou tentando obter, os ID ou COMANTÁRIOS das últimas 100 transações via PIX, tipo, de fosse em PHP :), eu faria o while(loop) naqueles dados de (get_account_statements_pix) onde já mostra as taransações sem o ID ou COMANTÁRIO e nas passagens do loog, faria a funções get_pix_message para cada um dos ID listados no loop, mas em Python ainda não consegui entender como faria esse tal loop.

Em resumo, não tenho antes da função o ID da Transação, e sim, quero obter os ID das Transações e comentários, pois nesses comentários estão os dados que enviei através do pagamento via QRCode.

Não sei se conseguiu entender :) :)

isomiluizdasilva commented 2 years ago

Objetivo: Tendo somente as informações de acesso a conta+certificado, após o acesso, listar ou exportar para arquivo json, os últimos 100 PIX com ID DA TRANSAÇÂO e COMENTÁRIOS.