Method: Pay::PaddleBilling::Subscription#change_quantity

Defined in:
app/models/pay/paddle_billing/subscription.rb

#change_quantity(quantity, **options) ⇒ Object



108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
# File 'app/models/pay/paddle_billing/subscription.rb', line 108

def change_quantity(quantity, **options)
  items = [{
    price_id: processor_plan,
    quantity: quantity
  }]

  ::Paddle::Subscription.update(
    id: processor_id,
    items: items,
    proration_billing_mode: options.delete(:proration_billing_mode) || "prorated_immediately"
  )
  update(quantity: quantity)
rescue ::Paddle::Error => e
  raise Pay::PaddleBilling::Error, e
end