1. Good job. Magneto is the best platform for eCommerce website. Magneto Website provide multiple features and functionality as compere to other platform.The given post is sharing a very good live example with us. Thanks again for this good job.

    • Having now used Redis for some months I would highly recommend using just this, and if you need to share sessions use redis sessions, APC does not support full cache tagging and as a result your still using the slow file system, and because it does not support tagging just like memcache you will have to clear your entire cache each time your update the site. Having said that you could run APC as well in general without defining it as the cache backend in Magento.

  2. Magento 1.8.1 and above versions aren’t compatible by default with the Varnish cache. Many people who upgraded their web stores to latest versions of Magento and have invested in a hosting service that uses Varnish have been left out to take full advantage.
    A System Engineer from Cloudways has written a detailed post highlighting four ways on how to properly configure Varnish cache on Magento 1.8.1 and above versions to increase site performance by 92%. More Details here: http://www.cloudways.com/blog/how-to-configure-varnish-cache-magento/

    • 404 probably means the module is not loaded correctly as your routes have not been loaded, check the naming of your class definitions and file structure. Also check in api2.xml


      That you are calling the route with or without the / at the end however you defined it.

  3. Looks a really good solution, am looking to implement something similar. Do you have a code example of your cart.phtml to match this?

    • Something like this where small-16 is your full width grid, I use Foundation.

       <div class="small-16">
                              function getDeleteUrl($item)
                                  $params = array(
                                      Mage_Core_Controller_Front_Action::PARAM_NAME_URL_ENCODED => Mage::helper('core')->urlEncode(Mage::getUrl('checkout/cart'))
                                  return Mage::getUrl('checkout/cart/delete', $params);
                              $cartItems = Mage::getSingleton('checkout/session')->getQuote()->getAllItems();
                              foreach ($cartItems as $item){
                                  <div class="mobile-product">
                                      <a href="<?php echo getDeleteUrl($item)? rel="nofollow">" title="Remove item" class="btn-remove btn-remove2">Remove item</a>
                                      <img src="<?php echo $item->getProduct()->getThumbnailUrl(); ?>" width="50" height="50" /> <h6><?php echo $item->getName(); ?></h6>
                                      <p class="price"><?php echo $item->getQty(); ?> x <?php echo $this->helper('checkout')->formatPrice($item->getPrice()); ?></p>
                                      <div class="clearfix"></div>
                              <? } ?>
  4. Hiya Joel,
    we have got a design for a Magento community Edition fully responsive website and we now need to developer to build the site and integrate with Sage 50, our 3rd part warehouse, Mailchimp, social media, Sage Pay (or equivalent).

    I was interested in your blog as our site will have e-commerce for consumer but I would also like to add a Trade Login for our trade customers to place their orders through the site

    Can we meet up and discuss?

    Thanks Martine

  5. Hi for the last statement in your article: “Review step not place order not working”, what is the path of this template file? I wasn’t sure where I was looking for that code.

  6. Easier way to have wrote the function would have been …

    function is_wholeNumber($value)
    return !preg_match (“/[^0-9]/”, $value);

  7. Great article,

    I like how you pay attention to details, such as needs for curl in Request Engine Support and great explanations!

    Best regards,

  8. I do all you write in the article but i have a problem. the method GET work fine but the POST method return always:

    [body_recv] => {“messages”:{“error”:[{“code”:400,”message”:”The request data is invalid.”}]}}

    i try to track the error and i found that error are here:

    if ($this->getRequest()->isAssocArrayInRequestBody()) {
    $filteredData = $this->getFilter()->in($requestData);
    if (empty($filteredData)) {
    $newItemLocation = $this->_create($filteredData);
    $this->getResponse()->setHeader(‘Location’, $newItemLocation);

    the array: filteredData return empty in your example. How is possible to fix it ?

  9. Great post however I was wondering if you could write a litte more on this subject? I’d be very grateful if you could elaborate a little bit more. Thanks!

  10. Hi, my order is not saving. i have made people can pay using paypal, or sagepay but customer data is not saving e.g product he bought or order details. I can’t see anything at backend about this sale.
    can you please tell me which file name (path) and what value to add on which line. thanks

    sorry i am new to magento.

  11. In my case also post method giving “Invalid Content-Type header”
    for debugging purpose I put simple create but still it’s giving same error. My simple create function below.
    public function _create() {
    return json_encode(array(“Test”,”Success”));

  12. Now this is what I call a well thought out posting. Very clear as well as the point. I will have to certainly watch out for more posts such as this.

  13. Hi Joel.

    I just wanted to personally thank you for posting this. I’ve spent days tearing out my hair unable to update store view prices. I’ve never come across this before – it’s a very odd bug(?)

    Your fix totally worked.

    You absolute LEGEND.


    • Thanks Alex I know all too well what it’s like, it is indeed weird I have used Magmi importer so can only think it’s related to an import through there where the store id has been set incorrectly or assumed to the secondary store if not given.

  14. I enabled Redis as back end cache for Magento as described here, and I can confirm that my Magento website is faster now.

  15. This really shows that there are still individuals that care about what they post on the internet. I truly enjoyed reading through the comments.

  16. I’d like some more information as to how much this service would cost on a recurring basis as well as implementation into Magento. We are currently pricing out a transition to Magento and would love to see this service in a demo form, if possible.


  17. I used PPH to design a specialised flashing detail for a construction project i am working on. I design most details myself but this was out of my experience and knowledge base so I decided to post the job on PPH. I had a few offers come through but no one gave me a definite assurance that they were familiar with designing this kind of detail apart from one. A few days later a drawing came through which looked as if the seller had Googled the words I had used to describe the detail and produced 5 pages of unrelated bumph! I told him I was not happy with the work and that as far as I was concerned he had not fulfilled the brief and requested a refund. The seller is still claiming he the work is exactly as described and has issued an invoice with I have rejected. What happens next?


  18. I’ve actually just had a horrible experience as a seller with a buyer who completely wasted my time, then demanded a refund when I said I couldn’t do the extra work he decided he wanted doing after he accepted the proposal (the extra work was about £500 worth, with the proposal being for £120).

    I couldn’t raise a dispute despite time spent on the job as I know this affects my rankings, so I had no choice but to fully refund.

    It’s a hard industry to police, whichever way PPH go the other side will feel they’re not safe enough.

    • I have to admit it is tough, but they should put in place some more safegaurds this wouldn’t happen if you where working with someone face to face.

      Perhaps a rating system that has financial consequences for the seller could be one idea like a penalty.

  19. Very Helpful
    I faced same issue. However I am not able to figure it out.
    Nice post. Keep It up.

    I solved this problem by

  20. Right now I am facing same kind of issue with cron. Not able to send email using sendTransactional function.

    While executing cron from admin(Aoe_Scheduler) its working fine but its not working when its schedule and executed by cron automaticaly

    Please help me if you have any solution.
    Thank you

    • What about something to do with store scope? You can run the observer in a test script setting the store beforehand to see what’s going on.

      $observer = Mage::getModel('myapp/observer');
  21. Thankyou so much for this! I have spent too much time trying to work out how to fix this issue with no luck!

    Life saver!


  22. As much as I would love to completely agree with your comments I think the internet is evolving much faster than many coders and programmers would like to admit.

    We are moving into a visual / interactive / ease of use environment where the back end magic will eventually become automated. The end user wants content and entertainment and they want it now.

    When the aviation industry began every design, test and check was done manually by humans but look at it now, all the back end slogging is computed and designed in a virtual world, the only real human touch is the glossy outer skin and furnishings. Much like the internet end users (People) want visuals and entertainment the rest has little importance to the them.

    Remember, ‘Google is not in control of the internet’ They only follow the pioneers of new technology and present it to the adventurers searching out such content. Google’s own purse strings are fuelled by the customers not the designers.

    I am hopeful ‘The Grid’ will be a game changer……

    • These type of CMS products have been around for some time e.g squarespace and others like 1and1 internet all try to solve the problem along with other products like adobe’s Muse. Yet there is still an army of Developers and Designers still in jobs. There’s always one major problem and that is your stuck with the platform which most likely is catering for the masses so does not have the very latest edge “stuff” or simply does not allow you to bespoke the design to a high enough level.

      Not only that but the web is more about API’s and Integration now and no platform can ever keep up with the new products and services that constantly pop up a recent example in ecommerce is where we integrated PeopleHr’s API into Magento allowing us to offer staff discounts on products. That’s not something I expect is very common but for our particular needs the company uses PeopleHr and wanted integration in that one case there are 100’s of HR systems out there.

      What these products are really trying to achieve is something akin to Apple’s platform. I think the web’s just too big in it’s scope of use.

  23. Works great once typo is fixed.

    <a href="” title=”Remove item” class=”btn-remove btn-remove2″>Remove item

    <a href="” rel=”nofollow” title=”Remove item” class=”btn-remove btn-remove2″>Remove item

    Thanks for this.

  24. Great article.

    I have followed exactly like your tutorial and am getting an error called “decoding error”. Kindly help to fix on this.

  25. I recently posted a job on PPH for a Shopify developer. I asked if every applicant could give me 3 examples of Shopify sites they have worked on. After about 10 responses I started to notice the same examples cropping up on different developers applications. I then googled “Best Shopify Designs” and noticed that the first few that came up were the same as the applicants were using. I challenged a few of them to prove it was their work and none of them could. So now I don’t know who I can believe on that platform. Seems like they will say anything just to get the work.

    I also put a budget of a good amount and they all bid for that amount, but when I asked them how long it would take to complete in hours it seemed a much less figure when multiplied by their hourly rate. For example they would bid for £2000 and say it would take 40 hours. Then when I check their profile their hourly rate would be £15 which would equal £600 if it took 40hours.

    The site is a lawless ungoverned joke.

  26. For those of you having error 404:
    Here is a possible solution. It worked for me:
    $apiUrl = ‘http://mydomain.com/api/rest’;
    $apiUrl = ‘http://mydomain.com/api.php?type=rest’;

    make sure to replace mydomain.com by your own domain name.

    I hope this helps.

  27. Great article! it is simple and easy to understand. Any idea how to add email notification for task completion ?

    • You would need to use a mail package not sure what is installed if anything but would need something like postfix or ssmtp

  28. Hi Joel,

    I have a client who has an ecommerce website built in Magento, there are over 5000 products however only 1750 is being approved by Google Merchant Center.

    Are you able to fix the issues so that all products are visible in Google Merchant Center?

    Please can you let me know your hourly rate? Thanks in advance.


    Michelle Jima

  29. you aren’t the only one out there. There are thousands I presume. I ALSO got duped by the PPH Ponzi scheme.

    Here are the details. Will keep it updated as to what they say now.

    Request #461889 Re: Need to take legal action and get my amount refunded.

    Jai Yesterday at 19:25
    This is a follow-up to your previous request #458603 “Need to take legal action and get my amount refunded.”
    You told me that you will get in touch with the seller, and assist me in getting my amount refunded. And closed the ticket. UK It law, clearly states that as facilitator you are entitled for any harm/request arising out of the services you lend/provided/facilitate.
    Either get my amount refunded, or I will file a proper harassment case, with the Relevant documents against you and your service provider. It seems more of a forgery than facilitation. Seller is still selling on your platform. WHO knows that he might be indulged in more forgeries and duping people out of their monies. Since you don’t share your data outside, and any backend person can provide glorified reviews or stars, it seems that legal course is the best course here.
    Keep me posted, about the action that you might be taking.

    suresh Today at 00:35
    Hello Jai
    Thank you for your message.
    I have received your email and would like to let you know that we are working hard to get it answered.
    After reviewing your comments I feel that at this point I will have to escalate your query to a Senior Advisor who will look into your account and will be able to better assist you in getting your issue resolved.
    Thank you for your patience and understanding while we get this answered as soon as possible.
    PPH Customer Support
    p.s. PPH is still growing and we rely on the PPH community to spread the word, so if you’re happy with your PPH experience don’t forget to tell your friends!

    Dimitris Today at 18:35
    Dear Jai,
    thank you for following up with us about this matter.
    Please note that we were unable to establish communication with your seller.
    In my last message, I was very clear with my statements and at no point did I state or (to take it to the extreme) promise that you could get your payment back.
    In fact, I told you that per our terms and conditions, you have provided the seller with a favorable review and payment, which clears us as a mediator from any liability, considering that our terms and conditions clearly state that you should not pay or award someone feedback if you are not satisfied with the service. You came back to us months later to request that we assume responsibility for the online content being taken down, when it is adamantly clear this is neither in the control of PPH or the seller who is providing postings on 3rd party websites.

    Please revise our terms and conditions by clicking here: http://www.peopleperhour.com/static/terms
    I welcome your input on how we are liable in this case.
    What I did in fact promise is that I would attempt to contact the seller, which in this case I was unable to make a meaningful connection, let alone convince the seller that although we do not have the power to force a refund, he SHOULD refund you in full because PPH says so.
    I am very sorry that you have had this negative experience, but I am terribly afraid that the liability does not lie with us, and we are not in a position to offer a refund after you have released the payment.
    Best Regards,
    PPH Senior Advisor

    Jai Today at 19:01
    Seems Dimitris, either you are genuinally not trying to understand, or fail to comprehend that the laws are always intact to get things worked in a proper fashion/integrity, wherever bias is clear.

    giving reviews immediately after the work, and work then getting deleted, would be shredded within one argument if it happens, and if things go to that level, I am willing to do so.

    You said, you will check with the seller, and get me the reason as TO WHY I SHOULDN’T BE GETTING THE REFUND !!! You haven’t done that, lest you telling me to read your terms & conditions, which are not bound by any court decision. Better you should get the IT and Intellectual law details, and then throw the link for T&C of PPPPH ON ME.
    I need to know, what you had asked the seller (since he is a fraud, and selling on YOUR site (just like any other ponzi scheme)), and what’s his clarifications are AFTER he frauded me ? I paid him using your platform, so you are equally responsible for this, as is he. This would prepare the missing link that I want.
    Just a word of advise, T&C’s hardly matter against the sovereignty of the nation (Read Laws framed for/against), where the case is being filed. You can get that confirmed from Legal department.

    My question was simple, that one person who is still selling on your website, frauded me, and your site provided him the parlance (platform) for the same. Even after my complaint, what have you done? What are your actions against that ?

    The answer you have given is equivalent to : I buy a house using PPH, write favorite reviews, and after sometime the house collapses, and you tell me to read your terms and conditions link. Are you even sane in giving that response.

    Better discuss things with your legal department, before coming to t&c page. THEY HOLD NO GRAVITY AGAINST FRAUDULENT TRANSACTIONS.
    Anticipating earliest response.

    • Hi Jai,

      I certainly wouldn’t like to work on their support team they must get enquiries like this everyday, seems they have updated their T&C’s yet still not offering anything credible when it comes to disputes.

      As this line basically offers no refund, even if the party has not complied!

      If PPH reasonably believes that the parties have not complied with these terms and conditions or are seeking to avoid any such obligations PPH shall not be obliged to make the refund.

  30. Hello,

    I have to try to use post method with custome REST api custome model call but get error

    {“messages”:{“error”:[{“code”:400,”message”:”The request data is invalid.”}]}}

  31. Judging by the number of responses, this really is undeniably a truly involved topic. Whenever I revisit this post there’s an interesting visitor post better than some of the prior ones.

  32. Although we as a company didn’t use magento, namely as our developers specialised more in WordPress, however because of the nature of our solution we ended up moving from WordPress to a completely bespoke solution due to some of the limitations that WordPress as a platform has. I dare to wonder if Magento as a solution also has some limitations which then means that an adaptation is the next option up before then heading for a completely bespoke solution.

  33. That’s true as the business evolves it would make sense to do a re-write into a bespoke solution if you end up hacking the core , this was more of a rant towards business owners or managers who don’t really understand development and jump from one ship to another.

    Ideally you would want a solutions architect to make these kind of decisions.

  34. A very useful post. I was tempted to remove the coupons and rules by using a direct SQL but the issue with cache gave me pause.

    One question: applyAll() and loadSelf() towards the end of the script are those intended for priming the cache?

  35. This post is just what I consider an easy to follow posting. Very clear and to the point. I will have to certainly watch out for more content like this.

    ) I paid additional $15 (close to that amount) to have my job list as urgent
    2) I awarded the job to Mxxxxr H on Sunday 3rd Jan, with his rates being higher than average but him stating the job would be completed midweek

    SUN 3 JAN Mxxxxr H; Your task seems fairly simple and should not take long at all to complete. Guessing eight hours would cover it, and possibly less.

    3) Paid a deposit of $520

    4) Midweek came with no advice or update of where he is with the job

    ME @ WED 1.29PM; Hi there, just touching base of where and what is happening here?
    ME @ THU 9:03AM; Hi Mxxxxr H – would appreciate if you can please advise on an update or if I need to look for someone else to complete this work for me?
    Mxxxxr H @ THU 9:29AM; Working on it now. Data is imported and I am preparing forms. Should have it completed late this evening or early tomorrow, at the latest. If that does not work, let me know. My original commitment was to mid-week, and I feel I am on target to hit that, but if there was a miscommunication, I understand.
    ME @ FRI 2:35PM; Just wondering when I can expect an update on this job Mxxxxr H?
    ME @ FRI 10:55PM; I know there is a time difference between us, but still be good to receive a status update of where you are at…….Communication seems to be non exist here and from my perspective, very poor in knowing in what is going on with how you are progressing
    ME @ SAT ; Mxxxxr H, do you have any update for me on any progress you have made here? I wanted this job completed with an urgency but as I’ve had no update or feedback for over 48hrs, I don’t want to go back to re-posting this job, but as I’ve not had any updates from you, my only option I guess is to repost this job.
    Mxxxxr H @ SAT; Hey Robyn, I am refunding you the following amount.
    Reason am not able to complete this Job.
    Time constraints
    My concerns are as following;
    1) Why am I being deducted a refund fee by PPH of $52 when it was the seller that cancelled the job?
    a. Why is this fee not coming out of his bank account for cancelling the job?
    b. Why is the fee of urgent payment also not being reimbursed by the seller?
    2) Why do I not have the opportunity to leave feedback on this seller?
    a. Why isn’t this incorporated by your site valuations of someone?
    b. He kept promising and couldn’t deliver, but yet I am unable to leave any feedback of what really occurred
    I gave the seller the benefit of the doubt of being able to perform my urgent work, which he entirely let me down, after 7 days of having and for his own fault, its cost me $70 and have nothing to show, including being able to provide feedback on him.
    How will PPH provide me with the appropriate refund of all $s spend and enable comments to go against this seller?

    Yes, extremely unhappy costumer that won’t be endorsing this company! Don’t waste your time or $s signing up to them

      • How to set delete,create & update in api2.xml , like routes & action_type. I saw dispatch functionality in app/code/core/Mage/Api2/Model/Resource.php for route actions.

    • I haven’t used PPH since my own incident with them, if the refund fee is a lot I would challenge it through PayPal surely your due a full refund otherwise it’s not a refund?

  37. “– Sell the same SKU to different customers at different prices”

    How is this done? Do you recommend a specific module for this?

    • You can do this fairly easily by having customer groups which then allows group pricing (built in Magento feature)

  38. I am in Herts and looking for someone to help me upgrade and support my magento site and help me get it working properly, I have a spec but right now want to figure out if I can find someone to help – initially to improve the site, then to help build a plan for how I move things ahead

  39. Hi, i create a custom rest api like the above method, but its returns OAuthException Object error Like Invalid auth/bad request (got a 500, expected HTTP/1.1 20X or a redirect . My groupInsert file path is Projects/mydomain/public/api-test/groupInsert.php & the url are given below,
    $callbackUrl = “http://mydomain.com/api-test/groupInsert.php”;
    $temporaryCredentialsRequestUrl = “http://mydomain.com/oauth/initiate?oauth_callback=” . urlencode($callbackUrl);
    $adminAuthorizationUrl = ‘http://mydomain.com/admin/oauth_authorize’;
    $accessTokenRequestUrl = ‘http://mydomain.com/oauth/token’;
    $apiUrl = ‘http://mydomain.com/api/rest’;

    The Detail Error:
    OAuthException Object ( [message:protected] => Invalid auth/bad request (got a 500, expected HTTP/1.1 20X or a redirect)
    [string:Exception:private] => [code:protected] => 500 [file:protected] => /home/reniraj/Documents/Projects/mydomain/public/api-test/groupInsert.php
    [line:protected] => 44 [trace:Exception:private] => Array ( [0] => Array ( [file] => /home/reniraj/Documents/Projects/mydomain/public/api-test/groupInsert.php [line] => 44 [function] => fetch [class] => OAuth [type] => -> [args] => Array ( [0] => http://mydomain.com/api/rest/groups/ [1] => {“name”:”api_test_group”} [2] => POST [3] => Array ( [Content-Type] => application/json [Authorization] => OAuth oauth_consumer_key=”xxxxxxxx”,oauth_signature_method=”HMAC-SHA1″,oauth_nonce=”xxxxxxxx”,oauth_timestamp=”1456140957″,oauth_version=”1.0″,oauth_token=”xxxxxxxxx”,oauth_signature=”xxxxxxx” ) ) ) ) [previous:Exception:private] => [lastResponse] => Service temporary unavailable [debugInfo] => Array ( [sbs] => POST&http%3A%2F%2Fmydomain.com%2Fapi%2Frest%2Fgroups%2F&oauth_consumer_key%3Dxxxxxxxx%26oauth_nonce%3Dxxxxxxxx%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1456140957%26oauth_token%3Dxxxxxxxxc%26oauth_version%3D1.0 [headers_sent] => Content-Type: application/json Authorization: OAuth oauth_consumer_key=”xxxxxxx”,oauth_signature_method=”HMAC-SHA1″,oauth_nonce=”xxxxxxx”,oauth_timestamp=”1456140957″,oauth_version=”1.0″,oauth_token=”xxxxxxxxx”,oauth_signature=”xxxxxxxD” [headers_recv] => HTTP/1.1 500 Internal Server Error Date: Mon, 18 Feb 2016 11:35:57 GMT Server: Apache/2.4.7 (Ubuntu) X-Powered-By: PHP/5.5.9-1ubuntu4.14 Content-Length: 29 Connection: close Content-Type: text/html [body_sent] => {“name”:”api_test_group”} [body_recv] => Service temporary unavailable ) )

  40. You scarcely come across content such as this nowadays. I recall when you could find one or two posts similar to this in less than 10 minutes but now it’s significantly more difficult.

  41. i used them in the past, but recently they have been cancelling my posts after i had deposited funds therefore not allowing me to get the jobs done and will not refund the money that i deposited just for the work to be done.

    then when i try and get another job done it does not pass moderation! and guess what, yes , they are still holding my money.

    this is not a company that can be trusted, it is a company to avoid.

    i will be taking legal and media action against this company.

  42. First verify if your group insert is working, try running the script outside of the Oauth call, if your still having trouble look at your server logs and magento’s logs to see what’s causing the 500 response.

  43. Hi guys,
    I encounter the same problem (error 400) when posting request in JSON format (same instructions in XML is working fine, means is not attribute related).

    {“messages”:{“error”:[{“code”:400,”message”:”The request data is invalid.”}]}}

    Jonathan & Milan, guys did you found a solution to figure it out?

    • Are you adding ‘Content-Type’ => ‘application/json’ to your request? which method are you calling?

      • Finally, I’ve found the problem.

        My request in XML contains the following first node:

        In JSON, I was also starting my request with:
        {“magento_api”: {

        Problem was: with JSON, first “magento_api” node must be removed.

        After the correction, answer/request is working like a charm.

  44. Yes I add this header in my request.

    I’m calling the following method by POST: api/rest/mysite/orders

    Note: I’m able to receive successfully results by GET from api/rest/mysite/orders (read orders) with both JSON and XML format.

  45. I actually nearly didn’t check this site out but I’m just glad I have. It’s actually pretty good when compared to many others I’ve found. I will definately return.

  46. hello, thanks for shared your knowledge. but i have a problem with step “3. Once logged in edit the passwd file” i cant found a text “web-backup:XXXXXXXXXX:Web Server Backup:/var/service/homes/web-backup:/bin/sh”

  47. Help! I’m panicking right now! I’m going through the same thing. This site is awful and full of people scamming when it comes to digital work!
    The seller sounded ‘professional’ but is complete joke. Told them to stop work due to the poor quality of the work. The disputed the refund and PPH have said they don’t think I’ve got enough grounds for a refund. The seller has uploaded google images and claimed that they’ve already done a lot of the work. It’s a total lie. The dispute is due to be reviewed by some team, but from what you’ve said they seem to favour the seller.
    I paid through PayPal too- how do I go about getting my money back?

  48. Well written Joel.
    Actually Magento 2 migration involves some of components like: data, extensions, themes and many more. So. it’s good to upgrade in Magento 2.

  49. I tried to authorize it via android app but when I get resources (api/rest/products), I got error:

    {“messages”:{“error”:[{“code”:401,”message”:”oauth_problem=internal_error&message=Mage registry key \”_singleton\/admin\/session\” already exists”}]}}

    I have no idea.

    • I’ve had that error before but only if your calling getSingleton core/session somewhere else first. Maybe your trying to authenticate twice or something?

  50. Good tutorial, thanks.
    I was using your script for a year successfully, it stopped working after upgrading to DSM6 due to reset of configuration changes in /etc/passwd.

  51. Hi Joel,

    Thanks a lot for this blog.

    I am trying to do the same as this article but with MAGENTO 2.0.

    I am lost.

    Could you update this post with Magento 2.0 version?


  52. Well it depends on your luck with freelance .. mostly they are scam .. be careful and peopleperhour will not help you.. you will feel they support scammed to make more profit !
    Not recommended at all

    • I haven’t tried this, It may be possible because the controller looks for the _method() but I believe the basic CRUD should be enough, in your case it would be better setting this up as another route entity e.g /forgot/:id

  53. I am not sure if you are aware of this fact, but PPH is not a magical place where only the highest moral standards are allowed to participate. Reality check: as long as you work with people you will have to take risks. The system is quite simple: you need to check the freelancers, you need to see their work and verify the references, exactly as if you were hiring a person in real life. Because you know what? YOU ARE. You can talk with the freelancer before you accept the proposal, you can ask for further references if you are not convinced by their portfolio, you can move to a different freelancer if you want. That’s why the Cert system exists, and that is why freelancers slave away with terrible clients and work twice what was approved in the budget, being prisoners of the rating system. The clients rating is absurd, no one is going to tell the truth about a client unless the experience was absolutely dreadful. On the other hand, the buyers are ruthless when evaluating the work of the freelancers, it doesn’t affect their future buys. To sum it up, if you think that as a client you are unprotected, guess again: all the systems that are in place are there to protect you, and not the freelancer.
    Regarding the company, well, they are not perfect, and they can be quite annoying, but from what I’ve read here, you didn’t understand what you signed for. Their job is to provide a platform where you can find freelancers and freelancers can find jobs. They do their best to eliminate spammers or fraudulent accounts, but it is a stupid thing to pretend that they check and crossreference every image or website or translation that every freelancer has ever posted to see if it is really theirs. You have to go through a process of acceptance, and they cleaned their database and if someone is reported they cancel their account if the report is proven true. If you, as a buyer, don’t take your time to read the reviews of the freelancer, or if you want a project done with the lowest budget and hire a beginner without any references, well, that’s on you.

    I have worked as a freelancer for over 4 years, with almost 500 different clients, and I’ve had a few bad experiences, clients with ridiculous expectations, being the most common: “I want to pay $50 for a logo, but I want the quality of Versace, Prada, Nike”. “I want to pay $20 for an illustration, but I changed my mind when it was ready and now I want a different subject. Oh! you want more money? I want a refund!”. “I want to be an annoying pain in the ass and make you work endlessly because I payed $100, NOW I OWN YOU FOREVER”. But, since I am aware of the world I live in, I don’t blame foreigners, or life, or PPH, I just accept the fact that some people are just shit and move on. And experience has taught me that the signs of a bad client are there from the start: any brief that includes the words “urgent”, “wow factor”, “endless revisions”, are flagged for me. And the most important one: “I was working with another freelancer but I didn’t like the results”.

    • YES! thank you – someone, who stood up for the freelancers on PPH. I have been in countless situations where I am asked to work waaay over the initial brief. just today I had a client who wanted a ‘professional’ fashion blog with SEO integration, social media integration, domain registration and hosting, image optimisation and all the rest for £200. The oxymoron here is professional and £200. I rest my case!

  54. Hi,

    My Name is Juvline.

    PPH stolen my 100GBP.

    They closed my account and did not return money.

    They said i have multiple accounts there.

    When i asked to show proof then they did not.

    Then i asked them if there are multiple accounts then close all except from which one i am here.

    They have no answer,

    They are cheater, duffers and each person their is corrupted.

    Very horrible platform is PPH.

    PLease do not work on their.

  55. Just hit this same issue with the NZ version! Thank you! Basically commented this block:

    if ($this->_checkout->canSkipOrderReviewStep()) {
    } else {

    replacing with $this->_forward(‘placeOrder’); Magento Bug ? Am on

  56. Oops – Was just using the Standard “Paypal” (i.e. not PaypalUK – and there’s no PaypalNZ). However, still hit this issue, and used the above as a workaround…… :-/

  57. Unfortunately I have been conned on this site to. Paid for a job £550, seller took my money and ran, it was for custom plugin for WordPress. Because it was in October last year PayPal can’t help. So I contacted pph who have since suspended my account and are allowing the seller to carry on trading. Surely this can’t be allowed, but I am now running out of options as they now refuse to come back to me on emails, twitter, facebook and with no phone number I am terrified I am just going to lose that money which I can’t afford to do.

    • okay Alex – post the workstream then everyone can see if this is real. Noone in my experience on PPH can just run off with your money. They must have done some work for it? Post the workstream.

  58. If you read this, probably you want to make sure about the place in which you want to invest your time, effort, and money. This will help you. These limited words are summary of 2 years. We were on page 3 and was ranked as 119th – TOP. I didn’t sleep for nights till I got there…
    For *whatever* I say here, emails and replies exist as proof and I’ll be glad to share them.

    My story on PeoplePerHour began on 18th of Jun 2014. Let me copy-paste the first email:
    “I am Faryad, from Iran. I am leading an expert team for graphics design, web design, and web development. My question is, as an Iranian, can we work in your website with no concern?”

    “Hello Faryad
    Thank you for your message.
    People from all over the world are allowed to work on the site, there is no restriction for them. You are welcome to work on our site. You can register and get work.
    Best wishes for your business in PPH.”

    We signed up. For many times I noticed there are somethings wrong with the platform but I thought maybe these are software bugs. I didn’t care much and each time I composed lists of bug reports trying to report strange behaviors of the platform in my long lists of bugs. Each time they were telling me things like “that’s fine, we are working on it! Oh, we are sorry to hear this, we are fixing.” Stuff like this. I noticed that this is an official robbery because a mistake may happen once or twice accidentally- not after reporting it for hundreds of times. Let me clarify one after another about how they rob you (sellers) specially using their smart proposal credit system. Since I wasn’t a buyer on this scamming website, I don’t know how they rob buyers and I leave this for buyers to review.

    -Proposal credits are not free on this platform. If you want to bid on jobs, you have to buy them. Each proposal credit costs something about 1.5 GBP. They claim each month they give you 15 free credits. They are right. They do this till you get to a point. When you start growing and need to buy more credits, thievery starts. Suppose you have 85 credits. In the beginning of each month, instead of adding 15 free credits, they RESET your credits to 15. Yes! Don’t be shocked! For my last 4 months of working I noticed this robbery and each month I was reporting this to the whole team (support, product, web designer). We had two accounts and this was happening to both of them. They told me, hey, sorry for this! Maybe this is a bug or something. Here are some credits!! And I didn’t know how many credits did I have before getting robbed.

    -When someone posts a job, sellers start to bid. If, after bidding a buyer changes or updates his job or his budget, according to their own terms and email notifications, sellers can cancel proposals and credits must be refunded. This happens very frequently. Someone posts a job for $200 and after 15 minutes changes the budget to $50 (thanks to the uncontrolled bids and junk system of bidding). They claim you can send another proposal for the same job without losing any credits. Guess what? When you cancel your proposal, the credit will NOT refund. If you send another proposal for the same job, ANOTHER credit is consumed and will never refund. This means if you cancel your proposal and send another one, you will lose 2 credits!! A very sneaky type of robbery! This also applies to what they call Featured Proposal Credit which is a more expensive type of proposal credit and features (so-called) the proposal. Featured proposals does NOTHING and they will NOT refund to your account just like normal credits. They just add a ribbon to your proposal and this is what you pay 5 pounds for.

    -PPH is a great place for posting fake and scamming jobs because no one controls anything. They filter things randomly. Spammers and fraudulent buyers keep posting spamming jobs. Newbies and those who are not aware of threats keep sending proposals for all types of jobs. They bid and bid and they lose credits very quickly. Guess what? If after reporting a job (by the community and for hundreds of times) they moderate the fake job, credits will NOT refund to bidders’ accounts. Also if they don’t moderate fake jobs, they will stay pending forever and so does your poor proposal. This means for each pending job you waste your time and your credit (money) like a charm! You will never get your credit back. According to my working experience for 2 years more than %60 of jobs is fake and they remain pending forever. I’ve reported this in detail for more than 10 times and each time they only thank me for reporting!

    Mid-July I decided to ask them to stop robbing us. I sent them an email telling them about all these events including more thievery scenarios. I asked them to stop filching. Guess what? They have deactivated my account in less than 1 hour!! I asked the reason and they sent me one of their junk corporate emails telling me that I have violated their terms! I immediately contacted Christina P (don’t write the full name for her privacy) which works in their product team. Christina was the ONLY helpful person and she was not aware of the stealing algorithm of the platform. She reactivated my account and said this was a mistake! So what if I didn’t have her direct email?! I regained access to my account and was happy that I had it again because it included 2 full years of non-stop working of a group of people. But this isn’t the end!

    Three weeks later I received a system email:
    “Thank you for using PPH.
    In a recent compliance review, we have noted that your account is based in Iran.
    In line with UK AML regulations, PPH is unable to support users operating from this location. As a result, we need to close your account and are providing you with 1 week’s notice of closure to complete any work in progress. To find out more, please visit section 2 of our terms and conditions.
    We sincerely apologize for the inconvenience caused however please note this is for compliance reasons.”

    I said WHAT??? First of all, what the … does AML mean??? I googled it and found the abbreviation. I was so shocked that couldn’t talk for few hours because:

    -After working as a freelancer for the first year, we closed our offices and focused on working at home. Now we didn’t have any office and we were going to lose our freelancing job as well.

    -It wasn’t about me only. I was concerned about my wife and her team. She faithfully worked on this platform non-stop and we managed to serve about 170 clients from more than 30 countries. We had 178 positive feedbacks and our rating was %99.6. What about our exceptional customer testimonials? Those magnificent clients had written marvellous reviews about our performance and we were relying on their words for our future projects/positions. Are we going to lose them all?

    -I was always sending them bug reports and feature requests. Their product team thanked me personally for many times. More than 100 bugs have been reported by me and they used my ideas to improve their scamming platform and now they are banning me! Can you imagine this?!

    -I never charged my clients outside PPH because I was loyal and committed to their system. We used to have customers with monthly invoices but I never accepted their payment offer outside PPH. They could simply and easily send their money to my withdrawal account and therefore we didn’t have to pay any share to PPH. I didn’t do this because I was committed to those beasts.

    -We had sent our CVs to different locations for different positions. Link to our profile was included in all of our CVs and if they close our account, the link will return a nasty error page instead of our beautiful customer testimonials. So what about those people reading our CVs? Most probably they will think we are lying to them. Can you imagine? My profile includes 2 years of our most recent career and the most important ones because they are recent. If we lose them, we had a 2-years gap in our career and people with link to our profile think we want to cheat them.

    Let’s get back to the AML thing. They deactivated our accounts again. This easy! I searched UK authorities and asked about the AML claim. Here’s the result. Please google “uk advisory aml notice june 2016” and read page 1 of the first PDF. Here’s the last line from page 1 I copy from the document:

    “On 24 June 2016, the FATF suspended its call for countermeasures against Iran for twelve months.”

    If it was about AML rules, these rules were onset from 2007, so why did they let us (Iranians) join their website on 2014 with a very warm welcome and without restrictions? On the other hand, if they are obeying AML rules it clearly states that countermeasures are suspended for one year and this document has been released on June; that is 2 months before PPH thieves warn us with their fake AML message.

    Wait! There’s more! Hearing this will drop your jaws: still, there are some active Iranian profiles on the website!!! Please check it for yourself. Go to freelancer’s section and search for Iran. They kept those poor rookies active. It seems like they are planned to be robbed after they gather some money for them in their small wallets.

    I have more surprises for you readers. They closed our account; swallowed the money in our wallet; stole the money in our pending invoices; and clearly stated that they won’t give us access again EVEN IF we live somewhere else than Iran!!!! Let me copy-paste:

    So this means PeoplePerHour.com has closed our account, withdraws our earned money for itself, and won’t give back our account even if we exit Iran.
    Can you please confirm this?”

    “Hello Faryad,
    Thank you for your message.
    I can now confirm this Faryad.
    Your account will remain closed.
    Thank you for your patience and if you have any other question regarding our case please let me know.
    Kind Regards,
    PPH Senior Advisor”

    PPH thieves:
    You will be more arrogant if you sell yourselves instead of robbing people like this. Your children will read your story.

  59. Thank you for your great post!
    I am having a trouble with setting up prices for each store view
    Because Magento default only allows setting up different prices at the level of website, not store views, so I am looking for a way to help me set up various prices of a product in each store view.
    I search on Google and find an extension that can solve this issue. It is called Multiple Store View Pricing
    This is its link: http://bsscommerce.com/magento-multistore-pricing.html
    But is there any programmatical way to do it beside using an extension?

  60. There is a very useful way to optimize Magento site speed is deferring JavaScript loading till the last moment after all HTML and CSS. It means that JavaScript files are put to the end of page, therefore the web browser will load HTM and CSS before loading these JavaScript files. This leads to loading time be reduced and magento site perform faster than before.
    To make this JavaScript parsing easier, we had better not do it manually, let’s use an extension instead because of convenience and simplicity.
    For example: https://www.magentocommerce.com/magento-connect/defer-javascript.html

  61. Message to all of the victims of PeoplePerHour SCAM!
    My name is Didier Dutilleux and lately I have being victim of the PeoplePerHour Professional White Collar Criminals and I was SCAMMED!

    All detail of mention PeoplePerHour SCAM you can read here:

    SCAMMERS like PeoplePerHour must be stopped what is not so easy and cost money for each single victim!

    There is a solution…”l’union fait la force” is a French very common sentence what means in English “Unity Makes Strength” so for all victims of PeoplePerHour SCAMS that is what me must do!

    First I will try to reach-out to all past victims of whatever PeoplePerHour SCAM, that as Freelancer of PPH or as User of Freelancers of PPH!

    To reaching all of the victims of whatever PeoplePerHour SCAM, I will contact and register all forums relates with “Online business” and inform them of my case!.

    I will ask to all past victims wherever in the world and for whatever PeoplePerHour SCAM, that they confirm they SCAM experience with PeoplePerHour by leaving a short description as comment on the website http://sourcing4-you.com/internet-scam-everywhere-pph-peopleperhour-too/

    If in the next months say till end 2016 we can reach +100 different PeoplePerHour SCAM cases, I intent to go further and see to stop them legally!

    So to all the victims, we will not make the internet from tomorrow better by letting Professionals Whit Collar Criminals like PeoplePerHour continue what they doing now!

    So let’s put our heads together and following “Unity Makes Strength” and STOP PeoplePerHour SCAM!

    Make Up on today, Tuesday, November 22, 2016
    Didier Dutilleux

    • Didier I totaly agree,

      I was very concerned with my information being shared by someone outside of PPH. Their customer service attitude and fraudulent way of taking my money and most of all zero support. So i wrote to their CEO thrice. (sent him a friend request first- guy is totally ego driven) Nah no reply not even an acknowledgement that he will look into it let alone an apology.
      My biggest concern is I later later an email that they remove negative feedback from their sellers account. So every seller you see they are only glorified. Ofcourse that what the customer is trusting that what i trusted but its all manipulative. A customer has the right to voice his opinion about their product and service. Then i saw on their community page many customer have complained about the same why their feedback was removed. because PPH don’t want to show new customer how bad they are. Look up glassdoor even their employees, current & former haven’t mentioned anything good abt the company or their CEO, His zero care for customer or employees is obvious
      There is now a fb page now called PeopleperhourUnethical. leave reviews. I did. It will help others save money time and headache. We don’t need one more organisation that think customer don’t matter !

  62. Update about the post which was posted at September 15, 2016:

    They have resolved my issue after I moved to another location.

  63. Hello,

    We got scammed by a freelancer on People Per Hour. They did not deliver the project more than two months after the deadline, and caused us huge losses and distress. Their coding was so bad, it broke everything. Now we have to find someone else to fix these issues, and People Per Hour are not helping to get a refund for the funds we’ve paid. They are happy to take their commission, but when there are issues – you are left high and dry. They seem to take on coders with fake portfolios and references, and they need to take some responsibility for that.

    This has been the most frustrating experience ever.

  64. It is not just the buyers that have problems with PPH either. I have worked with many clients on there as well as off of PPH and have had no problems until this month. I was hired by a recruitment consultant on there to do some regular job searches so he could focus on the development side of things. I invoiced him for the hours that I had done (as it was an hourly rate project) I keep a clear and straight forward record of all my hours.

    Now he has not been online for 2 weeks and is clearly refusing to pay an invoice for hours I have worked. PPH has now released the amount in Escrow and issued a new one but this in no way covers what I am owed.

    You are lucky you managed to get your money back. I don’t see me being able to get this.

    Very upsetting.

  65. Thanks! Excellent tutorial which finally helped me to set up a backup process.

    Before this I was pulling my hair off with connecting Synology to my webserver as my router was not on the short list of supported routers for automatic port configuration. I struggled with the setup for several days with no luck really connecting my Synology to neither Windows or Linux server.

  66. Hello thank you for your example i have only problem why still returning the GENERAL Customer Group even –> Group ID (5) is vip-person.

    $product = Mage::getModel(‘catalog/product’)->load($ourProductId);
    $priceown = $product->getFinalPrice();

    Still the Return value is the general price ?

    I hope you can help me thanks

  67. Hi,
    This article is really helpful for all those people who are about to join this website for their freelance work but after have across this article everything have cleared in my mind and i feel so blessed that i have across to this article, you have saved so many people to become fool. I can suggest one website where i had a great experienced and got good projects for mine freelance work(http://www.hifreelance.com). People should give a try once might be they would find best place to work.

    Thank you for the post

  68. What I will say is that you are trying to book people who are in a skilled profession. I find on PPH everyday jobs like ‘professional website on WordPress – £100’ – That’s crazy – even at UK minimum wage that’s like 2 days work? Good luck building a ‘professional’ website for £100. You have to lower expectations if you are complicit in a race to the bottom. You will find yourself at the bottom!

  69. PEOPLE PER HOUR aka Nightmare for customers. What a horrible experience dealing with one of their seller Ammad Z. She copy pasted my old and infact someones else’s resume. Breached privacy, she advised me “that one of her friends in Australia has reviewed the resume she has written for me and he think its fine as per aussie standard”. Not only she shared my info with him, who is he to review my resume when i have to pay for it and use it. PPH has no platform or customer service team who will review your complaint infact they just keep sending automated messages whether by email, fb messenger or their own complaint / dispute resolution, They have now taken money from my account without my knowledge or consent when i dont have a resume. How unethical is this .. who pays for a service or product they don’t have. All they care about is your money. Definitely not working with them ever again. For me they are already the worst.

  70. I have also been scammed by PPH
    The seller made many promises and ended up delivering a site with lots of errors and incomplete, he was also extremly rude
    and called me all sorts of names
    His name is Emmanuel S and my advice is to avoid him, hes got lots of good reviews which I dont believe is true, I dont believe he knows what he is doing

    I felt safe with PPH because of the following comment on their website which just is not true:

    3. Depositing funds in EscrowTo protect Buyers and Sellers alike, we provide an Escrow system where a Buyer can deposit funds at the start of a Job so that the Seller has the confidence to start work but also so that the Buyer does not have to risk paying any money upfront. Funds are released to the Seller as payment by the Buyer when they are happy that the Job has been completed.

    PPH released the funds from Escrow after I had made them aware that I was not happy and the job had not been completed

  71. £257 down after a PPH developer issued invoice after invoice and then cancelled causing us to miss 1 which got paid before the project finished. Appealed to PPH who said they couldnt do anything so had to let them upload the incomplete site to my server. WordPress using old code that resulted in my server being hacked before we even tested it. Appealed to PPH to be told they cant do anything. We had to delete the website straight away to save any further damage.
    Contacted Paypal who also couldnt do anything as they have something with PPH which stops buyer protection.
    Contacted my bank to attempt charge back but not hopeful.
    Would take PPH to small claims court but they will not send details of who to take to court and where to send it.
    Total fraud!

  72. Thanks for nice article.
    I got 2 issues:
    1) /etc/passwd was overwritten by default on every boot, My changes was no keeped. A work around was to change the userID to < 1023
    2) UserId <1023 is not available for scheduled task i GUI.

    Are there any workaround?

  73. Hey can it ever happen that you push multiple IDS for same device ? And how to tackle the issue? Like in some case if same device saves multiple device IDS, we are having trouble. Although we have handled the issue in sign in to remove keychain from device. And create new on enter.

Comments are closed.


  • Custom Rest Api in Magento – Magento2 February 28, 2020

    […] I need rest api to create customer in magneto for that I followed this tutorial http://www.authenticdesign.co.uk/extending-magento-rest-api-v2/ […]

  • Internet SCAM everywhere, PPH or People Per Hour are too! February 28, 2020

    […] http://www.authenticdesign.co.uk/peopleperhour-pph-scam-developers/ […]

  • Get Associated Products listed in Configurable Product Array from REST API - gomagento2 February 28, 2020

    […] http://www.authenticdesign.co.uk/extending-magento-rest-api-v2/ […]

  • Cıvata February 28, 2020

    […] http://www.authenticdesign.co.uk/reset-npm-bower-permissions/ […]

  • php - Custom Rest Api in Magento - php February 28, 2020

    […] i need rest api create client in magneto followed tutorial http://www.authenticdesign.co.uk/extending-magento-rest-api-v2/ […]

  • Custom Rest Api in Magento - Tech Magazine February 28, 2020

    […] I need rest api to create customer in magneto for that I followed this tutorial http://www.authenticdesign.co.uk/extending-magento-rest-api-v2/ […]

  • Adventures in abandoned plugins | CapitalD February 28, 2020

    […] A smart bloke named Joel from a Authentic Design in the UK had worked out the wpcf7_admin_url() function had been changed to admin_url(), but had also documented all the other pieces that had changed too! http://www.authenticdesign.co.uk/fixing-contact-form-7-v4-1-campaign-monitor-plugin/ […]

  • Custom Rest Api in Magento - DexPage February 28, 2020

    […] I need rest api to create customer in magneto for that I followed this tutorial http://www.authenticdesign.co.uk/extending-magento-rest-api-v2/ […]

  • The essential go-live checklist for any website February 28, 2020

    […] Run tests at different times, I cover some other aspects in one my Magento articles […]