Сервис(класс), которые как параметр метода будет принимать список взносов и платежей, все они уже будут отсортированы в нужный способ.
Каждый взнос имеет 2 поля - сумма и коммисия, то же самое в платежах - сумма и коммисия + поле дата коммисии и оплачена ли коммисия
Если в платежах хватает суммы на оплату взноса меняется статус, то же самое с комиссией.
Более подробно исполнителю вместе с файлом где много примеров.
Дополнительно нужно будет написать unit tests которые покроют все примеры из файлов
Срок желательно до воскресенья.
Пишите цену.