Unable to add new customers with Login with PayPal and Login with Amazon



  • Both the PayPal and Amazon modules have the same problem so I am guessing it is a TB bug not a problem with the module. Orders using both those payment methods go through with no problems, however if a new customer tries to log in the flow is fine until the last step where they are added to the database. Debug did not return an error for Amazon, but the PayPal error is:
    Warning: Invalid argument supplied for foreach() in xxxxxx/Store/classes/Customer.php on line 686
    [PrestaShopException]

    Property PayPalModule\PayPalLoginUser->id_customer is empty
    at line 974 in file classes/ObjectModel.php

    In the Amazon module test order I requested an account be added at checkout. The order processed as a guest order and no account was added. The order confirmation page with the statement saying an account would be added loaded and then a box popped up saying there was an error and to try again or contact us.

    I checked an my database is not corrupt and the file permissions appear to be correct.


  • administrators

    Bug confirmed. Thank you for reporting this.

    At line 686 it is possible to have a $result without a Customer ID. The module needs one and thinks that a proper one is being returned, whereas this is not true.

    You can fix it by adding the following snippet on line 684:

    684. if (!$result) {
    685.     return false;
    686. }
    


  • Thank You!! That fixed it with PayPal but not Amazon. I will keep troubleshooting there.


  • administrators

    How’s the Amazon module doing?



  • Well, first Amazon said it was a SSL problem. It wasn’t, Amazon’s ipn checker was returning a incorrect response. Then they said it was a redirection problem, but we got that sorted out and nothing was fixed. I explained to Amazon that the payment part works, just not the login and they are checking on that from their end. Meanwhile SiteGround was able to see an error message that didn’t show up on any of my logs. It was a 503 Error with message - header does not contain x-amz-sns-message-type header. I contacted patworx with that information and they are looking into it. I don’t think it is a TB specific issue because I have the same problem on the prestashop site. But I have two different versions of the Amazon module, one for 1.7 and the other for 1.6. I disabled it on both sites for the time being. It is the free Payments Advanced by patworx.



  • Now I am wondering if it is a problem with Thirty Bees. I re-enabled the module on the Prestashop site (I had disabled it because it broke the css of the custom theme). The Amazon Login button was not on the nav bar, but that was a template choice, but it was on the sign in page. I signed in using our buyer account on Amazon which has no connection to Amazon Pay and everything worked as it should. So I thought maybe the problem was because both modules were on the same domain and completely uninsstalled it from LJsBooks.com, leaving it on LJsBooks.com/Store. I cleared all caches and tried it again on the TB site and it failed. The weird thing is it is failing but does not leave an error message in any folder. I think the 503 message above was from trying to access the ipn page from somewhere other than Amazon. Ipn requests from Amazon are getting through. It seems to fail at the point where TB needs to put the information into the database. Any ideas?



  • It was a problem with the original install. I have no idea what the problem was, SiteGround could not determine the problem either. I created a new testsite exactly the same way as I did the first and everything is working as it should. I am back to square one as far as design but at least the foundation is secure :).


Log in to reply
 

Looks like your connection to thirty bees forum was lost, please wait while we try to reconnect.