mirror of
https://github.com/indentlabs/notebook.git
synced 2025-10-26 11:19:22 +00:00
38 lines
826 B
Ruby
38 lines
826 B
Ruby
class StripeInvoiceEvents
|
|
attr_reader :event
|
|
attr_reader :user
|
|
|
|
def initialize(event)
|
|
@event = event
|
|
@user = User.find_by(stripe_customer_id: stripe_customer)
|
|
end
|
|
|
|
def payment_succeeded
|
|
return unless user.present?
|
|
# Stripe sends receipts currently, so we don't need to.
|
|
#InvoicesMailer.dispatch_invoice(user.id).deliver_now!
|
|
end
|
|
|
|
|
|
def payment_failed
|
|
return unless user.present?
|
|
# todo style email
|
|
#InvoicesMailer.problem_with_payment(user.id).deliver_now!
|
|
if stripe_invoice.next_payment_attempt.blank?
|
|
user.update(selected_billing_plan_id: 1)
|
|
# todo style email
|
|
#InvoicesMailer.downgraded_to_starter(user.id).deliver_now!
|
|
end
|
|
end
|
|
|
|
private
|
|
|
|
def stripe_customer
|
|
stripe_invoice.customer
|
|
end
|
|
|
|
def stripe_invoice
|
|
event.data.object
|
|
end
|
|
end
|