Калькулятор доступной суммы к возврату/переносу денежных средств

Сервис

ru.bgcrm.plugin.bgbilling.proto.service.refund.calculator.RefundCalculator

Описание

Сервис для расчета доступной к возврату/переносу суммы с договора.

Используя фабрику (RefundCalculatorFactory) получаем калькулятор для нужного биллинга.

Калькулятор возвращает объект, содержащий доступную сумму и бонусы. Сумма для возврата не может быть отрицательная. В таком случае калькулятор вернет 0.

Пример

получение калькулятора:
RefundCalculator calculator = new RefundCalculatorFactory().getRefundCalculator(billingId)
Получение суммы для возврата:
AvailableRefundBalance availableRefundBalance = calculator.calculate(paymentContract)
BigDecimal rubles = availableRefundBalance.getRubles()
Бонусы, не доступные для возврата:
BigDecimal virtualRubles = availableRefundBalance.getVirtualRubles()