public function viewMySubscription()
 {
     $user = Auth::user();
     $subscriber = DB::table('subscriptions')->join('users', 'users.id', '=', 'subscriptions.user_id')->join('stripe_plans', 'stripe_plans.plan_id', '=', 'subscriptions.stripe_plan')->select('subscriptions.name as plan_name', 'subscriptions.stripe_id', 'subscriptions.quantity', 'users.name as subscriber_name', 'users.email', 'users.stripe_id as cus_id', 'users.trial_ends_at as trial_date', 'stripe_plans.amount', 'stripe_plans.currency', 'stripe_plans.interval', 'stripe_plans.coupon_id', 'stripe_plans.trial_period_days as trial')->where('users.id', '=', Auth::user()->id)->first();
     if ($subscriber) {
         if ($subscriber->trial_date != null) {
             $date = Carbon::parse($subscriber->trial_date);
             $subscriber->trial_date = $date->toFormattedDateString();
         }
         if ($subscriber->coupon_id != null) {
             $coupon_info = StripeCoupon::where('coupon_id', '=', $subscriber->coupon_id)->first();
             $coupon = [];
             if ($coupon_info) {
                 $coupon['coupon_name'] = $coupon_info->coupon_name;
                 $redeem_by = Carbon::parse($coupon_info->redeem_by);
                 $coupon['redeem_by'] = $redeem_by->toFormattedDateString();
                 if ($coupon_info->percent_off != null) {
                     $coupon['discount'] = $coupon_info->percent_off . "%";
                     $coupon['discount_price'] = $subscriber->amount - $subscriber->amount * $coupon_info->percent_off / 100;
                 } else {
                     $coupon['discount'] = $coupon_info->amount_off / 100 . "/" . $coupon_info->currency;
                     $coupon['discount_price'] = $subscriber->amount - $coupon_info->amount_off / 100;
                 }
             }
             $subscriber->coupon = $coupon;
         }
     }
     return view('my-subscription', compact('subscriber', 'user'));
 }