# 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 after_create :chain_record def first? payment_schedule.ordered_items.first == self end def payment_intent return unless stp_invoice_id key = Setting.get('stripe_secret_key') stp_invoice = Stripe::Invoice.retrieve(stp_invoice_id, api_key: key) Stripe::PaymentIntent.retrieve(stp_invoice.payment_intent, api_key: key) end def self.columns_out_of_footprint %w[invoice_id stp_invoice_id state payment_method client_secret] end end