Reputation: 552
I am using FEDEX API to get shipping labels from FEDEX using their ShipService WSDL. I have integrated the functionality in my appication and successfully able to generate labels from FEDEX.
Due to a recent requirement, we needed to add ThirdParty as a payor option from our application. To implement this, i changed PaymentType from SENDER to THIRD_PARTY and also populated necessary fields like address, contact etc as per FEDEX API documentation.
payment.setPaymentType(PaymentType.THIRD_PARTY);
The service call is successful and i am getting valid response as well but the ShipmentRate details are missing when using THIRD_PARTY as Payor which was available when using SENDER as PaymentType. I require the Rate details for further processing in my application.
Below are the details which i get with SENDER PaymentType.
<v13:CompletedShipmentDetail>
<v13:ShipmentRating>
<v13:ActualRateType>PAYOR_ACCOUNT_PACKAGE</v13:ActualRateType>
<v13:ShipmentRateDetails>
<v13:RateType>PAYOR_ACCOUNT_PACKAGE</v13:RateType>
<v13:RateZone>4</v13:RateZone>
<v13:RatedWeightMethod>DIM</v13:RatedWeightMethod>
<v13:DimDivisor>166</v13:DimDivisor>
<v13:FuelSurchargePercent>4.25</v13:FuelSurchargePercent>
<v13:TotalBillingWeight>
<v13:Units>LB</v13:Units>
<v13:Value>17.0</v13:Value>
</v13:TotalBillingWeight>
<v13:TotalDimWeight>
<v13:Units>LB</v13:Units>
<v13:Value>17.0</v13:Value>
</v13:TotalDimWeight>
<v13:TotalBaseCharge>
<v13:Currency>USD</v13:Currency>
<v13:Amount>11.32</v13:Amount>
</v13:TotalBaseCharge>
<v13:TotalFreightDiscounts>
<v13:Currency>USD</v13:Currency>
<v13:Amount>0.0</v13:Amount>
</v13:TotalFreightDiscounts>
<v13:TotalNetFreight>
<v13:Currency>USD</v13:Currency>
<v13:Amount>11.32</v13:Amount>
</v13:TotalNetFreight>
<v13:TotalSurcharges>
<v13:Currency>USD</v13:Currency>
<v13:Amount>9.48</v13:Amount>
</v13:TotalSurcharges>
<v13:TotalNetFedExCharge>
<v13:Currency>USD</v13:Currency>
<v13:Amount>20.8</v13:Amount>
</v13:TotalNetFedExCharge>
<v13:TotalTaxes>
<v13:Currency>USD</v13:Currency>
<v13:Amount>0.0</v13:Amount>
</v13:TotalTaxes>
<v13:TotalNetCharge>
<v13:Currency>USD</v13:Currency>
<v13:Amount>20.8</v13:Amount>
</v13:TotalNetCharge>
<v13:TotalRebates>
<v13:Currency>USD</v13:Currency>
<v13:Amount>0.0</v13:Amount>
</v13:TotalRebates>
<v13:Surcharges>
<v13:SurchargeType>ADDITIONAL_HANDLING</v13:SurchargeType>
<v13:Level>PACKAGE</v13:Level>
<v13:Description>Additional handling surcharge - dimension</v13:Description>
<v13:Amount>
<v13:Currency>USD</v13:Currency>
<v13:Amount>9.0</v13:Amount>
</v13:Amount>
</v13:Surcharges>
<v13:Surcharges>
<v13:SurchargeType>FUEL</v13:SurchargeType>
<v13:Level>PACKAGE</v13:Level>
<v13:Description>FedEx Ground Fuel</v13:Description>
<v13:Amount>
<v13:Currency>USD</v13:Currency>
<v13:Amount>0.48</v13:Amount>
</v13:Amount>
</v13:Surcharges>
</v13:ShipmentRateDetails>
</v13:ShipmentRating>
<v13:CompletedPackageDetails>
<v13:SequenceNumber>1</v13:SequenceNumber>
<v13:TrackingIds>
<v13:TrackingIdType>FEDEX</v13:TrackingIdType>
<v13:TrackingNumber>794662859722</v13:TrackingNumber>
</v13:TrackingIds>
<v13:GroupNumber>0</v13:GroupNumber>
<v13:PackageRating>
<v13:ActualRateType>PAYOR_ACCOUNT_PACKAGE</v13:ActualRateType>
<v13:PackageRateDetails>
<v13:RateType>PAYOR_ACCOUNT_PACKAGE</v13:RateType>
<v13:RatedWeightMethod>DIM</v13:RatedWeightMethod>
<v13:BillingWeight>
<v13:Units>LB</v13:Units>
<v13:Value>17.0</v13:Value>
</v13:BillingWeight>
<v13:DimWeight>
<v13:Units>LB</v13:Units>
<v13:Value>17.0</v13:Value>
</v13:DimWeight>
<v13:BaseCharge>
<v13:Currency>USD</v13:Currency>
<v13:Amount>11.32</v13:Amount>
</v13:BaseCharge>
<v13:TotalFreightDiscounts>
<v13:Currency>USD</v13:Currency>
<v13:Amount>0.0</v13:Amount>
</v13:TotalFreightDiscounts>
<v13:NetFreight>
<v13:Currency>USD</v13:Currency>
<v13:Amount>11.32</v13:Amount>
</v13:NetFreight>
<v13:TotalSurcharges>
<v13:Currency>USD</v13:Currency>
<v13:Amount>9.48</v13:Amount>
</v13:TotalSurcharges>
<v13:NetFedExCharge>
<v13:Currency>USD</v13:Currency>
<v13:Amount>20.8</v13:Amount>
</v13:NetFedExCharge>
<v13:TotalTaxes>
<v13:Currency>USD</v13:Currency>
<v13:Amount>0.0</v13:Amount>
</v13:TotalTaxes>
<v13:NetCharge>
<v13:Currency>USD</v13:Currency>
<v13:Amount>20.8</v13:Amount>
</v13:NetCharge>
<v13:TotalRebates>
<v13:Currency>USD</v13:Currency>
<v13:Amount>0.0</v13:Amount>
</v13:TotalRebates>
<v13:Surcharges>
<v13:SurchargeType>ADDITIONAL_HANDLING</v13:SurchargeType>
<v13:Level>PACKAGE</v13:Level>
<v13:Description>Additional handling surcharge - dimension</v13:Description>
<v13:Amount>
<v13:Currency>USD</v13:Currency>
<v13:Amount>9.0</v13:Amount>
</v13:Amount>
</v13:Surcharges>
<v13:Surcharges>
<v13:SurchargeType>FUEL</v13:SurchargeType>
<v13:Level>PACKAGE</v13:Level>
<v13:Description>FedEx Ground Fuel</v13:Description>
<v13:Amount>
<v13:Currency>USD</v13:Currency>
<v13:Amount>0.48</v13:Amount>
</v13:Amount>
</v13:Surcharges>
</v13:PackageRateDetails>
</v13:PackageRating>
<v13:SignatureOption>SERVICE_DEFAULT</v13:SignatureOption>
</v13:CompletedPackageDetails>
</v13:CompletedShipmentDetail>
Below is the response i am getting currently in case of THIRD_PARTY Payment method.(Missing the above shown rate details)
<v13:CompletedShipmentDetail>
<v13:UsDomestic>true</v13:UsDomestic>
<v13:CarrierCode>FDXG</v13:CarrierCode>
<v13:PackagingDescription>YOUR_PACKAGING</v13:PackagingDescription>
<v13:OperationalDetail>
<v13:OriginLocationNumber>928</v13:OriginLocationNumber>
<v13:DestinationLocationNumber>952</v13:DestinationLocationNumber>
<v13:TransitTime>TWO_DAYS</v13:TransitTime>
<v13:IneligibleForMoneyBackGuarantee>false</v13:IneligibleForMoneyBackGuarantee>
<v13:DeliveryEligibilities>SATURDAY_DELIVERY</v13:DeliveryEligibilities>
<v13:ServiceCode>92</v13:ServiceCode>
</v13:OperationalDetail>
<v13:CompletedPackageDetails>
<v13:SequenceNumber>1</v13:SequenceNumber>
<v13:TrackingIds>
<v13:TrackingIdType>FEDEX</v13:TrackingIdType>
<v13:TrackingNumber>TRACKING_NUMBER</v13:TrackingNumber>
</v13:TrackingIds>
<v13:GroupNumber>0</v13:GroupNumber>
<v13:OversizeClass>OVERSIZE_2</v13:OversizeClass>
<v13:OperationalDetail>
<v13:OperationalInstructions>
<v13:Number>2</v13:Number>
<v13:Content>TRK#</v13:Content>
</v13:OperationalInstructions>
<v13:OperationalInstructions>
<v13:Number>7</v13:Number>
<v13:Content>9622041730008000297100794662859700</v13:Content>
</v13:OperationalInstructions>
<v13:OperationalInstructions>
<v13:Number>8</v13:Number>
<v13:Content>539J2/3F56/31D0</v13:Content>
</v13:OperationalInstructions>
<v13:OperationalInstructions>
<v13:Number>10</v13:Number>
<v13:Content>7946 6285 9700</v13:Content>
</v13:OperationalInstructions>
<v13:OperationalInstructions>
<v13:Number>15</v13:Number>
<v13:Content>95206</v13:Content>
</v13:OperationalInstructions>
<v13:OperationalInstructions>
<v13:Number>18</v13:Number>
<v13:Content>9622 0417 3 (000 800 0297) 1 00 7946 6285 9700</v13:Content>
</v13:OperationalInstructions>
<v13:Barcodes>
<v13:BinaryBarcodes>
<v13:Type>COMMON_2D</v13:Type>
<v13:Value>REMOVED_BARCODE_DATA</v13:Value>
</v13:BinaryBarcodes>
<v13:StringBarcodes>
<v13:Type>FEDEX_1D</v13:Type>
<v13:Value>REMOVED_BARCODE_DATA</v13:Value>
</v13:StringBarcodes>
</v13:Barcodes>
<v13:GroundServiceCode>417</v13:GroundServiceCode>
</v13:OperationalDetail>
<v13:Label>
<v13:Type>OUTBOUND_LABEL</v13:Type>
<v13:ShippingDocumentDisposition>RETURNED</v13:ShippingDocumentDisposition>
<v13:ImageType>PNG</v13:ImageType>
<v13:Resolution>200</v13:Resolution>
<v13:CopiesToPrint>1</v13:CopiesToPrint>
<v13:Parts>
<v13:DocumentPartSequenceNumber>1</v13:DocumentPartSequenceNumber>
<v13:Image>REMOVED_IMAGE_DATA</v13:Image>
</v13:Parts>
</v13:Label>
<v13:SignatureOption>SERVICE_DEFAULT</v13:SignatureOption>
</v13:CompletedPackageDetails>
Do i need to send some flag in request to receive the rate details for THIRD_PARTY Payment? Or will FEDEX not send the details for shipment rate in THIRD_PARTY payment cases?
Any help would be appreciated.
Thanks
Upvotes: 1
Views: 1217
Reputation: 361
For me is not working. No matter what I submit for <vs:RateRequestTypes></vs:RateRequestTypes>
(LIST, PREFERRED or NONE) I am always getting the error message "Unable to obtain courtesy rates". I wonder if this is not working because I am still using the testing environment...
Upvotes: 0
Reputation: 552
Received response from FEDEX support team as stated below.
"In answer to your question, RateDetails are not returned for either RECIPIENT or THIRD_PARTY billing. This is considered private customer information and will only be provided for the SENDER account. This is working as designed."
Hope it saves someone's time facing similar issue :).
Upvotes: 5