A plane can be defined as the set of all vectors $\vec{x}$ satisfying $\vec{n}_{\rm Plane}\cdot(\vec{x} - \vec{x}_{\rm Plane}) = 0$ where $\vec{x}_{\rm Plane}$ is any point in the plane and $\vec{n}_{\rm Plane}$ is a normal vector.
A ray can be parameterized as $\vec{x}(t) = \vec{x}_{\rm Ray} + t\vec{D}_{\rm Ray}$ where $\vec{x}_{\rm Ray}$ is a point on the ray, $\vec{D}_{\rm Ray}$ is the direction vector and $t$ ranges over all real numbers from $-\infty$ to $\infty$.
To find the intersection point we simply substitute the equation for the ray into the equation for the plane and solve for $t$ to find
$$t_{\rm Intersection} = \frac{\vec{n}_{\rm Plane}\cdot (\vec{x}_{\rm Plane}-\vec{x}_{\rm Ray})}{\vec{n}_{\rm Plane}\cdot\vec{D}_{\rm Ray}}$$
Using this value for $t$ in the ray equation gives you the intersection point
$$\vec{x}_{\rm Intersection} = \vec{x}_{\rm Ray} + \frac{\vec{n}_{\rm Plane}\cdot (\vec{x}_{\rm Plane}-\vec{x}_{\rm Ray})}{\vec{n}_{\rm Plane}\cdot\vec{D}_{\rm Ray}}\vec{D}_{\rm Ray}$$
Note that if $\vec{n}_{\rm Plane}\cdot\vec{D}_{\rm Ray} = 0$ then there is no intersection point (or the whole ray lies in the plane).