Find the answer to your question
Question: Sometimes GetItemTransactions does not return the international ShippingServiceCost in the SelectedShippingService container for international buyers. Why does this happen?
Answer: 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.
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.
- Knowledge Base Article: ShippingServiceSelectedCost is returned as 0 in GetItemTransactions
How well did this answer your question?
Answers others found helpful
- ShipToLocations errors when listing with Domestic and/or International Shipping Service Options
- How do I remove or modify only my InternationalShippingServiceOption(s), but not my "domestic" shipping services?
- I am getting an error message about "Input data for tag <Item.ShippingRegions> is invalid or missing"
- ShippingServiceSelectedCost is returned as 0 in GetItemTransactions and GetSellerTransactions
- How do the FreeShipping and Priority tags work in ShippingServiceOptions in an AddItem call?