The real problem is the delivery charge relative to the item price. With the size of a full grocery order the fee could be higher but still be acceptable. Perhaps a minimum flat rate for small orders then a percentage of the order for larger orders would work. Online payment would cut down the risk of payment issues, though obviously it could not be the only option.
Bookmarks