Before talking about translations, I would like to discuss what we know and do not know from this sentence without further context or explanation regarding this particular store/market.
We know that:
1) the speaker bought lots of vegetables.
2) it is someone from the store that delivered the vegetables to the speaker's place/home. It is that someone who 届けた.
3) it is the speaker who received that service. It is the speaker who 届けてもらった.
4) the subject of the entire sentence is the unmentioned speaker. It is s/he who both 買った and 届けてもらった.
We do not know:
1) if the speaker expressly requested a delivery. It might be a routine service for the regular customers at this store.
Now, let us examine the two translations you listed.
a) Because I bought a lot of vegetables the shop keeper delivered them for me.
b) ....I had the shopkeeper deliver them.
I actually think both are valid translations in the sense that both express the same general idea as to what happened and who did what.
Does 「～～てもらう」 imply that a service has been requested?
No, it does not necessarily. The action-performer may offer one of his own will.
The subject of the original sentence is surely the unmentioned "I" while it is "the shop keeper" for the second half in your TL (a). I call both valid because I know it can be quite wordy/awkward to translate the "～～してもらう" construct into English by using the receiver of the service as the subject as in "I graciously received the kind service of having my vegetables delivered to my door by the market personnel.".
As long as you uderstand the sentence structure and the meaning of the original, it should be fine because valid translations can come in very different forms between two linguistically-unrelated languages like Japanese and English.