This commit is contained in:
sayliraut
2024-08-02 11:25:33 +05:30
parent 661b29fbdc
commit d1f8b6fa86

View File

@@ -12,6 +12,8 @@ use Carbon\Carbon;
use Tymon\JWTAuth\Facades\JWTAuth;
use Illuminate\Support\Facades\Session;
use Illuminate\Http\Request;
use App\Models\Subscriptions;
use Stripe\Subscription;
class CustomerControllerApi extends Controller
{
@@ -168,7 +170,42 @@ class CustomerControllerApi extends Controller
if ($token) {
$iamPrincipalId = $token['sub'];
$deleteUser = IamPrincipal::find($iamPrincipalId);
$stripeSecret = (config('constants.subscription.stripe_secret_key'));
// $stripeSecret = env('STRIPE_SECRET');
$stripe = new \Stripe\StripeClient($stripeSecret);
$userId = $iamPrincipalId;
// dd($id,$stripeSecret);
$getSubscriptionData = Subscriptions::where('iam_principal_xid', $userId)->where('subscription_status', 'active')->first();
if ($getSubscriptionData) {
$subscriptionId = $getSubscriptionData->subscription_id;
$cancelledSubscription = $stripe->subscriptions->update(
$subscriptionId,
['cancel_at_period_end' => true]
);
$subscriptionFromDatabase = Subscriptions::where('subscription_id', $subscriptionId)->first();
$subscriptionFromDatabase->cancelled_at = date('Y-m-d H:i:s', $cancelledSubscription->canceled_at);
$subscriptionFromDatabase->subscription_status = $cancelledSubscription->status;
$subscriptionFromDatabase->is_cancelled_subscription = 1;
$subscriptionFromDatabase->status = "cancelled";
$subscriptionFromDatabase->save();
$getSubscription = $stripe->subscriptions->retrieve($subscriptionFromDatabase->subscription_id, []);
$getSubscribeCustomer = $stripe->customers->retrieve(
$subscriptionFromDatabase->stripe_customer_id,
[]
);
}
$deleteUser = IamPrincipal::find($userId);
$deleteUser->one_signal_player_id = null;
$deleteUser->save();
@@ -189,7 +226,7 @@ class CustomerControllerApi extends Controller
}
/**
/**
* Created By : sayli Raut
* Created at : 15 July 2024
* Use : To get user subscription status.
@@ -203,7 +240,6 @@ class CustomerControllerApi extends Controller
$customerIamId = $token['sub'];
$response = $this->CustomerApiServices->CheckSubscription($customerIamId);
return jsonResponseWithSuccessMessageApi(__('auth.data_fetched_successfully'), ['is_subscribed' => $response], 200);
} else {
return jsonResponseWithErrorMessageApi(__('auth.user_deleted'), 409);
}