Sha256: df1701ac57f24fd391e28c87c73f25543007f11ecfa72d0ba5852fb6589f21a3
Contents?: true
Size: 1003 Bytes
Versions: 27
Compression:
Stored size: 1003 Bytes
Contents
# frozen_string_literal: true class Spree::ReimbursementType::StoreCredit < Spree::ReimbursementType extend Spree::ReimbursementType::ReimbursementHelpers class << self def reimburse(reimbursement, return_items, simulate) unpaid_amount = return_items.sum(&:total).to_d.round(2, :down) payments = store_credit_payments(reimbursement) reimbursement_list = [] # Credit each store credit that was used on the order reimbursement_list, unpaid_amount = create_refunds(reimbursement, payments, unpaid_amount, simulate, reimbursement_list) # If there is any amount left to pay out to the customer, then create credit with that amount if unpaid_amount > 0.0 reimbursement_list, _unpaid_amount = create_credits(reimbursement, unpaid_amount, simulate, reimbursement_list) end reimbursement_list end private def store_credit_payments(reimbursement) reimbursement.order.payments.completed.store_credits end end end
Version data entries
27 entries across 27 versions & 2 rubygems