Was checking Samsung Galaxy S7 for a friend and looks like this is best deal I could find so thought of sharing this with the community.
Choose Pay Monthly tariff for 500MB data, 500 mins, unlimited text for 24 month @ £33/month with £9.99 upfront cost. In this cost £14 is for airtime which you can cancel anytime. Device cost is £19 a month (with £9.99 upfront) totalling £465.99. Cheapest I can find for device. You can either keep paying monthly at 0% APR or pay off upfront whichever you prefer.
O2 customer support has been good to me (compared to Vodafone atleast) and I bought LG G5 earlier this year but returned and support was good enough. Sorting this deal with them shouldn't be very stressful, neither should be unlocking if required.
Don't forget quidco/topcashback.
FYI O2 "Refresh" contract comes in two part, each are independent. You can cancel either. That's why contract is split in two parts, air time and handset.
You can check terms and condition and also Confirm with support before making a purchase. 15 days no fuss return is always there.