Class: Billy::LemonSqueezy::Webhooks::SubscriptionUpdated

Inherits:
Object
  • Object
show all
Defined in:
lib/billy/lemon_squeezy/webhooks/subscription_updated.rb

Instance Method Summary collapse

Instance Method Details

#call(event) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/billy/lemon_squeezy/webhooks/subscription_updated.rb', line 6

def call(event)
  subscription = Billy::Subscription.find_by(processor: "lemon_squeezy", processor_id: event.subscriptions_id)

  # We couldn't find the subscription for some reason, maybe it's from another service
  return if subscription.nil?

  subscription.update!(
    status: event.status,
    ends_at: event.ends_at
  )

  if event.status == "cancelled"
    # Send Discord Event
    subscription..discord(kind: :subscription_cancelled)
  end
end