I have tried to ship with Fedex for India Reagan. And i face some challenges. Then i try to solve it, and i got some solution.
If your origin country is India and you are shipping destination also in India and other country.
For that you have to download RateService_v13.wsdl for fedex
you can get this file from this link
Download it and save it
app\code\core\Mage\Usa\etc\wsdl\FedEx\
Now go to the
app\code\core\Mage\Usa\Model\Shipping\Carrier\Fedex.php
and find
protected function _formRateRequest
Now change function body with
protected function _formRateRequest($purpose)
{
$r = $this->_rawRequest;
$ratesRequest = array(
'WebAuthenticationDetail' => array(
'UserCredential' => array(
'Key' => $r->getKey(),
'Password' => $r->getPassword()
)
),
'ClientDetail' => array(
'AccountNumber' => $r->getAccount(),
'MeterNumber' => $r->getMeterNumber()
),
'Version' => $this->getVersionInfo(),
'RequestedShipment' => array(
'DropoffType' => $r->getDropoffType(),
'ShipTimestamp' => date('c'),
'PackagingType' => $r->getPackaging(),
'Shipper' => array(
'AccountNumber' => $r->getAccount(),
'Address' => array(
'PostalCode' => $r->getOrigPostal(),
'CountryCode' => $r->getOrigCountry()
)
),
'Recipient' => array(
'AccountNumber' => $r->getAccount(),
'Address' => array(
'PostalCode' => $r->getDestPostal(),
'CountryCode' => $r->getDestCountry(),
'Residential' => (bool)$this->getConfigData('residence_delivery')
)
)
)
);
if($r->getDestCountry()=='IN'){
$ratesRequest['RequestedShipment']['ServiceType'] = 'STANDARD_OVERNIGHT';
$ratesRequest['RequestedShipment']['CustomsClearanceDetail'] = array(
'DutiesPayment' => array(
'PaymentType' => 'SENDER',
'Payor' => array(
'ResponsibleParty' => array(
'AccountNumber' => $r->getAccount(),
'Contact' =>array(
'ContactId' => 'sender Contact Id',
'PersonName' => 'Sender Name',
'Title' => 'ABC',
'CompanyName' => 'Sender Company Name',
'PhoneNumber' => '1234567890',
'PhoneExtension' => '91',
'PagerNumber' =>'12',
'FaxNumber' => '1234567890',
'EMailAddress' => 'mahesh@camstech.com'),
'Address' => array('StreetLines' => 'Test Sender Address Line',
'PostalCode' => $r->getOrigPostal(),
'CountryCode' => $r->getOrigCountry())
)
),
),
'DocumentContent' => 'NON_DOCUMENTS',
'CustomsValue' => array('Currency' => 'INR',
'Amount' => '100'),
'CommercialInvoice' => array('Purpose' => 'SOLD')
);
$ratesRequest['RequestedShipment']['RequestedPackageLineItems'] = array(
'SequenceNumber'=>1,
'GroupNumber'=>1,
'GroupPackageCount'=>1,
'Weight' => array(
'Value' => 1.0,
'Units' => 'KG'
),
'Dimensions' => array(
'Length' => 12,
'Width' => 12,
'Height' => 12,
'Units' => 'IN'
)
);
}else{
$ratesRequest['RequestedShipment']['CustomsClearanceDetail'] = array(
'CustomsValue' => array(
'Amount' => $r->getValue(),
'Currency' => $this->getCurrencyCode()
)
);
$ratesRequest['RequestedShipment']['TotalInsuredValue'] = array(
'Amount' => $r->getValue(),
'Currency' => $this->getCurrencyCode()
);
$ratesRequest['RequestedShipment']['ShippingChargesPayment'] = array(
'PaymentType' => 'SENDER',
'Payor' => array(
'AccountNumber' => $r->getAccount(),
'CountryCode' => $r->getOrigCountry()
)
);
$ratesRequest['RequestedShipment']['RateRequestTypes'] = 'LIST';
$ratesRequest['RequestedShipment']['PackageCount'] = '1';
$ratesRequest['RequestedShipment']['PackageDetail'] = 'INDIVIDUAL_PACKAGES';
$ratesRequest['RequestedShipment']['RequestedPackageLineItems'] = array(
'0' => array(
'Weight' => array(
'Value' => (float)$r->getWeight(),
'Units' => $this->getConfigData('unit_of_measure')
),
'GroupPackageCount' => 1,
)
);
if ($purpose == self::RATE_REQUEST_GENERAL) {
$ratesRequest['RequestedShipment']['RequestedPackageLineItems'][0]['InsuredValue'] = array(
'Amount' => $r->getValue(),
'Currency' => $this->getCurrencyCode()
);
} else if ($purpose == self::RATE_REQUEST_SMARTPOST) {
$ratesRequest['RequestedShipment']['ServiceType'] = self::RATE_REQUEST_SMARTPOST;
$ratesRequest['RequestedShipment']['SmartPostDetail'] = array(
'Indicia' => ((float)$r->getWeight() >= 1) ? 'PARCEL_SELECT' : 'PRESORTED_STANDARD',
'HubId' => $this->getConfigData('smartpost_hubid')
);
}
}
return $ratesRequest;
}
Hello ,
ReplyDeleteThis solution not working for me
Same for me
ReplyDeleteCould you please help for me? on this issue? I am stuck with this
ReplyDeletesame
ReplyDeleteits not working for me.could you please help me?
ReplyDeleteThis comment has been removed by the author.
ReplyDeletethis is not working for me kindly send me the actual code for
ReplyDeletemagento 1.9.3 at pradeepkmr1701@gmail.com
We have provide the services about international tracking courier
ReplyDeletetracking courier
fedex tracking
Such a great blog post! You have a good knowledge about new development techniques and I am really glad to read this post. Thanks for sharing!
ReplyDeleteWhite Label Fantasy Sports Software