Find the answer to your question
Recommended implementation for order management using the Trading API
You can get your orders based on one of these filters:
|Filter||Use Case||Filter Sample|
|Order creation time||Get the information about an order only for the first time when it is created. No subsequent updates are required.|
|Order modification time||Get all updates about an order such as updates to payment & shipping status||<ModTimeFrom>2022-09-22T01:00:15.000Z</ModTimeFrom>|
|OrderID||Get information about specific orders||<OrderIDArray>|
Here are the recommended steps for getting the transaction information and managing your orders:
- Make a call to GetOrders every 15 minutes with:
- DetailLevel set to ReturnAll
- filter that is appropriate for your use case (either creation or modified time) and use it consistently in all your calls
- set "Create / Mod TimeFrom" to the last time you made the call minus 2 minutes. You are going back 2 mins to ensure that no orders are missed.
- set "Create / Mod TimeTo" time to the current time minus 2 minutes. You are going back to ensure that you do not pick up any orders that are still in the process of being completed.
- Iterate through each order
- Check for Order.CheckoutStatus.Status
- If it is Complete then it is ready for post sales processing
- An order many contain one or more line items. Iterate through each transaction in TransactionArray to get the item information
- Next, check the payment method used during checkout and the payment status using the fields CheckoutStatus.PaymentMethod and CheckoutStatus.eBayPaymentStatus
- If the payment method is one of the integrated methods on eBay, such as PayPal, Moneybookers(Skrill), ProPay, IntegratedMerchantCreditCard or Paymate, and the eBayPaymentStatus is NoPaymentFailure then the mark the order as paid. Additionally, you should look for the ExternalTransactionID and PaidTime for the purposes of reconciliation with the payment system.
- If the payment method is not integrated on eBay such as Other, the eBayPaymentStatus will be NoPaymentFailure, however the seller will need to confirm if the payment is complete. The ExternalTransactionID field will have a value of SIS. Please see this article for details:
What does SIS mean?
- If Checkout is not Complete, then the transaction is not completely ready for post sales processing
- You need to allocate the inventory for the transaction, but do need to wait for the checkout and payment information.
- Some of it can change from the defaults such as the buyer may choose to an address other than their default address during the checkout process.
- Other data points will remain unchanged such as item details, the OrderLineItemID, Quantity Purchased; which you can use for managing your inventory, but not fulfillment.
- To determine the final value fee, wait till the CheckoutStatus turns to Complete
- If HasMoreOrders field in the response is true, increment the PageNumber and make the call and iterate through the orders as above.
When you are in the process of downloading your orders, ensure that you do not make any updates such as marking items as paid or shipped using the website or CompleteSale. Please see the following KB article for more details:
Transactions missing in GetSellerTransactions response
Can the composition of an order change?
As long as an order is not in the Completed state, its composition can change.
Here are a few examples:
· Buyer Purchases 2 items from the same seller - ItemID1, ItemID2
· Seller creates an order OrderID1 containing ItemID1 & ItemID2, so that buyer can combine payments of both the items
· Buyer chooses to pay for items individually
· OrderID1 becomes defunct
· Buyer Purchases 3 items from the same seller - ItemID1, ItemID2, ItemID3
· Seller creates an order OrderID1 containing ItemID1, ItemID2 & ItemID3, so that buyer can combine payments of both the items
· Buyer completes checkout and pays for ItemID1 & ItemID2
· OrderID1 becomes defunct, new Order OrderID 2 is created for ItemID1 & ItemID2
· Since OrderID2 is in a Completed state, buyer or seller cannot add ItemID 3 to it.
· Buyer Pays for ItemID 3. This becomes a separate order OrderID3.
How well did this answer your question?
Answers others found helpful
- Best Practices for GetSellerEvents and GetSellerTransactions
- Incomplete or missing ShippingAddress returned in GetItemTransactions and GetSellerTransactions
- How do I set the Paid and Shipped Status for a Transaction in MyeBay?
- GetItemTransactions, GetOrders, GetOrderTransactions & GetItem returns "Invalid Request" for Buyer Email
- Transactions missing in GetSellerTranasctions or Orders missing in GetOrders response