A marketplace for Chemicals is under development of vteam #577 that allows a chemical seller and potential chemical buyers to transact chemical products with each other. Now our client wanted to ship chemical products more than 150 LB from seller position to buyer position without the involvement of both (buyer & seller) in shipping process. According to the scenario, buyer and shipper addresses can never be constant.
Detailed requirements about the Shipping Module were not provided to vteams engineer Khurram Rafique because client had no idea about it. Khurram himself researched on all types of shipping services and decided Freight LTL Economy services the best for client’s requirement.
This marketplace was developed using PHP and Laravel 5.1 (including Gulp) framework. Following libraries were integrated for the development of marketplace’s shipping module:
- FedEx shipping web services
- FedEx rates web services
- FedEx address validation web services
In shipping module, an error encountered while getting rates of FedEx LTL Freight shipping services. The product was shipped from seller address to buyer address but both addresses were not associated with client’s FedEx account address. After FedEx web services integration, a shipment was requested for Freight shipping with seller (as shipper address) and buyer (as recipient address). In response to this request, following unexpected error occurred:
“The shipping address provided does not match the account address.”
Reason being that FedEx web services were taking account address as shipper address.
To resolve this issue, Khurram implemented FedEx LTL shipping via third party account to use a variable for shipper and recipient addresses.
As a variable, a payer account (Bill to third party account) was added that allowed FedEx web services to take shipper and recipient addresses other than the account address.