Module: Payify::StripePaymentConcern

Extended by:
ActiveSupport::Concern
Included in:
Payment
Defined in:
app/models/concerns/payify/stripe_payment_concern.rb

Instance Method Summary collapse

Instance Method Details

#stripe_clientObject



7
8
9
# File 'app/models/concerns/payify/stripe_payment_concern.rb', line 7

def stripe_client
  @stripe_client ||= StripeApi::Client.new
end

#stripe_confirm_paymentObject



20
21
22
23
24
25
26
27
# File 'app/models/concerns/payify/stripe_payment_concern.rb', line 20

def stripe_confirm_payment
  intent = stripe_client.find_intent(stripe_payment_inent_id)

  return unless intent["status"] == "succeeded"

  update_attribute(:paid_at, Time.now)
  update_attribute(:status, Payify::Payment.statuses[:paid])
end

#stripe_init_intentObject



11
12
13
14
15
16
17
18
# File 'app/models/concerns/payify/stripe_payment_concern.rb', line 11

def stripe_init_intent
  return unless stripe_payment_inent_id.nil? && !paid?

  intent = stripe_client.create_payment_intent(amount, tax_id)

  update_attribute(:stripe_payment_inent_id, intent.id)
  update_attribute(:stripe_client_secret, intent.client_secret)
end

#tax_idObject



29
30
31
# File 'app/models/concerns/payify/stripe_payment_concern.rb', line 29

def tax_id
  model&.tax_rates_id || Payify.default_tax_rates_id
end