Hi,
In addition to the suggestions from Ryan and Josh, you would also need to purchase an SSL certificate as the web site would involve online payment system. This would ensure payment security. Install the certificate onto the web hosting plan.
You can start with a shared hosting and later if you feel can upgrade to a VPS or a dedicated server. But if you are sure that your site would grow in terms of traffic and the shared server resources would start falling short. then I would stress on choosing a VPS plan, this would avoid any downtime when upgrading to a VPS from a shared plan. Upgrading from one VPS plan to the other is simple than from shared to VPS.
Remember every minute is precious in an online business.
Regards,
Matt