houdini/app/models/refund.rb
2019-08-02 19:07:24 +02:00

27 lines
838 B
Ruby

# License: AGPL-3.0-or-later WITH Web-Template-Output-Additional-Permission-3.0-or-later
class Refund < ApplicationRecord
Reasons = [:duplicate, :fraudulent, :requested_by_customer]
# TODO:
# attr_accessible \
# :amount, # int
# :comment, # text
# :reason, # str ('duplicate', 'fraudulent', or 'requested_by_customer')
# :stripe_refund_id,
# :disbursed, # boolean (whether this refund has been counted in a payout)
# :failure_message, # str (accessor for storing the Stripe error message)
# :user_id, :user, # user who made this refund
# :payment_id, :payment, # negative payment that records this refund
# :charge_id, :charge
attr_accessor :failure_message
belongs_to :charge
belongs_to :payment
scope :not_disbursed, ->{where(disbursed: [nil, false])}
scope :disbursed, ->{where(disbursed: [true])}
end