Class: Dscf::Payment::CreditIntegrationService
- Inherits:
-
Object
- Object
- Dscf::Payment::CreditIntegrationService
- Defined in:
- app/services/dscf/payment/credit_integration_service.rb
Instance Method Summary collapse
- #process_disbursement(amount, loan_profile, eligible_credit_line) ⇒ Object
- #process_repayment(loan, amount) ⇒ Object
Instance Method Details
#process_disbursement(amount, loan_profile, eligible_credit_line) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'app/services/dscf/payment/credit_integration_service.rb', line 3 def process_disbursement(amount, loan_profile, eligible_credit_line) validate_disbursement_params(amount, loan_profile, eligible_credit_line) disbursement_service = Dscf::Credit::DisbursementService.new( amount: amount, loan_profile: loan_profile, eligible_credit_line: eligible_credit_line ) result = disbursement_service.process_disbursement unless result[:success] raise CreditOperationError.new("Disbursement failed: #{result[:error]}") end result rescue CreditOperationError, InvalidAmountError raise rescue => e raise CreditOperationError.new("Credit disbursement error: #{e.message}") end |
#process_repayment(loan, amount) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'app/services/dscf/payment/credit_integration_service.rb', line 25 def process_repayment(loan, amount) validate_repayment_params(loan, amount) repayment_service = Dscf::Credit::RepaymentService.new(loan, amount) result = repayment_service.process_repayment unless result[:success] raise CreditOperationError.new("Repayment failed: #{result[:error]}") end result rescue CreditOperationError, InvalidAmountError raise rescue => e raise CreditOperationError.new("Credit repayment error: #{e.message}") end |