File tree Expand file tree Collapse file tree 1 file changed +16
-1
lines changed Expand file tree Collapse file tree 1 file changed +16
-1
lines changed Original file line number Diff line number Diff line change 6
6
use App \Models \User ;
7
7
use Illuminate \Support \Facades \Auth ;
8
8
use Illuminate \Support \Facades \Hash ;
9
+ use Illuminate \Support \Facades \Log ;
9
10
use Illuminate \Support \Str ;
10
11
use Livewire \Component ;
11
12
@@ -24,11 +25,25 @@ public function handlePurchaseRequest(array $data)
24
25
25
26
public function createCheckoutSession (string $ plan , ?User $ user = null )
26
27
{
27
- if (! ($ user ??= Auth::user ())) {
28
+ // If a user isn't passed into this method, Livewire will instantiate
29
+ // a new User. So we need to check that the user exists before using it,
30
+ // and then use the authenticated user as a fallback if the user is
31
+ // logged in.
32
+ $ user = $ user ?->exists ? $ user : Auth::user ();
33
+
34
+ if (! $ user ) {
35
+ // TODO: return a flash message or notification to the user that there
36
+ // was an error.
37
+ Log::error ('Failed to create checkout session. User does not exist and user is not authenticated. ' );
38
+
28
39
return ;
29
40
}
30
41
31
42
if (! ($ subscription = Subscription::tryFrom ($ plan ))) {
43
+ // TODO: return a flash message or notification to the user that there
44
+ // was an error.
45
+ Log::error ('Failed to create checkout session. Invalid subscription plan name provided. ' );
46
+
32
47
return ;
33
48
}
34
49
You can’t perform that action at this time.
0 commit comments