1

Você precisa separar o que é recorrente e o que é parcelado, tentar tratar como uma coisa do mesmo tipo vai fazer você ficar criando vários "ifs" para fazer os fluxos funcionarem.

Pagamento parcelado
No pagamento parcelado você pode criar uma entidade que representa essa compra, e uma lista de parcelas, cada uma com um vencimento para um mês diferente.

A entidade compra é importante, pois caso o usuário cancele o registro você pode percorrer a lista de parcelas e cancelá-las também, ou até mesmo fazer um cálculo da porcentagem paga daquela compra no decorrer do tempo.

Pagamento recorrente
Aqui você ainda tem dois tipos de pagamento recorrente: valor fixo como internet, streamings etc, e valor variável como água, luz, gás...

Para o valor fixo é fácil, você cria uma entidade que representa esse pagamento com o dia do mês que ele deve ser pago, assim sempre que for exibir os pagamentos do mês, o registro vai estar lá no dia específico, mas sem ter o lançamento registrado de fato, apenas quando o usuário confirmar o pagamento.

Sobre o de valor variável, você pode usar a mesma estrutura e apresentar um valor médio ou um valor aproximado com base no último lançamento. Na hora que o usuário confirmar o pagamento você solicita o valor pago.

Carregando publicação patrocinada...