Class: Profitable::Processors::StripeProcessor

Inherits:
Base
  • Object
show all
Defined in:
lib/profitable/processors/stripe_processor.rb

Instance Attribute Summary

Attributes inherited from Base

#subscription

Instance Method Summary collapse

Methods inherited from Base

#initialize

Constructor Details

This class inherits a constructor from Profitable::Processors::Base

Instance Method Details

#calculate_mrrObject



4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/profitable/processors/stripe_processor.rb', line 4

def calculate_mrr
  subscription_items = subscription.data['subscription_items']
  return 0 if subscription_items.nil? || subscription_items.empty?

  price_data = subscription_items[0]['price']
  return 0 if price_data.nil?

  amount = price_data['unit_amount']
  quantity = subscription.quantity || 1
  interval = price_data.dig('recurring', 'interval')
  interval_count = price_data.dig('recurring', 'interval_count') || 1

  normalize_to_monthly(amount * quantity, interval, interval_count)
end