Andrei,
It appears that the nopC core ShippingService sets the ShippingRateComputationMethodSystemName:
\Libraries\Nop.Services\Shipping\ShippingService.cs
// add this scrm's options to the result
if (srcmShippingOptions != null)
{
foreach (var so in srcmShippingOptions)
{
so.ShippingRateComputationMethodSystemName = srcm.PluginDescriptor.SystemName;
So, even if ShippingDirector wants to set it (based on calling carrier plugin - e.g. Shipping.UPS), it will be overwritten by the core. Would you please consider making a core code change- e.g. add bold line:
if (String.IsNullOrEmpty(so.ShippingRateComputationMethodSystemName))
so.ShippingRateComputationMethodSystemName = srcm.PluginDescriptor.SystemName;
Otherwise, Tracking won't work with SD, because the core uses the system name on completed orders when Tracking info is requested.
Thanks