Skip to content

Commit 8141111

Browse files
committed
Ultra
1 parent 3355326 commit 8141111

10 files changed

Lines changed: 291 additions & 1076 deletions

File tree

.env.example

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ STRIPE_MINI_PRICE_ID_EAP=
6767
STRIPE_PRO_PRICE_ID=
6868
STRIPE_PRO_PRICE_ID_EAP=
6969
STRIPE_MAX_PRICE_ID=
70+
STRIPE_MAX_PRICE_ID_MONTHLY=
7071
STRIPE_MAX_PRICE_ID_EAP=
7172
STRIPE_FOREVER_PRICE_ID=
7273
STRIPE_TRIAL_PRICE_ID=

app/Enums/Subscription.php

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ public static function fromStripePriceId(string $priceId): self
3434
config('subscriptions.plans.pro.stripe_price_id_eap') => self::Pro,
3535
'price_1RoZk0AyFo6rlwXqjkLj4hZ0',
3636
config('subscriptions.plans.max.stripe_price_id'),
37+
config('subscriptions.plans.max.stripe_price_id_monthly'),
3738
config('subscriptions.plans.max.stripe_price_id_discounted'),
3839
config('subscriptions.plans.max.stripe_price_id_eap') => self::Max,
3940
default => throw new RuntimeException("Unknown Stripe price id: {$priceId}"),
@@ -57,7 +58,7 @@ public function name(): string
5758
return config("subscriptions.plans.{$this->value}.name");
5859
}
5960

60-
public function stripePriceId(bool $forceEap = false, bool $discounted = false): string
61+
public function stripePriceId(bool $forceEap = false, bool $discounted = false, string $interval = 'year'): string
6162
{
6263
// EAP ends June 1st at midnight UTC
6364
if (now()->isBefore('2025-06-01 00:00:00') || $forceEap) {
@@ -68,6 +69,10 @@ public function stripePriceId(bool $forceEap = false, bool $discounted = false):
6869
return config("subscriptions.plans.{$this->value}.stripe_price_id_discounted");
6970
}
7071

72+
if ($interval === 'month') {
73+
return config("subscriptions.plans.{$this->value}.stripe_price_id_monthly");
74+
}
75+
7176
return config("subscriptions.plans.{$this->value}.stripe_price_id");
7277
}
7378

app/Livewire/MobilePricing.php

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,7 @@
1414

1515
class MobilePricing extends Component
1616
{
17-
#[Locked]
18-
public bool $discounted = false;
17+
public string $interval = 'year';
1918

2019
#[Locked]
2120
public $user;
@@ -73,7 +72,7 @@ public function createCheckoutSession(?string $plan, ?User $user = null)
7372
$user->createOrGetStripeCustomer();
7473

7574
$checkout = $user
76-
->newSubscription('default', $subscription->stripePriceId(discounted: $this->discounted))
75+
->newSubscription('default', $subscription->stripePriceId(interval: $this->interval))
7776
->allowPromotionCodes()
7877
->checkout([
7978
'success_url' => $this->successUrl(),

config/subscriptions.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,9 @@
2020
'anystack_policy_id' => env('ANYSTACK_PRO_POLICY_ID'),
2121
],
2222
'max' => [
23-
'name' => 'Max',
23+
'name' => 'Ultra',
2424
'stripe_price_id' => env('STRIPE_MAX_PRICE_ID'),
25+
'stripe_price_id_monthly' => env('STRIPE_MAX_PRICE_ID_MONTHLY'),
2526
'stripe_price_id_eap' => env('STRIPE_MAX_PRICE_ID_EAP'),
2627
'stripe_price_id_discounted' => env('STRIPE_MAX_PRICE_ID_DISCOUNTED'),
2728
'stripe_payment_link' => env('STRIPE_MAX_PAYMENT_LINK'),

resources/views/alt-pricing.blade.php

Lines changed: 0 additions & 191 deletions
This file was deleted.

0 commit comments

Comments
 (0)