where('payment_provider', 'paddle') ->whereNotNull('external_subscription_id') ->orderByDesc('created_at') ->limit(20) ->get(); foreach ($licenses as $license) { $result = [ 'license' => $license, 'remote_status' => null, 'result' => $configured ? 'unknown' : 'not configured', 'detail' => null, ]; if ($configured) { try { $subscription = $paddle->subscription((string) $license->external_subscription_id); $result['remote_status'] = (string) ($subscription['status'] ?? 'unknown'); $result['result'] = $result['remote_status'] === (string) $license->subscription_status ? 'matched' : 'different'; } catch (Throwable $e) { report($e); $result['result'] = 'lookup failed'; $result['detail'] = $e->getMessage(); } } $rows[] = $result; } return view('licensing::admin.paddle-reconciliation', compact('rows', 'configured', 'environment')); } }