Hello,
We are setting up our first M2 store and in the process of setting/testing our shipping methods.
We have enabled both UPS and FedEx shipping methods. When we send a request for shipping rates, we get exact expected negotiated rates back from UPS, but only getting 'List Price Rates' back from FedEx. We are expecting our negotiated rates.
We have applied for production meter, key, etc. We have entered all account number, passcode, meter, key, etc accurately. It is still only returning 'List Rates' to us. We contacted FedEx and they see that the query they are receiving from us is for 'List Rates' and not negotiated.
We then went in and made slight modification to the module-fedex\Model\Carrier.php file to remove and reference to 'List Rates' and only have this now:
protected $_ratesOrder = [
'RATED_ACCOUNT_PACKAGE',
'PAYOR_ACCOUNT_PACKAGE',
'RATED_ACCOUNT_SHIPMENT',
'PAYOR_ACCOUNT_SHIPMENT',
];
We, refreshed CACHE and well, it is still returning List Rates.
Does anyone have any idea of how to fix this so it returns and shows FedEx Negotiated Rates?
Thanks in advance for your help and advice.
Best Regards,
Mike
HI,
Did you find a solution to this?
We regularly get rates that don't match what we would get through our logged-into-account rate read-out.
It's been frustrating for us as FedEx stated we should see the exact same rate through the Magento interface as we do through the FedEx site, however this is rarely the case. We also get a differential because the magento interface often does not see a business address as such and returns a Home Delivery, rather than Ground rate.
We've honestly given up on finding a solution and focused our efforts elsewhere....
insurance gets to be added to declared value by default . i had this issue as we don't add insurance to the value to keep the shipping cost low.
Thanks - I'll have to check that - I really need t gt on the phone with FedEx Support and compare several examples with them.....
You need to override
protected function _formRateRequest($purpose): array
of Fedex Model class and replace line no:420
'rateRequestType' => ['LIST']
to
'rateRequestType' => ['ACCOUNT']