Pular para o conteúdo principal

Consultar cobrança

Quick Reference

WhatRecuperar uma cobrança pelo UUID
WhyVerificar status do pagamento, conferir valores e conciliar transações em tempo real
Reading Time5 min
DifficultyBeginner
PrerequisitesAuthentication → Create charge
GET/api/v1/bank/wallet/charge/Bearer TokenRecuperar detalhes da cobrança

Por que consultar o status da cobrança

Sem Consultar CobrançaCom Consultar Cobrança
Você não tem visibilidade após criar uma cobrançaVocê vê o status exato a qualquer momento
Conciliação depende de verificações manuaisConciliação automatizada vincula seus registros à A55
Suporte ao cliente não consegue responder "cadê meu pagamento?"Consulta instantânea pelo UUID da cobrança para agentes de suporte
Webhooks perdidos deixam você no escuroPolling preenche lacunas quando webhooks falham ou chegam atrasados
Sem trilha de auditoria para transições de estadoupdated_at rastreia cada timestamp de mudança de status

Padrão de polling


Autenticação

Requer token Bearer. Veja Autenticação.

Parâmetros de consulta

Ambos os parâmetros são obrigatórios na query string:

CampoTipoObrigatórioDescrição
charge_uuidstring (UUID)SimIdentificador único da cobrança a recuperar
wallet_uuidstring (UUID)SimCarteira proprietária da cobrança
Sem corpo na requisição

Este é um endpoint GET. Passe ambos os UUIDs como parâmetros de consulta, não no corpo.


Exemplos de código

curl -s -X GET "https://core-manager.a55.tech/api/v1/bank/wallet/charge/?charge_uuid=51dcca6e-7310-4b73-a94c-90835408f2ff&wallet_uuid=f47ac10b-58cc-4372-a567-0e02b2c3d479" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json"

Polling prático com backoff exponencial

import requests, os, time

token = os.environ["A55_API_TOKEN"]
base = os.environ.get("A55_API_BASE_URL", "https://core-manager.a55.tech")
TERMINAL = {"paid", "confirmed", "error", "canceled", "refunded"}

def poll_charge(charge_uuid, wallet_uuid, max_attempts=10):
delay = 2
for attempt in range(max_attempts):
resp = requests.get(
f"{base}/api/v1/bank/wallet/charge/",
params={"charge_uuid": charge_uuid, "wallet_uuid": wallet_uuid},
headers={"Authorization": f"Bearer {token}"},
)
charge = resp.json()
status = charge["status"]
print(f"[{attempt+1}/{max_attempts}] Status: {status}")

if status in TERMINAL:
return charge

time.sleep(delay)
delay = min(delay * 2, 60)

raise TimeoutError("Charge did not reach terminal status")

Campos da resposta

CampoTipoDescrição
charge_uuidstringIdentificador único da cobrança
wallet_uuidstringCarteira proprietária desta cobrança
statusstringStatus atual da cobrança (veja tabela abaixo)
type_chargestringMétodo de pagamento: credit_card, debit_card, pix, boleto, spei, oxxo, applepay, googlepay, e_wallet
amountnumberValor total da cobrança na moeda original
local_currencynumberValor na moeda de liquidação da carteira
currencystringCódigo de moeda ISO 4217
usd_currencynumberValor equivalente em USD
eur_currencynumberValor equivalente em EUR
installment_countintegerNúmero de parcelas
installmentsarrayDetalhamento por parcela (veja abaixo)
created_atstringTimestamp de criação ISO 8601
updated_atstringTimestamp da última atualização ISO 8601

Status da cobrança

StatusTerminal?Descrição
issuedNãoCobrança criada, aguardando ação do pagador (QR PIX, Boleto, checkout)
pendingNãoProcessando — aguardando resposta do adquirente ou 3DS
confirmedSimPagamento autorizado e capturado com sucesso
paidSimFundos recebidos e confirmados
errorSimPagamento falhou — veja o array message para detalhes
canceledSimCobrança cancelada antes da conclusão
refundedSimCobrança reembolsada (total ou parcial)

Objeto de parcela

CampoTipoDescrição
installment_numberintegerSequência da parcela (iniciando em 1)
local_currencynumberValor da parcela na moeda de liquidação
currencystringCódigo de moeda ISO 4217
usd_currencynumberValor da parcela em USD
eur_currencynumberValor da parcela em EUR
due_datestringData de vencimento da parcela
statusstringStatus no nível da parcela

Exemplo completo de resposta

{
"charge_uuid": "51dcca6e-7310-4b73-a94c-90835408f2ff",
"wallet_uuid": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"status": "confirmed",
"type_charge": "credit_card",
"amount": 450.00,
"local_currency": 450.00,
"currency": "BRL",
"usd_currency": 80.73,
"eur_currency": 70.78,
"installment_count": 3,
"installments": [
{
"installment_number": 1,
"local_currency": 150.00,
"currency": "BRL",
"usd_currency": 26.91,
"eur_currency": 23.59,
"due_date": "2026-03-20",
"status": "confirmed"
},
{
"installment_number": 2,
"local_currency": 150.00,
"currency": "BRL",
"usd_currency": 26.91,
"eur_currency": 23.59,
"due_date": "2026-04-20",
"status": "confirmed"
},
{
"installment_number": 3,
"local_currency": 150.00,
"currency": "BRL",
"usd_currency": 26.91,
"eur_currency": 23.60,
"due_date": "2026-05-20",
"status": "confirmed"
}
],
"created_at": "2026-03-20T14:30:00-03:00",
"updated_at": "2026-03-20T14:30:05-03:00"
}

Respostas de erro

StatusCódigoDescriçãoResolução
400validation_errorcharge_uuid ou wallet_uuid ausenteAmbos os parâmetros de consulta são obrigatórios
401unauthorizedToken Bearer inválido ou expiradoRenove seu token de acesso via Cognito
404errors.wallet.not_foundUUID da carteira não existeVerifique se o wallet_uuid está correto
404CHARGE_NOT_FOUNDCobrança não encontrada para esta carteiraVerifique se ambos os UUIDs correspondem à cobrança original
429rate_limit_exceededMuitas requisiçõesAguarde e tente novamente após o valor do header Retry-After
Não faça polling excessivo

Fazer polling mais de uma vez por segundo aciona limitação de taxa. Para necessidades em tempo real, use webhooks e reserve o polling para conciliação e consultas de suporte.

Ambos os UUIDs são obrigatórios

Passar apenas charge_uuid sem wallet_uuid retorna um erro 400. A API exige escopo por carteira para segurança — você só pode recuperar cobranças pertencentes à sua carteira.