Isso pode acontecer se você estiver usando o Stripe como seu gateway de pagamento. O que acontece é que, quando o pagamento falha, ele é marcado como vencido no Stripe. E mesmo que a assinatura tenha sido cancelada ou expirado posteriormente, ainda há um saldo pendente para o cliente.
Mais tarde, quando o cliente inseriu informações de pagamento atualizadas ao adquirir uma nova associação, o Stripe detectou os novos detalhes de pagamento e cobrou o saldo em atraso.
A melhor solução é reembolsar o cliente pela cobrança da assinatura antiga. Talvez você também queira entrar em contato com o suporte do Stripe e verificar se há alguma maneira de evitar esse cenário no futuro.