I was thinking about your case and decided that it’s worth telling you about a possibility which doesn’t require you to use a paid plugin.
Unfortunately, in this case client is able to choose bank transfer with the shipping method for COD as the Woocommerce doesn’t provide default option to disable specific payment methods for specific shipping methods.
You can follow my instructions below.
First, create 2 shipping zones and add the postcodes to the zones. You can read more about creating zones here: https://docs.woocommerce.com/document/setting-up-shipping-zones/#section-3
After that, go to the zones and create shipping methods in each zone. First one would be Shipping A, second one would be Shipping A – COD.
At last you need to create rules in the shipping methods with the Flexible Shipping. You can set different prices in each of them.
If client will come from the first zone, he will see the shipping methods only from the first zone.
Best regards,
?ukasz