Sha256: 3090bd596f5f7c7f6b1a19db78af9d8d7c9a3d07dbf67b632dfaf60d479acf1e
Contents?: true
Size: 617 Bytes
Versions: 56
Compression:
Stored size: 617 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) # 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
56 entries across 56 versions & 1 rubygems