Skip to main content
Published: November 15 2006, 3:30:00 PMUpdated: November 28 2020, 3:02:08 PM

Why does GetSellerTransactions return the same transaction for more than 1 time period?

Why does GetSellerTransactions return the same transaction for more than 1 time period?

Summary

The transactions that are returned  by GetSellerTransactions depend on whether the last time they were modifed fall in the ModTime filter.  It is possible for a transaction to be modified at different time periods and cause it to show up multiple times in the response with the current state of the transaction.  The intention of this design is to help you keep track of changes to the state of the transaction.



Detailed Description

Lets take the following example:

Item1 is purchased on Nov 14th 2006, 4:00 pm GMT, but no payment is made as yet.

You make a call to GetSellerTransactions with the following ModTimeFilter at 2006-11-15T01:00:00.000Z :

<?xml version="1.0" encoding="utf-8"?>
<
GetSellerTransactionsRequest xmlns="urn:ebay:apis:eBLBaseComponents">
  <
ModTimeFrom>2006-11-14T00:00:00.000Z</ModTimeFrom>
  <
ModTimeTo>2006-11-15T00:00:00.000Z</ModTimeTo>
  <
Version>485</Version>
  <
RequesterCredentials>
    <
eBayAuthToken>*****</eBayAuthToken>
  </
RequesterCredentials>
</
GetSellerTransactionsRequest
>

The transaction for this item will be returned since the LastTimeModified is 2006-11-14T16:00:00.000Z with the following Status:<Status>
<
Status>
  <
eBayPaymentStatus>NoPaymentFailure</eBayPaymentStatus>
  <
CheckoutStatus>CheckoutIncomplete</CheckoutStatus>
  <
LastTimeModified>2006-11-14T16:00:00.000Z</LastTimeModified>
  <
PaymentMethodUsed>None</PaymentMethodUsed>
  <
CompleteStatus>Incomplete</CompleteStatus>
  <
BuyerSelectedShipping>false</BuyerSelectedShipping>
</
Status>

Subsequently, after getting the necessary details from the seller, the buyer completes checkout and pays for it on Nov 15th 2006 3:00 GMT

LastTimeModified for the transaction now becomes 2006-11-15T15:00:00.000Z

Now you make a call to GetSellerTransactions with the following ModTimeFilter :
  <ModTimeFrom>2006-11-15T00:00:00.000Z</ModTimeFrom>
  <
ModTimeTo>2006-11-16T00:00:00.000Z</ModTimeTo>

Since the
LastTimeModified falls in the ModTime filter range, the transaction is returned in this call also with the following status:
<Status>
  <
eBayPaymentStatus>NoPaymentFailure</eBayPaymentStatus>
  <
CheckoutStatus>CheckoutComplete</CheckoutStatus>
  <
LastTimeModified>2006-11-16T15:00:00.000Z</LastTimeModified>
  <
PaymentMethodUsed>PayPal</PaymentMethodUsed>
  <
CompleteStatus>Complete</CompleteStatus>
  <
BuyerSelectedShipping>true</BuyerSelectedShipping>
</
Status>


It will no longer be returned for the following filter:
  <ModTimeFrom>2006-11-14T00:00:00.000Z</ModTimeFrom>
  <
ModTimeTo>2006-11-15T00:00:00.000Z</ModTimeTo
>

When designing your application, you need to account for this to happen and build your application accordingly.


Version Info

The code example above was based on the versions specified below:

API Schema Version 485



Additional Resources

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