[Issue] Predefined eBay handling times


Recommended Posts


atm for ebay you can just set predefined handling times from policy ... what is a BIG downside!


  • you want to sell products that are not always in stock
  • you want to have the "get-it-fast" option IF they are in stock
  • you want to have the correct handling time IF they are NOT in stock
  • you sell ONE product with several eBay-listings (different titles)
  • you sell ONE product on different accounts (multistore-setup)


  • 3 accounts
  • 3 eBay-Listings per product

If this ONE product become in stock/out of stock you have to change 9 policies + revise the product manually if you want to show correct handling times!


  • add the ability to set handling time from magento attribute. I know eBay has predefined handling times (that may differ from maketplaces), but you can get them from eBay-API
  • track selected attribute and set value to the next highest valid (eBay) value
  • automatically revise listing if attribute value changes


Basic sample code the would handle "invalid" attribute values ...

require_once './app/Mage.php';

$marketplaceId = 8; // ebay germany
$validValueFromCustomAttribute = 5;
$invalidValueFromCustomAttribute = 12;
$outOfRangeValueFromCustomAttribute = 100;

validateDispatchTime($marketplaceId, $validValueFromCustomAttribute);
echo '<br>';
validateDispatchTime($marketplaceId, $invalidValueFromCustomAttribute);
echo '<br>';
validateDispatchTime($marketplaceId, $outOfRangeValueFromCustomAttribute);

function validateDispatchTime($marketplaceId, $customValue)
    $eBayDispatchTime = Mage::getModel('M2ePro/Ebay_Marketplace')->setId($marketplaceId)->getDispatchInfo();
    $eBayDispatchTime = array_map(function($element){return $element['ebay_id'];}, $eBayDispatchTime);

    $isValid = false;
    if (in_array($customValue, $eBayDispatchTime)) {
        echo $customValue . ' is valid';
        $isValid = true;
    } else {
        foreach ($eBayDispatchTime as $time) {
            if ($customValue < $time) {
                echo $customValue . ' is invalid, use eBays ' . $time . ' instead for listing';
                $isValid = true;

    if (!$isValid) {
        echo 'ABORT: ebay does not support handling times > ' . $time;


Link to comment
Share on other sites

  • 3 months later...

As far as I know, old M2E Pro version allowed setting up handling time by selecting a Magento attribute. The option was removed from the extension at some point because of eBay business policy. Apparently, there is a configuration conflict. 

Link to comment
Share on other sites

What business policies do you mean?

You can validate selected attribute value against ebays dispatch times (and force to set it to a valid dispatch time) as in the (poor) sample above.

Please bring back this feature! It is impossible to manually change dispatch times for hundreds of products.

Link to comment
Share on other sites

  • 1 month later...

I find myself in desperate need for this feature for one of my clients (Magento 1).

According to the changelog this feature has been removed in version 6.1.7.
It seems that a lot of the extensions architecture also changed since then.

So, my question here is (theoretically speaking) would individual dispatch/handling times still work if one would, let's say, make a few adjustments to the extension so that the handling time would be passed as in versions prior to 6.1.7?
Or is there some kind of validation now happening on the M2E servers, so that passed handling times will be ignored anyway or said requests will fail?


  • Upvote 1
Link to comment
Share on other sites

  • 6 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.