getHeader('x-user-id'); $res = QrTokenService::generateToken($userId); if (!$res['success']) { Response::forbidden($res['message']); } Response::success($res, 'Dynamic QR token generated.'); } /** * POST /api/v1/qr/verify-token * Scanned by hospital/hotel front desk or verification portal. */ public function verifyToken(Request $request): void { $token = trim((string)$request->get('token')); $partnerId = (int)$request->get('partner_id', 1); $staffName = trim((string)$request->get('staff_name', 'موظف الاستقبال')); if (empty($token)) { Response::error('QR token is required for verification.'); } $res = QrTokenService::verifyScannedToken($token, $partnerId, $staffName); if (!$res['success']) { Response::error($res['message'], 400); } Response::success($res, 'Member verified successfully.'); } }