Skip to main content
Published: October 04 2006, 11:47:00 AMUpdated: November 28 2020, 2:50:27 PM

Sometimes GetItemTransactions does not return the international ShippingServiceCost in the SelectedShippingService container for international buyers. Why does this happen?


Summary

It is a product limitation that GetItemTransactions and GetSellerTransactions may not return the correct ShippingServiceSelected.ShippingServiceCost for international buyers based on their default shipping address. You should not use the information returned in ShippingServiceSelected till the buyer has completed checkout. Once the buyer completes checkout, it will return the correct information if the transaction is not a part of an order.



Detailed Description


Consider that you listed an Item on eBay US for a US seller with the following shipping services:
<ShippingDetails>
  <ShippingServiceOptions>
    <ShippingService>USPSParcel</ShippingService>
    <ShippingServiceCost currencyID="USD">23.0</ShippingServiceCost>
    <ShippingServiceAdditionalCost currencyID="USD">0.0</ShippingServiceAdditionalCost>
    <ShippingServicePriority>1</ShippingServicePriority>
  </ShippingServiceOptions>
  <InternationalShippingServiceOption>
    <ShippingService>UPSWorldWideExpress</ShippingService>
    <ShippingServiceCost currencyID="USD">20.0</ShippingServiceCost>
    <ShippingServiceAdditionalCost currencyID="USD">0.0</ShippingServiceAdditionalCost>
    <ShippingServicePriority>1</ShippingServicePriority>
    <ShipToLocation>DE</ShipToLocation>
  </InternationalShippingServiceOption>
</ShippingDetails>

Now lets say a German buyer purchases the item and you call GetItemTransactions / GetSellerTransactions before the buyer completes checkout. You will most likely see the following in the ShippingServiceSelected:
<Status>
  <eBayPaymentStatus>NoPaymentFailure</eBayPaymentStatus>
  <CheckoutStatus>CheckoutIncomplete</CheckoutStatus>
  <LastTimeModified>2006-10-04T18:14:29.000Z</LastTimeModified>
  <PaymentMethodUsed>None</PaymentMethodUsed>
  <CompleteStatus>Incomplete</CompleteStatus>
  <BuyerSelectedShipping>false</BuyerSelectedShipping>
</Status>
<TransactionID>0</TransactionID>
<TransactionPrice currencyID="USD">10.0</TransactionPrice>
<BestOfferSale>false</BestOfferSale>
<ShippingServiceSelected>
  <ShippingInsuranceCost currencyID="USD">0.0</ShippingInsuranceCost>
  <ShippingService>USPSParcel</ShippingService>
  <ShippingServiceCost currencyID="USD">23.0</ShippingServiceCost>
</ShippingServiceSelected>
Instead of selecting UPSWorldWideExpress, it selects the domestic shipping service. The key to this lies in the Status.CheckoutStatus tag. If it is CheckoutIncomplete, you should ignore the information. It is only when it changes to CheckoutComplete that you should process the information.

If you need the information prior to Checkout, you need to look at the Buyer's default Shipping Address returned in the response, and try and match a ShippingService for that address. In our example, since the Buyer has a German Shipping Address, it would be UPSWorldWideExpress and the ShippingServiceCost would be USD 20.



Additional Resources

How well did this answer your question?
Answers others found helpful