Sha256: 58e4230a759500e9ca5f4786f222567c97c75504fe6f4f75c0f9913e9804bc9e

Contents?: true

Size: 722 Bytes

Versions: 21

Compression:

Stored size: 722 Bytes

Contents

module Pay
  module Stripe
    module Webhooks
      class CustomerDeleted
        def call(event)
          object = event.data.object
          pay_customer = Pay::Customer.find_by(processor: :stripe, processor_id: object.id)

          # Skip processing if this customer is not in the database
          return unless pay_customer

          # Mark all subscriptions as canceled
          pay_customer.subscriptions.active.update_all(ends_at: Time.current, status: "canceled")

          # Remove all payment methods
          pay_customer.payment_methods.destroy_all

          # Mark customer as deleted
          pay_customer.update!(default: false, deleted_at: Time.current)
        end
      end
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
pay-8.3.0 lib/pay/stripe/webhooks/customer_deleted.rb
pay-8.2.2 lib/pay/stripe/webhooks/customer_deleted.rb
pay-8.2.1 lib/pay/stripe/webhooks/customer_deleted.rb
pay-8.2.0 lib/pay/stripe/webhooks/customer_deleted.rb
pay-8.1.3 lib/pay/stripe/webhooks/customer_deleted.rb
pay-8.1.2 lib/pay/stripe/webhooks/customer_deleted.rb
pay-8.1.1 lib/pay/stripe/webhooks/customer_deleted.rb
pay-8.1.0 lib/pay/stripe/webhooks/customer_deleted.rb
pay-8.0.0 lib/pay/stripe/webhooks/customer_deleted.rb
pay-7.3.0 lib/pay/stripe/webhooks/customer_deleted.rb
pay-7.2.1 lib/pay/stripe/webhooks/customer_deleted.rb
pay-7.1.1 lib/pay/stripe/webhooks/customer_deleted.rb
pay-7.1.0 lib/pay/stripe/webhooks/customer_deleted.rb
pay-7.0.0 lib/pay/stripe/webhooks/customer_deleted.rb
pay-6.8.1 lib/pay/stripe/webhooks/customer_deleted.rb
pay-6.8.0 lib/pay/stripe/webhooks/customer_deleted.rb
pay-6.7.2 lib/pay/stripe/webhooks/customer_deleted.rb
pay-6.7.1 lib/pay/stripe/webhooks/customer_deleted.rb
pay-6.7.0 lib/pay/stripe/webhooks/customer_deleted.rb
pay-6.6.1 lib/pay/stripe/webhooks/customer_deleted.rb