1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2024-12-04 15:24:23 +01:00
fab-manager/app/models/payment_schedule_item.rb
2023-03-24 17:21:44 +01:00

30 lines
904 B
Ruby

# frozen_string_literal: true
# Represents a due date and the associated amount for a PaymentSchedule
class PaymentScheduleItem < Footprintable
belongs_to :payment_schedule
belongs_to :invoice
has_one :payment_gateway_object, as: :item, dependent: :destroy
has_one :chained_element, as: :element, dependent: :restrict_with_exception
after_create :chain_record
delegate :footprint, to: :chained_element
def first?
payment_schedule.ordered_items.first == self
end
def payment_intent
return unless payment_gateway_object
return unless payment_gateway_object.gateway_object.gateway == 'Stripe'
stp_invoice = payment_gateway_object.gateway_object.retrieve
Stripe::PaymentIntent.retrieve(stp_invoice.payment_intent, api_key: Setting.get('stripe_secret_key'))
end
def self.columns_out_of_footprint
%w[invoice_id state payment_method client_secret]
end
end