Erro com o get_pix_identifier
Closed this issue · 6 comments
Estou tentando checar o status de pagamento via pix criado com o create_pix_payment_qrcode, mas sempre retorna None quando vou checar ele com o método do get_pix_identifier.
- Código abaixo:
from pynubank import Nubank
import ujson
import pickle
import os
import random
import string
class Payment:
def __init__(self):
pickle_path = os.path.abspath("../database/nubank.pkl")
if os.path.exists(pickle_path):
with open(pickle_path, "rb") as f:
self.nubank = pickle.load(f)
else:
self.nubank = Nubank()
self.authenticate_nubank()
with open(pickle_path, 'wb+') as arquivo:
pickle.dump(self.nubank, arquivo)
def authenticate_nubank(self):
with open("../config.json") as file:
credentials = ujson.load(file).get("api_nubank_payment")
self.nubank.authenticate_with_cert(
credentials["cpf"],
credentials["password"],
credentials["certificate_path"]
)
async def code_generator(self):
sections = [
''.join(random.choices(string.ascii_lowercase + string.digits, k=6)),
''.join(random.choices(string.ascii_lowercase + string.digits, k=4)),
''.join(random.choices(string.ascii_lowercase + string.digits, k=4)),
''.join(random.choices(string.ascii_lowercase + string.digits, k=4)),
''.join(random.choices(string.ascii_lowercase + string.digits, k=12))
]
return '-'.join(sections)
async def create_payment(self, value):
data = self.nubank.get_available_pix_keys()
code = await self.code_generator()
money_request = self.nubank.create_pix_payment_qrcode(
data['account_id'],
value,
data['keys'][0],
code
)
return code, money_request
async def check_payment(self, payment_id):
return self.nubank.get_pix_identifier(payment_id)
if __name__ == "__main__":
import asyncio
async def main():
nu = Payment()
code, money_request = await nu.create_payment(0.010)
check = await nu.check_payment(code)
print(code, money_request, check)
asyncio.run(main())
get_pix_identifier
não aceita o identificador único e sim o id de uma transação.
get_pix_identifier
não aceita o identificador único e sim o id de uma transação.
E como eu poderia fazer a checagem do pagamento? Pois achei que o identificador único pudesse ser usado para isso.
Infelizmente a API do app não foi feita pra isso (Pelo menos não pela parte descoberta 😛).
Pra funcionar o que você quer, teria que fazer exatamente como está no exemplo. Pegar transação por transação e verificar se ela tem o identificador único que vc quer.
Obrigado. Existe algum formato específico em que eu devo usar como código identificador ou posso usar o mesmo que estou usado?
- Formato que estou usando: 656j3j-u52t-s0mv-ibn7-g1ol305jgzlx
É o mesmo do app, acredito que sejam 25 caracteres sem restrição Em qua., 5 de jul. de 2023 17:32, Bruno Parziovanni < @.> escreveu:
…
Obrigado. Existe algum formato específico em que eu devo usar como código identificador ou posso usar o mesmo que estou usado? - Formato que estou usando: 656j3j-u52t-s0mv-ibn7-g1ol305jgzlx — Reply to this email directly, view it on GitHub <#415 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABPRUYP7GVL4KX4IDISKAI3XOXFOXANCNFSM6AAAAAAZ7LWRXE . You are receiving this because you commented.Message ID: @.>
Muito obrigado!