Executamos um reembolso na nossa própria conta para verificar se o livro-razão se revertia corretamente. E se revertia. Depois alguém leu o resto do estado da conta, e ali estava a verdadeira descoberta: o plano ainda estava ativo, e continuaria até a metade do mês seguinte.
Dinheiro de volta, acesso mantido. Repetível todo mês por qualquer um disposto a clicar em Reembolsar. Não foi um teste que encontrou isso, porque nenhum teste fazia essa pergunta.
Encerrar o período que o pagamento comprou
Num reembolso total, o período que aquele pagamento abriu agora encerra imediatamente, e um evento de ciclo de vida registra o motivo.
Imediatamente — mas não para o nada. Se você estava num plano, subiu para um mais caro, e o pagamento do upgrade é reembolsado, você volta ao plano em que estava, não ao nível gratuito. Você pagou aquele mês separadamente, e ele não foi reembolsado. Tirar ele também seria a plataforma se servindo de algo que o cliente ainda possui. Só alguém sem um plano anterior ainda ativo cai para o gratuito.
O direito de acesso tem duas metades
A primeira versão dessa correção encerrava a linha de assinatura e parava ali. Mas aquilo a que você tem direito depende de duas coisas: a linha que o orçamento lê, e um papel concedido quando o pagamento deu certo. Qualquer outro caminho que encerra uma assinatura remove esse papel explicitamente. Este não removia, então uma conta reembolsada teria ficado cancelada no papel enquanto mantinha as permissões do nível pago.
O papel agora também é removido, e cai no nível do plano restaurado, não num "gratuito" genérico — o mesmo raciocínio da restauração em si.
Avisando o provedor
A página da conta dizia Nível Gratuito. O painel do provedor de pagamento dizia Ativo, próxima cobrança no mês seguinte. O reembolso tinha encerrado as coisas do nosso lado e nunca avisado o outro lado, então o cliente estava na fila para ser cobrado de novo por um plano pelo qual tinha sido reembolsado e que não podia mais usar — e não tinha como parar isso pelas nossas telas, porque cancelar exige uma assinatura ativa, e a gente tinha acabado de cancelar a dele.
Um reembolso agora para a renovação automática no provedor que emitiu o pagamento. Não um encerramento imediato: a renovação automática para, então nenhum dinheiro a mais se move, e o próprio registro do provedor se extingue no seu próprio calendário em vez de ser arrancado debaixo de um reembolso que ele acabou de processar.
Com uma exceção, que o dono percebeu antes de sair. Se o plano para o qual você foi restaurado roda na mesma assinatura do provedor, cancelá-la deixaria você com um plano que nunca renova e nunca cobra — a imagem espelhada exata do bug que isso existe para corrigir, e igualmente silenciosa. Esse caso agora é nomeado explicitamente e deixado intacto.
Só o pagamento que abriu o período pode encerrá-lo
Um upgrade no meio do mês cobra, nesse provedor, uma pequena diferença proporcional em cima da linha existente. Reembolsar essa cobrança pequena teria encontrado uma assinatura, cancelado tudo, procurado um plano anterior, não encontrado nenhum, e feito o cliente cair para o gratuito — por causa de um ajuste de meio de mês. Agora só o pagamento que abriu o período atual pode encerrá-lo. Tudo depois disso é uma questão de dinheiro, e o livro-razão já respondeu.
As quatro vias, não só a que está ativa
Três dos quatro processadores de pagamento que suportamos não têm ninguém hoje. A revogação poderia ter sido corrigida só na que está ativa, e quase foi assim. A objeção que mudou isso: no dia em que uma das outras for reativada, o buraco volta, e até lá ninguém vai lembrar que ele um dia esteve ali.
Esse repositório já entregou a mesma classe de armadilha esquecida seis vezes. A revogação agora vive atrás de um único contrato que os quatro processadores chamam numa única linha — então um futuro responsável reativando um deles a recebe sem precisar ter lido nada disso.