Página de verificação de saldo do cartão-presente: consulta do cliente e edições pela equipe
Aprenda a criar uma página de verificação de saldo de cartão-presente com busca por código para clientes e uma área administrativa para a equipe ajustar saldos com segurança.

O que essa página precisa fazer (em linguagem simples)
Uma página de verificação de saldo de cartão-presente tem um trabalho: informar rapidamente e sem confusão quanto dinheiro resta em um cartão. As pessoas a usam antes de comprar algo, logo após receber um cartão ou depois de uma compra recente.
Essa página normalmente serve dois públicos:
- Clientes, que querem uma consulta rápida e confiável.
- Equipe da loja, que precisa de uma ferramenta privada para atualizar saldos quando um cartão é vendido, usado, reembolsado ou corrigido.
Seja específico sobre o que “código” significa na sua loja. Pode ser um número impresso no verso do cartão físico, um código enviado por e-mail ou algo mostrado dentro de um app. Alguns programas também exigem um PIN ou área para raspar. Se seu sistema precisa tanto do número do cartão quanto do PIN, diga isso imediatamente para que as pessoas não percam tempo.
Uma boa experiência é previsível: um campo claro para inserir o código, uma ação óbvia "Check balance" e um resultado fácil de ler (valor em moeda e um horário de "última atualização"). Quando algo dá errado, a página deve explicar como recuperar sem deixar a pessoa presa.
Precisão é o ponto principal. Se a página mostra o valor errado, você terá conflito no caixa, mais chamadas ao suporte e perda de confiança.
Funcionalidades principais: consulta do cliente e ajustes pela equipe
Uma página de verificação de saldo tem duas funções: ajudar clientes a confirmar o que resta e dar à equipe uma forma segura de atualizar saldos quando algo muda no balcão. Os melhores setups mantêm a visão do cliente simples e colocam ações poderosas atrás de uma tela só para a equipe.
Do lado do cliente, o fluxo deve parecer com a verificação de um recibo. Insira o código, toque em verificar, receba uma resposta clara. Mostre o saldo restante na moeda da loja e inclua um carimbo de "última atualização" para que as pessoas saibam que o resultado é atual.
Do lado da equipe, o fluxo é buscar, verificar e ajustar. A equipe deve encontrar um cartão pelo código (e, se quiser, futuramente por leitura), revisar o saldo atual e a atividade recente, então adicionar valor (recarga) ou subtrair valor (redenção manual ou correção). Cada ajuste deve exigir um motivo curto e, quando possível, uma referência como número de recibo.
A maioria das equipes entrega uma primeira versão com:
- Entrada do código pelo cliente e exibição do saldo (com horário da última atualização)
- Tela de busca da equipe mostrando status do cartão, saldo e mudanças recentes
- Ações da equipe para adicionar ou subtrair valor com motivo obrigatório
- Tratamento simples de status (ativo, expirado, bloqueado)
Exemplo: uma cafeteria vende cartões-presente de $25. Um cliente insere um código e vê “$13.40 restantes, atualizado há 2 minutos.” Mais tarde, um funcionário percebe que o caixa perdeu uma redenção, busca o mesmo código, subtrai $4.60 e salva a nota “latte, recibo 887.”
Casos de borda geram tickets de suporte, então trate-os com calma:
- Código inválido ou digitado errado: ofereça um caminho claro para tentar novamente
- Cartão expirado: mostre o que “expirado” significa e o que fazer a seguir
- Saldo zero: mostre $0.00 com a última atualização (não trate como erro)
Página do cliente: UX que evita confusão
Uma página de verificação de saldo deve ser rápida, calma e difícil de confundir. Muitos clientes estão no celular, de pé no balcão, tentando não atrapalhar a fila.
Mantenha o input simples. Use um campo único para o código, com um rótulo visível (não apenas placeholder). Adicione um curto exemplo de formato como "Exemplo: ABCD-EFGH-IJKL" e facilite colar o código. Evite formatações surpresa que mudem o que o usuário digitou.
Torne a ação óbvia. "Check balance" é mais claro que "Enviar." Depois de tocar, mostre um estado de carregamento ("Checking…") e desative o botão para que a requisição não seja enviada duas vezes.
Mensagens de erro devem ajudar clientes honestos a se recuperar, revelando o mínimo possível para quem está tentando adivinhar códigos. Na página pública, mantenha falhas genéricas. Guarde os motivos detalhados (expirado, bloqueado, não encontrado) para a tela da equipe, após verificação.
Uma lista rápida de verificação de UX que previne a maioria das confusões:
- Um campo de código com rótulo real e um exemplo simples
- Um botão claro "Check balance" e estado de carregamento visível
- Um estado de sucesso claro: saldo, moeda e horário de "Última atualização"
- O código digitado permanece na caixa após um erro
- Alvos de toque grandes e texto legível no mobile
Acessibilidade importa mesmo numa página pequena. Garanta que o rótulo esteja ligado ao input, que usuários de teclado alcancem o botão, que o foco seja visível e que o contraste suporte iluminação forte da loja.
Tela administrativa da equipe: mudanças de saldo seguras e rápidas
Uma boa tela administrativa para a equipe é monótona da melhor forma: ajuda os funcionários a resolver um problema de cartão em segundos, enquanto deixa um rastro claro para depois.
Comece com login da equipe e papéis simples. A maioria deve poder buscar um cartão e ver o histórico, enquanto apenas gerentes (ou um pequeno grupo confiável) podem alterar saldos. Se você tiver múltiplas lojas, marque as mudanças por loja/local.
Faça buscas rápidas e tolerantes. Espaços e traços não devem quebrar a busca. Para casos reais em que um código está danificado ou ilegível, ofereça opções secundárias de busca apenas para a equipe (e apenas se for seguro), como ID do recibo/pedido ou e-mail/telefone do cliente se você já os coletar.
Quando um cartão for encontrado, mostre o saldo atual e a atividade recente antes de qualquer controle de edição. Isso reduz o erro clássico: ajustar o cartão errado porque várias abas estão abertas.
Mantenha o formulário de ajuste estruturado em vez de livre:
- Valor (+ para adicionar, - para subtrair)
- Motivo (dropdown como reembolso, correção manual, promoção, transferência por cartão perdido)
- Referência (ID de recibo/pedido)
- Notas opcionais
- Membro da equipe registrado automaticamente
Após digitar um valor, mostre a prévia claramente: "Saldo atual: $40.00. Novo saldo: $15.00." Adicione uma etapa de confirmação para mudanças grandes (por exemplo, qualquer alteração acima de $100 ou mais de 25% do saldo atual). Para mudanças de alto risco, exija PIN de gerente ou redigitação do valor.
Segurança e noções básicas contra fraude (versão não técnica)
Uma página de verificação de saldo soa simples, mas atrai tentativas de adivinhação, abuso e erros honestos. O objetivo não é segurança perfeita, é eliminar ataques fáceis e tornar problemas fáceis de detectar e corrigir.
Proteja códigos e limite tentativas
Trate códigos de cartão-presente como senhas. Se alguém obtiver uma lista de códigos, pode drenar o valor rapidamente.
Dois passos básicos já ajudam muito: armazene códigos com segurança e dificulte testar muitos códigos rapidamente. Muitos sistemas evitam armazenar o código bruto em texto simples. Em vez disso, armazenam uma versão protegida (como um hash unidirecional), para que um vazamento de banco de dados não entregue códigos funcionando aos atacantes.
Na tela do cliente, evite mostrar o código completo após a consulta. Mostre uma versão mascarada (por exemplo, apenas os últimos 4 caracteres) para que capturas de tela e observação por cima causem menos dano.
Limites de taxa também importam. Sem eles, um bot pode tentar milhares de combinações. Mantenha simples:
- Limitar consultas por minuto por IP e por dispositivo
- Adicionar um curto cooldown após algumas tentativas falhas
- Usar uma mensagem genérica de falha na página pública
Torne ações da equipe rastreáveis
A maioria das perdas reais vem de ajustes da equipe feitos sem controles suficientes, não de invasões cinematográficas. Toda mudança de saldo deve criar uma trilha de auditoria: quem fez, quando, quanto e por quê.
Mantenha o acesso da equipe restrito. Nem todo mundo precisa do poder de editar saldos. Evite logins compartilhados, pois eles tornam a trilha de auditoria inútil.
Defina como reembolsos e estornos afetam cartões-presente e documente isso como uma regra interna simples. Por exemplo: reembolsos devolvem valor ao cartão original quando possível; se o cartão já foi gasto, o caso é sinalizado para revisão.
Modelo de dados: saldos, transações e histórico de auditoria
A página parece simples, mas os dados por trás devem ser comprováveis. Uma abordagem segura é: não confie apenas em um número de "saldo" editável sem um histórico de transações que o explique.
Uma estrutura comum usa três tabelas:
- gift_cards: uma linha por cartão (armazene o código seguramente), além de status, moeda e timestamps
- gift_card_transactions: cada mudança é uma nova linha, nunca sobrescrita
- staff_users: quem pode realizar ações da equipe e o que fizeram
Trate a tabela de transações como fonte da verdade. Tipos típicos de transação incluem emissão (carga inicial), redenção (compra), ajuste (correção da equipe) e reembolso (desfazer uma redenção). Você pode calcular o saldo atual como soma das transações, ou manter um saldo em cache no registro do cartão que você atualiza com cuidado.
Para evitar cobranças duplicadas quando alguém toca duas vezes num dispositivo lento, use uma chave de idempotência para cada escrita. Isso dá a cada checkout ou ajuste um ID de operação único, e envios repetidos são ignorados.
Para auditoria e suporte, alguns campos pagam por si mesmos:
- Valor (com sinal), moeda, horário de criação
- Motivo e referência (ID do pedido ou número do recibo)
- Realizado por (usuário da equipe)
- Saldo antes e saldo depois
Passo a passo: construir o verificador de saldo e as ferramentas administrativas
Decida o que o cliente vê antes de construir qualquer coisa. A página deve explicar onde encontrar o código, o que “saldo” significa na sua loja e o que fazer se a consulta falhar. Na tela de resultado, mostre o saldo, a moeda e um horário claro de "última atualização".
Defina as regras do código e valide cedo. Escolha um comprimento fixo e permita apenas os caracteres que você realmente imprime. Valide enquanto o usuário digita e novamente no envio, assim você pega erros rápido sem revelar detalhes extras.
Construa o fluxo de consulta do cliente em passos pequenos: crie a tela de entrada, chame o backend no envio e então trate três resultados - encontrado, não encontrado/inválido e temporariamente indisponível.
Depois adicione o lado da equipe. A equipe deve se autenticar antes de poder mudar qualquer coisa, e toda alteração deve exigir um motivo explícito. Adicione uma etapa de confirmação que repita o código e o valor.
Depois que ajustes funcionarem, adicione histórico. Cada cartão-presente deve mostrar uma lista de transações e um log de auditoria que registre quem mudou o quê e quando.
Finalmente, teste cenários reais antes do lançamento: um erro de digitação, um saldo zero, uma redenção parcial, um reembolso que restaura valor e dois funcionários ajustando o mesmo cartão com poucos minutos de diferença.
Erros comuns que geram tickets de suporte
A maioria dos tickets vem de duas coisas: feedback pouco claro para clientes honestos e registros ausentes para ações da equipe.
Uma armadilha comum é ser muito específico com mensagens públicas de erro. Detalhes como "o código existe, mas está inativo" podem ajudar atacantes a descobrir códigos válidos. Mantenha a mensagem pública neutra e mostre especificidades só na ferramenta da equipe após verificação.
Outro gerador de tickets é permitir que a equipe mude saldos sem contexto. Quando alguém diz "Meu cartão tinha $50 ontem", você precisa de uma resposta rápida. Edições silenciosas criam uma situação de "ele disse/ela disse".
Os erros que costumam prejudicar mais:
- A equipe pode mudar um saldo sem motivo (e idealmente sem referência de recibo/pedido)
- Você armazena apenas o saldo atual e não um histórico de transações
- Não há trilha de auditoria mostrando quem mudou o quê e quando
- A verificação de saldo escreve no saldo (em vez de apenas ler) ou sobrescreve o histórico
- A página pode ser submetida duas vezes em redes lentas, causando redenções duplicadas
Exemplo: um caixa resgata $25, o tablet fica lento e o funcionário toca em "Confirm" novamente. Sem proteção, o sistema registra duas redenções. Corrija isso tratando cada mudança como um evento único registrado e tornando o botão "Confirm" seguro para pressionar duas vezes.
Lista rápida antes de publicar
Antes de publicar a página de verificação de saldo, faça uma checagem rápida como "finja que é cliente" e depois "finja que é equipe".
Checagens de cliente para rodar:
- Insira um código válido, depois resgate algo pequeno e verifique de novo
- Insira um código inválido e confirme que a página não revela pistas
- Insira um código expirado ou desativado e confirme que a mensagem permanece genérica
- Insira um código válido com saldo zero e confirme que aparece como resultado normal
- Teste um saldo muito alto e confirme formatação e exibição de moeda
Checagens da equipe para rodar:
- Confirme que um ajuste cria imediatamente uma entrada no histórico
- Verifique permissões com duas contas (visualizador vs ajustador)
- Confirme que ninguém pode deletar ou editar histórico passado
- Abra uma entrada de log e confirme que mostra quem mudou o quê e por quê
Também revise sua terminologia. Não misture "saldo do cartão-presente" com "crédito da loja" a menos que realmente signifiquem a mesma coisa na sua loja. Se houver limites (datas de expiração, uso apenas na loja), diga isso em uma frase curta.
Exemplo real: uma loja pequena com redenções presenciais
Imagine uma pequena loja de presentes que vende cartões físicos no caixa. Clientes podem checar o saldo em casa antes de visitar, e a equipe pode resgatar cartões pessoalmente.
No domingo à noite, Maya encontra um cartão-presente numa gaveta. Ela abre a página de verificação de saldo da loja, digita o código do verso do cartão e vê um resultado simples: saldo atual, horário da última atualização e um lembrete curto para manter o código privado. Nenhuma conta necessária.
Na segunda, Maya compra itens totalizando $38.50 e paga com o cartão-presente. No caixa, a equipe abre a tela administrativa, busca o mesmo código e resgata um valor parcial. A equipe vê mais detalhes que Maya, incluindo histórico e um campo para adicionar nota.
Mais tarde, Maya devolve um item por $12.00. O funcionário registra um reembolso com referência clara. Quando alguém pergunta por que o saldo mudou, a resposta está em uma linha do histórico em vez de alguém tentar reconstruir a história.
Próximos passos: lance uma primeira versão e melhore com segurança
Escolha um lançamento inicial pequeno e confiável. Para a maioria das lojas, o mínimo é um verificador de saldo para clientes mais uma ferramenta da equipe que possa ajustar saldos com motivo e registrar um histórico.
Um v1 prático inclui consulta de cliente por código, login da equipe, ajustes com motivos obrigatórios, um log de transações para cada mudança e limites básicos (além de uma segunda confirmação para mudanças grandes).
Antes de expandir recursos, escreva uma regra interna curta para situações complicadas como reembolsos e disputas, então treine a equipe com dois ou três exemplos reais. Após o lançamento, revise as mensagens de suporte semanalmente e corrija primeiro os pontos que mais incomodam.
Se você já usa Koder.ai (koder.ai) para construir ferramentas internas, manter a consulta do cliente e a edição pela equipe como telas separadas e com permissões distintas desde o dia 1 facilita a manutenção do projeto conforme ele cresce.
Perguntas frequentes
Qual é o propósito principal de uma página de verificação de saldo de cartão-presente?
Coloque o foco em uma tarefa: inserir o código do cartão-presente e ver o valor restante. Mostre o saldo na moeda da loja e inclua um horário claro de "última atualização" para que o resultado pareça confiável.
Preciso de um PIN além do código do cartão-presente?
Peça exatamente o que seu programa exige e diga isso desde o começo. Se precisar tanto do número do cartão quanto de um PIN (ou uma área para raspar), mostre ambos os campos imediatamente para que as pessoas não percam tempo.
Qual é o fluxo de cliente mais simples que ainda funciona bem no mobile?
Mantenha simples e amigável para colar: um campo rotulado, um exemplo de formato e um único botão "Check balance". Após o envio, mostre um estado de carregamento curto e desabilite o botão para evitar verificações duplicadas.
O que a tela de resultado deve exibir após uma consulta bem-sucedida?
Mostre o saldo, a moeda e um carimbo de horário "última atualização". Masque o código no resultado (por exemplo, mostre apenas os últimos 4 caracteres) para que capturas de tela e olhares por cima revelem menos.
Como devo tratar códigos inválidos sem ajudar pessoas a adivinharem códigos reais?
Use uma mensagem genérica na página pública, como "Não foi possível verificar esse código. Verifique e tente novamente." Guarde detalhes como "expirado" ou "bloqueado" para a tela da equipe, após a verificação do cliente.
Como um saldo zero deve ser mostrado?
Não trate como erro. Exiba "$0.00 restantes" (com o horário da última atualização) para que o cliente entenda que o cartão é válido, mas sem saldo.
A equipe deve usar a mesma página dos clientes para gerenciar cartões-presente?
Separe da página do cliente e exija autenticação da equipe. A maioria dos funcionários deve apenas visualizar; um grupo menor (por exemplo, gerentes) pode ajustar saldos, com cada mudança registrada em uma trilha de auditoria.
Que controles evitam que a equipe ajuste o valor ou o cartão errado?
Exija um motivo e, quando possível, uma referência (como recibo ou ID do pedido), e capture quem fez a mudança e quando. Mostre uma prévia como "Saldo atual" e "Novo saldo" antes da confirmação final para reduzir erros.
Realmente precisamos de um registro de transações, ou armazenar só o saldo atual basta?
Registre cada alteração como um histórico de transações, não apenas um número de saldo editável. Emissão, redenção, reembolso e ajustes manuais devem criar registros separados para que você possa explicar qualquer saldo posteriormente.
Quais medidas básicas reduzem fraudes em um verificador de saldo?
Adicione limites de taxa e um período de cooldown após falhas repetidas para que bots não consigam testar muitos códigos rapidamente. Também armazene os códigos de forma segura (por exemplo, em uma versão protegida) e evite mostrar o código completo de volta ao usuário.