Testei a função de cupom e está funcionando perfeitamente.
No entanto, tenho uma preocupação em relação à validação do código promocional, ou à falta dela.
Para reproduzir:
Insira um cartão de crédito de teste válido
Insira um código promocional aleatório que não existe na minha configuração de cupons
A transação foi concluída
O preço total foi cobrado, sem qualquer desconto
Do ponto de vista do sistema, esse é o comportamento esperado, não me entenda mal. Mas espero obter consenso de que a etapa 2 requer alguma intervenção do usuário: o processo deve ser interrompido e o usuário deve ser avisado caso um código promocional inválido seja inserido.
Ao permitir que a transação seja concluída, o usuário espera um preço com desconto, mas será surpreendido pela cobrança do valor total. Erros de digitação são reais; já vi usuários tendo dificuldades até mesmo com instruções simples de copiar e colar.
Algumas considerações, caso isso possa ser reproduzido por todos:
Implementar validação de códigos promocionais
Capacidade de pré-preencher o campo de código promocional por meio de parâmetros de URL codificados para minimizar a digitação manual, por exemplo: /s/productname?promo_code=awesomesupporter