Update app/Livewire/Subscription/Index.php
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
This commit is contained in:
@@ -50,29 +50,37 @@ class Index extends Component
|
||||
|
||||
public function getStripeStatus()
|
||||
{
|
||||
$subscription = currentTeam()->subscription;
|
||||
$stripe = new \Stripe\StripeClient(config('subscription.stripe_api_key'));
|
||||
$customer = $stripe->customers->retrieve(currentTeam()->subscription->stripe_customer_id);
|
||||
if ($customer) {
|
||||
$subscriptions = $stripe->subscriptions->all(['customer' => $customer->id]);
|
||||
$currentTeam = currentTeam()->id ?? null;
|
||||
if (count($subscriptions->data) > 0 && $currentTeam) {
|
||||
$foundSubscription = collect($subscriptions->data)->firstWhere('metadata.team_id', $currentTeam);
|
||||
if ($foundSubscription) {
|
||||
$status = data_get($foundSubscription, 'status');
|
||||
$subscription->update([
|
||||
'stripe_subscription_id' => $foundSubscription->id,
|
||||
]);
|
||||
if ($status === 'unpaid') {
|
||||
$this->isUnpaid = true;
|
||||
try {
|
||||
$subscription = currentTeam()->subscription;
|
||||
$stripe = new \Stripe\StripeClient(config('subscription.stripe_api_key'));
|
||||
$customer = $stripe->customers->retrieve(currentTeam()->subscription->stripe_customer_id);
|
||||
if ($customer) {
|
||||
$subscriptions = $stripe->subscriptions->all(['customer' => $customer->id]);
|
||||
$currentTeam = currentTeam()->id ?? null;
|
||||
if (count($subscriptions->data) > 0 && $currentTeam) {
|
||||
$foundSubscription = collect($subscriptions->data)->firstWhere('metadata.team_id', $currentTeam);
|
||||
if ($foundSubscription) {
|
||||
$status = data_get($foundSubscription, 'status');
|
||||
$subscription->update([
|
||||
'stripe_subscription_id' => $foundSubscription->id,
|
||||
]);
|
||||
if ($status === 'unpaid') {
|
||||
$this->isUnpaid = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (count($subscriptions->data) === 0) {
|
||||
$this->isCancelled = true;
|
||||
}
|
||||
}
|
||||
if (count($subscriptions->data) === 0) {
|
||||
$this->isCancelled = true;
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
// Log the error
|
||||
logger()->error('Stripe API error: ' . $e->getMessage());
|
||||
// Set a flag to show an error message to the user
|
||||
$this->addError('stripe', 'Could not retrieve subscription information. Please try again later.');
|
||||
} finally {
|
||||
$this->loading = false;
|
||||
}
|
||||
$this->loading = false;
|
||||
}
|
||||
|
||||
public function render()
|
||||
|
||||
Reference in New Issue
Block a user