1
0

pixTimestamp -> txId

This commit is contained in:
hueso 2025-03-28 14:21:04 -03:00
parent f6042cfe03
commit b47f7906c4

View File

@ -8,6 +8,7 @@ from flask_restful import Resource, Api
from eth_abi.packed import encode_packed from eth_abi.packed import encode_packed
import eth_account import eth_account
from eth_hash.auto import keccak from eth_hash.auto import keccak
from base64 import b85decode
from urllib3 import disable_warnings from urllib3 import disable_warnings
from eth_utils import to_wei from eth_utils import to_wei
@ -110,20 +111,20 @@ class Release(BBPay):
verify=self.verify_ssl) verify=self.verify_ssl)
data = response.json() data = response.json()
numeroParticipante = data['repasse']['recebedores'][0]['identificadorRecebedor'] numeroParticipante = data['repasse']['recebedores'][0]['identificadorRecebedor']
pixTimestamp = data['timestampCriacaoSolicitacao'] pixTimestamp = b85decode(data['informacoesPix']['txId'])
valorSolicitacao = to_wei(data['valorSolicitacao'], 'ether') valorSolicitacao = to_wei(data['valorSolicitacao'], 'ether')
codigoEstadoSolicitacao = data['codigoEstadoSolicitacao'] codigoEstadoSolicitacao = data['codigoEstadoSolicitacao']
if codigoEstadoSolicitacao != 0: if codigoEstadoSolicitacao != 0:
return 'Pix not paid', 204 return 'Pix not paid', 204
packed = encode_packed(['bytes32','uint80','bytes32'], packed = encode_packed(['bytes32','uint80','bytes32'],
(str(numeroParticipante).encode(), int(valorSolicitacao), pixTimestamp.encode()) ) (str(numeroParticipante).encode(), int(valorSolicitacao), pixTimestamp) )
signable = eth_account.messages.encode_defunct(keccak(packed)) signable = eth_account.messages.encode_defunct(keccak(packed))
signature = eth_account.account.Account.sign_message(signable, private_key=getenv('PRIVATE_KEY')).signature.hex() signature = eth_account.account.Account.sign_message(signable, private_key=getenv('PRIVATE_KEY')).signature.hex()
return { return {
'pixTarget': numeroParticipante, 'pixTarget': numeroParticipante,
'amount': valorSolicitacao, 'amount': valorSolicitacao,
'pixTimestamp': pixTimestamp, 'pixTimestamp': pixTimestamp.hex(),
'signature': signature } 'signature': signature }