Sha256: b27522ff0675a6511a1823e48b2bdae08dd4621c4692a30cb5aa9ca6c14d69cf

Contents?: true

Size: 1023 Bytes

Versions: 19

Compression:

Stored size: 1023 Bytes

Contents

# A subscription successfully moves to the next billing cycle. This will also occur when either a new transaction is created mid-cycle due to proration on an upgrade or a billing cycle is skipped due to the presence of a negative balance that covers the cost of the subscription.

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

          pay_subscription = Pay::Subscription.find_by_processor_and_id(:braintree, subscription.id)
          return unless pay_subscription.present?

          pay_customer = pay_subscription.customer
          pay_charge = Pay::Braintree::Billable.new(pay_customer).save_transaction(subscription.transactions.first)

          if pay_charge && Pay.send_email?(:receipt, pay_charge)
            Pay.mailer.with(pay_customer: pay_customer, pay_charge: pay_charge).receipt.deliver_later
          end
        end
      end
    end
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
pay-6.1.2 lib/pay/braintree/webhooks/subscription_charged_successfully.rb
pay-6.1.1 lib/pay/braintree/webhooks/subscription_charged_successfully.rb
pay-6.1.0 lib/pay/braintree/webhooks/subscription_charged_successfully.rb
pay-6.0.3 lib/pay/braintree/webhooks/subscription_charged_successfully.rb
pay-6.0.2 lib/pay/braintree/webhooks/subscription_charged_successfully.rb
pay-6.0.1 lib/pay/braintree/webhooks/subscription_charged_successfully.rb
pay-6.0.0 lib/pay/braintree/webhooks/subscription_charged_successfully.rb
pay-5.0.4 lib/pay/braintree/webhooks/subscription_charged_successfully.rb
pay-5.0.3 lib/pay/braintree/webhooks/subscription_charged_successfully.rb
pay-5.0.2 lib/pay/braintree/webhooks/subscription_charged_successfully.rb
pay-5.0.1 lib/pay/braintree/webhooks/subscription_charged_successfully.rb
pay-5.0.0 lib/pay/braintree/webhooks/subscription_charged_successfully.rb
pay-4.2.1 lib/pay/braintree/webhooks/subscription_charged_successfully.rb
pay-4.2.0 lib/pay/braintree/webhooks/subscription_charged_successfully.rb
pay-4.1.1 lib/pay/braintree/webhooks/subscription_charged_successfully.rb
pay-4.1.0 lib/pay/braintree/webhooks/subscription_charged_successfully.rb
pay-4.0.4 lib/pay/braintree/webhooks/subscription_charged_successfully.rb
pay-4.0.2 lib/pay/braintree/webhooks/subscription_charged_successfully.rb
pay-4.0.1 lib/pay/braintree/webhooks/subscription_charged_successfully.rb