Descrição do projeto
TraduzidoA coisa mais importante para mim é a dedução parcial durante o checkout. Quando um cliente insere um código de cartão no carrinho, o sistema deve aplicar o saldo disponível ao total do pedido, cobrir parcialmente ou totalmente, deixar o restante a ser pago por métodos regulares e preservar qualquer saldo não gasto no cartão para o futuro. A capacidade de usar vários cartões em um único pedido seria um diferencial. Cada alteração de saldo deve ser registrada como uma entrada de diário imutável para que eu possa sempre rastrear a história: valor de emissão, cada dedução, reembolsos e ajustes manuais. Os códigos devem ser gerados de forma que sejam difíceis de adivinhar, emitidos uma vez e enviados com segurança por e-mail. As regras de expiração devem ser configuráveis, e todo o processo deve lidar com cliques duplos e condições de corrida de forma segura, sem arriscar que um cartão seja cobrado duas vezes.
O painel administrativo deve permitir que minha equipe emita cartões manualmente, encontre qualquer cartão pelo código ou cliente, veja o histórico completo de saldo, congele ou cancele um cartão, reenvie um e-mail, ajuste o saldo com uma nota de motivo e exporte relatórios. Peço que você mantenha o estilo visual e as convenções de código usadas na loja, escreva um código limpo e documentado, e cubra a lógica de saldo e dedução com testes antes da entrega.
— Compra: seleção de valor, escolha de modelo, texto de saudação; pagamento via gateway existente
— Entrega ao destinatário por e-mail com um código único e difícil de adivinhar
— Saldo por cartão com diário de operações imutável
— Dedução parcial durante o checkout, restante pago normalmente; valor não gasto preservado
— Expiração e status configuráveis (ativo, congelado, cancelado, usado)
— Painel administrativo: emissão, busca, ajuste, congelamento, reenvio de e-mail, exportação de relatórios
— Proteção contra condições de corrida; testes para lógica de saldo e dedução