Оплата на ноль рублей прошла
PaymentGateway.pay() проверяет сумму, вызывает charge() шлюза и пишет журнал.
Разработчик шлюза рассрочки переопределил pay() целиком. Теперь через этот шлюз проходят
оплаты на 0 и минус сто рублей, а журнал пуст. Исправьте InstallmentGateway.
PaymentGateway не меняйте.
Подсказка 1 из 2
Что именно отличает шлюз рассрочки от остальных — весь pay или только charge?
Подсказка 2 из 2
Удалите pay из InstallmentGateway: базовый pay сам вызовет его charge.