Hi David,
Whilst it may not feel right to you, it really does depend on what you contracted with service provider A.
Therefore, what does your service contract say about:
- Who exactly is to provide the services?
- If the contract is silent on this, does it expressly prohibit service provider A from sub-contracting out?
If not, then unfortunately, they are not in breach by sub-contracting to service provider B to actually do the work. If you do not pay the agreed fee, however, then you will be in breach of the contract. It may not seem fair in hindsight but this is one of the risks of not properly negotiating a contract (or having a lawyer read through the service agreement).
A responsible service provider might notify you that they intend to contract the work to another person and either charge you a lower price or seek your consent before doing so. However, this is only good practice and not legally required.
Have you tried speaking with service provider A and telling them you do not wish them to sub-contract the work and rather, wish for them to do this work? If they are considering having an on-going relationship with you, then they should consider it. Perhaps there is something in negotiations/emails that show the service agreement price was agreed on the condition the work be completed by service provider A?