Magento <= 2.2.6 uses a misspelled method \Magento\Shipping\Model\Carrier\AbstractCarrier::proccessAdditionalValidation()
:
Notice the misspelled word «proccess».
Magento 2.2.6 tries to fix it with the following commit:
But the fix is low-quality because it did not update the \Magento\Shipping\Model\Carrier\AbstractCarrierInterface
interface: the interface still uses the proccessAdditionalValidation
misspelling:
That is why a third-party shipping method will fail if it just implements the \Magento\Shipping\Model\Carrier\AbstractCarrierInterface
interface: the \Magento\Shipping\Model\Shipping::collectCarrierRates()
metod violates the interface and calls the processAdditionalValidation()
method which is absent in the interface.
How to fix
You should implement the processAdditionalValidation()
metod in your third-party shipping module. You can do it by analogy with the \Magento\Shipping\Model\Carrier\AbstractCarrier
class: