I think there is missing breaking change in Commerce 11.
IPaymentPlugin implementations are not resolved anymore through the service locator, so now you'll need a parameterless ctor.
In Commerce 10 IPaymentPlugin was resolved in IPaymentProcessorExtensions. In Commerce 11 it's done through the DefaultPaymentProcessor and Activator.CreateInstance.
Is it by design? Or can this be filled as a bug? Because resolving through the service locator is much cleaner, as I like to use ctor injection in my impl.
Sorry for a very late reply. We addressed this issue in Commerce 12 and make the constructors easier to use. We also made sure to document it this time.