Complex band pass filter
Take a (real-valued) low pass filter with impulse response $h_{LP}[n]$ and with cut-off frequency $(f_2-f_1)/2$, where $f_1$ and $f_2$ are the lower and upper band edges of the desired band pass filter. Define a center frequency $f_0=(f_1+f_2)/2$. Then a real-valued band pass filter is obtained by

$$h_{BP}[n]=2h_{LP}[n]\cos(2\pi f_0n)\tag{1}$$

Depending on the design of the low pass filter, the filter in $(1)$ can be identical to the one in your question.

If you want a complex-valued band pass filter with a pass band at positive frequencies (but not at negative frequencies), you simply have to modulate the low pass impulse response $h_{LP}[n]$ by a complex exponential instead of by a cosine:

$$h^c_{BP}=h_{LP}[n]e^{j2\pi f_0n}\tag{2}$$