mirror of
https://github.com/Bigherollc/wticreatorstudio.git
synced 2026-01-16 19:05:08 -05:00
Subscription Module Update - Fix prorate
This commit is contained in:
@@ -219,7 +219,7 @@ class PaypalWebhookController extends Controller
|
||||
$user_credits_history->subscription_credits_to = $after_credits['total_available_credits']['subscription'];
|
||||
$user_credits_history->alacarte_credits_from = $before_credits['total_available_credits']['alacarte'];;
|
||||
$user_credits_history->alacarte_credits_to = $after_credits['total_available_credits']['alacarte'];
|
||||
$user_credits_history->details = 'Remove unused subscription credits because of downgrade to Flex Plan';
|
||||
$user_credits_history->details = 'Remove unused subscription credits due to plan migration from '.$old_subscription->planPrice->plan->title.' to '.$subscription->planPrice->plan->title;
|
||||
$user_credits_history->save();
|
||||
}
|
||||
|
||||
@@ -229,11 +229,37 @@ class PaypalWebhookController extends Controller
|
||||
$plan_credits = $old_subscription->planPrice->total_credits;
|
||||
$months = $old_subscription->planPrice->custom_interval;
|
||||
if($old_subscription->planPrice->payment == 'monthly' && $subscription->planPrice->payment == 'monthly'){
|
||||
$prorate_credits = $subscription->planPrice->total_credits - (( $plan_credits / $months ) * ($months - $paid_months));
|
||||
$prorate_credits = $prorate_credits >= 0 ? floor($prorate_credits) : -1 * floor(abs($prorate_credits));
|
||||
|
||||
$subscription_credits = $user_credits->subscription_credits + $prorate_credits;
|
||||
$user_credits_history_details = 'Prorated Credits from '.$old_subscription->planPrice->plan->title.' to '.$subscription->planPrice->plan->title;
|
||||
|
||||
|
||||
if($old_subscription->planPrice->plan->status){
|
||||
|
||||
$prorate_credits = $subscription->planPrice->total_credits - (( $plan_credits / $months ) * ($months - $paid_months));
|
||||
$prorate_credits = $prorate_credits >= 0 ? floor($prorate_credits) : -1 * floor(abs($prorate_credits));
|
||||
|
||||
$subscription_credits = $user_credits->subscription_credits + $prorate_credits;
|
||||
$user_credits_history_details = 'Prorated Credits from '.$old_subscription->planPrice->plan->title.' to '.$subscription->planPrice->plan->title;
|
||||
|
||||
} else {
|
||||
|
||||
$before_credits = $this->customerService->credits($user_credits->user_id);
|
||||
$subscription_credits = $user_credits->subscription_credits - $before_credits['total_available_credits']['subscription'];
|
||||
$user_credits->subscription_credits = $subscription_credits;
|
||||
$user_credits->save();
|
||||
$after_credits = $this->customerService->credits($user_credits->user_id);
|
||||
|
||||
$user_credits_history = new UserCreditHistory;
|
||||
$user_credits_history->user_id = $user_credits->user_id;
|
||||
$user_credits_history->subscription_credits_from = $before_credits['total_available_credits']['subscription'];
|
||||
$user_credits_history->subscription_credits_to = $after_credits['total_available_credits']['subscription'];
|
||||
$user_credits_history->alacarte_credits_from = $before_credits['total_available_credits']['alacarte'];;
|
||||
$user_credits_history->alacarte_credits_to = $after_credits['total_available_credits']['alacarte'];
|
||||
$user_credits_history->details = 'Remove unused subscription credits due to plan migration from '.$old_subscription->planPrice->plan->title.' to '.$subscription->planPrice->plan->title;
|
||||
$user_credits_history->save();
|
||||
|
||||
|
||||
$subscription_credits = $user_credits->subscription_credits + $subscription->planPrice->total_credits;
|
||||
$user_credits_history_details = 'Added Total Plan Credits of '.$subscription->planPrice->plan->title;
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
|
||||
@@ -317,7 +317,7 @@ class StripeWebhookController extends Controller
|
||||
$user_credits_history->subscription_credits_to = $after_credits['total_available_credits']['subscription'];
|
||||
$user_credits_history->alacarte_credits_from = $before_credits['total_available_credits']['alacarte'];;
|
||||
$user_credits_history->alacarte_credits_to = $after_credits['total_available_credits']['alacarte'];
|
||||
$user_credits_history->details = 'Remove unused subscription credits because of downgrade to Flex Plan';
|
||||
$user_credits_history->details = 'Remove unused subscription credits due to plan migration from '.$old_subscription->planPrice->plan->title.' to '.$subscription->planPrice->plan->title;
|
||||
$user_credits_history->save();
|
||||
}
|
||||
|
||||
@@ -327,11 +327,36 @@ class StripeWebhookController extends Controller
|
||||
$plan_credits = $old_subscription->planPrice->total_credits;
|
||||
$months = $old_subscription->planPrice->custom_interval;
|
||||
if($old_subscription->planPrice->payment == 'monthly' && $subscription->planPrice->payment == 'monthly'){
|
||||
$prorate_credits = $subscription->planPrice->total_credits - (( $plan_credits / $months ) * ($months - $paid_months));
|
||||
$prorate_credits = $prorate_credits >= 0 ? floor($prorate_credits) : -1 * floor(abs($prorate_credits));
|
||||
|
||||
$subscription_credits = $user_credits->subscription_credits + $prorate_credits;
|
||||
$user_credits_history_details = 'Prorated Credits from '.$old_subscription->planPrice->plan->title.' to '.$subscription->planPrice->plan->title;
|
||||
|
||||
if($old_subscription->planPrice->plan->status){
|
||||
|
||||
$prorate_credits = $subscription->planPrice->total_credits - (( $plan_credits / $months ) * ($months - $paid_months));
|
||||
$prorate_credits = $prorate_credits >= 0 ? floor($prorate_credits) : -1 * floor(abs($prorate_credits));
|
||||
|
||||
$subscription_credits = $user_credits->subscription_credits + $prorate_credits;
|
||||
$user_credits_history_details = 'Prorated Credits from '.$old_subscription->planPrice->plan->title.' to '.$subscription->planPrice->plan->title;
|
||||
|
||||
} else {
|
||||
|
||||
$before_credits = $this->customerService->credits($user_credits->user_id);
|
||||
$subscription_credits = $user_credits->subscription_credits - $before_credits['total_available_credits']['subscription'];
|
||||
$user_credits->subscription_credits = $subscription_credits;
|
||||
$user_credits->save();
|
||||
$after_credits = $this->customerService->credits($user_credits->user_id);
|
||||
|
||||
$user_credits_history = new UserCreditHistory;
|
||||
$user_credits_history->user_id = $user_credits->user_id;
|
||||
$user_credits_history->subscription_credits_from = $before_credits['total_available_credits']['subscription'];
|
||||
$user_credits_history->subscription_credits_to = $after_credits['total_available_credits']['subscription'];
|
||||
$user_credits_history->alacarte_credits_from = $before_credits['total_available_credits']['alacarte'];;
|
||||
$user_credits_history->alacarte_credits_to = $after_credits['total_available_credits']['alacarte'];
|
||||
$user_credits_history->details = 'Remove unused subscription credits due to plan migration from '.$old_subscription->planPrice->plan->title.' to '.$subscription->planPrice->plan->title;
|
||||
$user_credits_history->save();
|
||||
|
||||
|
||||
$subscription_credits = $user_credits->subscription_credits + $subscription->planPrice->total_credits;
|
||||
$user_credits_history_details = 'Added Total Plan Credits of '.$subscription->planPrice->plan->title;
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
|
||||
@@ -731,7 +731,7 @@ class SubscriptionController extends Controller
|
||||
//lets check first if theres active subscription
|
||||
$active_subscription = CustomerSubscription::where('customer_id',auth()->user()->id)->where('status','active')->where('payment_status','succeeded')->first();
|
||||
$prorate_discount = 0;
|
||||
if ($active_subscription && $active_subscription->planPrice->payment =='monthly' && $active_subscription->planPrice->subscription_plan_id != $planPrice->subscription_plan_id && $planPrice->payment == 'monthly') {
|
||||
if ($active_subscription && $active_subscription->planPrice->plan->status && $active_subscription->planPrice->payment =='monthly' && $active_subscription->planPrice->subscription_plan_id != $planPrice->subscription_plan_id && $planPrice->payment == 'monthly') {
|
||||
|
||||
if($active_subscription->payment_method == 'stripe'){
|
||||
$response = $this->stripePayment->subscriptions->retrieve($active_subscription->txn_id, []);
|
||||
|
||||
Reference in New Issue
Block a user