Here's an approach that's easy to code. Let
$
f(T,S,v,K)
$
denote the price of a European call in the Heston model with time-to-expire
$T$, initial price $S$, initial volatility $v$, strike $K$. First,
use the tower property to transform the pricing problem:
\begin{align*}
V_{0} & =\mathbb{E}\left[e^{-r\left(t+\tau\right)}\left(S_{t+\tau}/S_{t}-K\right)^{+}\right]\\
 & =\mathbb{E}\left[\frac{e^{-rt}}{S_{t}}\mathbb{E}\left[e^{-r\tau}\left(S_{t+\tau}-KS_{t}\right)^{+}\mid\mathcal{F}_{t}\right]\right]\\
 & =\mathbb{E}\left[\frac{e^{-rt}}{S_{t}}f(\tau,S_{t},v_{t},KS_{t})\right].
\end{align*}
Now perform a Monte-Carlo simulation to approximate the above (the advantage here is that you can use existing procedures to compute $f$).