diff --git a/app/concerns/koudoku/subscription.rb b/app/concerns/koudoku/subscription.rb index 7397c7c..a3382b0 100644 --- a/app/concerns/koudoku/subscription.rb +++ b/app/concerns/koudoku/subscription.rb @@ -113,7 +113,7 @@ def processing! end end - Stripe::Subscription.create(subscription_attributes) + subscription = Stripe::Subscription.create(subscription_attributes) rescue Stripe::CardError => card_error errors[:base] << card_error.message @@ -125,6 +125,14 @@ def processing! self.stripe_id = customer.id self.last_four = customer.sources.retrieve(customer.default_source).last4 + if respond_to? :stripe_subscription_id + self.stripe_subscription_id = subscription.id + end + + if subscription_owner.respond_to? :stripe_id + subscription_owner.update(stripe_id: customer.id) + end + finalize_new_subscription! finalize_upgrade!