Sha256: cbc37ec5694eb27d0a60c14b19b74677abea20d11d4522aaddc6dce6121a8b3e

Contents?: true

Size: 549 Bytes

Versions: 16

Compression:

Stored size: 549 Bytes

Contents

# A subscription reaches the specified number of billing cycles and expires.

module Pay
  module Braintree
    module Webhooks
      class SubscriptionExpired
        def call(event)
          subscription = event.subscription
          return if subscription.nil?

          pay_subscription = Pay.subscription_model.find_by(processor: :braintree, processor_id: subscription.id)
          return unless pay_subscription.present?

          pay_subscription.update!(ends_at: Time.current, status: :canceled)
        end
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
pay-2.7.2 lib/pay/braintree/webhooks/subscription_expired.rb
pay-2.7.1 lib/pay/braintree/webhooks/subscription_expired.rb
pay-2.7.0 lib/pay/braintree/webhooks/subscription_expired.rb
pay-2.6.11 lib/pay/braintree/webhooks/subscription_expired.rb
pay-2.6.10 lib/pay/braintree/webhooks/subscription_expired.rb
pay-2.6.9 lib/pay/braintree/webhooks/subscription_expired.rb
pay-2.6.8 lib/pay/braintree/webhooks/subscription_expired.rb
pay-2.6.7 lib/pay/braintree/webhooks/subscription_expired.rb
pay-2.6.6 lib/pay/braintree/webhooks/subscription_expired.rb
pay-2.6.5 lib/pay/braintree/webhooks/subscription_expired.rb
pay-2.6.4 lib/pay/braintree/webhooks/subscription_expired.rb
pay-2.6.3 lib/pay/braintree/webhooks/subscription_expired.rb
pay-2.6.2 lib/pay/braintree/webhooks/subscription_expired.rb
pay-2.6.1 lib/pay/braintree/webhooks/subscription_expired.rb
pay-2.6.0 lib/pay/braintree/webhooks/subscription_expired.rb
pay-2.5.0 lib/pay/braintree/webhooks/subscription_expired.rb