External shipping

Adding support for external shipping providers
if the order of ids changes this will fail - better use "array_diff(arr1, arr2)"