Also still no v4.0 release? Thought that was due in October?
So I've been using LimeLM for over a year now across 2 programs. My account level has moved to the $150 per month slot and I'm not sure if that is related, but I'm getting a significant amount of keys just not being generated after a purchase. I would say about 20% of my sales result in no key being generated.
There is no log since the logging system has never worked for me ever. The permissions appear to be fine showing read and write access for owners, but if not, how could I go about properly debugging it?
This was a rare issue the first year of use but I am inquiring because it shot up to an annoyingly high level. I'm getting a lot of PayPal disputes because of it.
Thanks for your time.
>> "Also still no v4.0 release? Thought that was due in October?"
Nope, it's not out yet. We're working hard to get it out ASAP. Dates got pushed for a variety of reasons listed elsewhere in this forum.
>> "There is no log since the logging system has never worked for me ever."
That's problem #1. That's the problem you have to fix before anything can be addressed. Because if you don't know what's happening then you don't know what's working and what's failing.
>> "The permissions appear to be fine showing read and write access for owners, but if not, how could I go about properly debugging it?"
OK, and you also have to change the owner & group to be the exact same as the owner & group for whichever process is running PHP. That depends entirely on your configuration. It's not as simple as giving you a snippet of commandline code to run.
>> "This was a rare issue the first year of use but I am inquiring because it shot up to an annoyingly high level. I'm getting a lot of PayPal disputes because of it."
My advice is to just use FastSpring. Or any other payment platform that does the payment processing "on site". Because (a) you don't have to worry about your emails getting caught in spam filters (a huge problem) and you don't have to worry about configuring your servers.
Hello again, So I was able to resolve the issue with the log, and just ran into the issue again. Here was the log (with user info removed)
Array( [quantity_licenses] => 1 [pkey] => [pkey_emailed] => 0 [first_name] => Deeply [last_name] => Squid => sxxxxxxxxxxxx@yahoo.com) [02/28/2016 5:59 PM] - FAILURE :Error sending product Email to sxxxxxxxxxxxx@yahoo.com.[02/28/2016 5:59 PM] - SUCCESS :paychecker finished. ------------------------------------------------------------------ [02/28/2016 6:41 PM] - SUCCESS :paychecker intiated by 199.27.133.15[02/28/2016 6:41 PM] - SUCCESS :Validating PayPal order 1[02/28/2016 6:41 PM] - SUCCESS :IPN successfully verified.[02/28/2016 6:41 PM] - SUCCESS :Creating product Information to send.[02/28/2016 6:42 PM] - SUCCESS :TODO: Insert array into db:
My mistake! Here is the corrected log entry. The spacing was weird and threw me off!
[02/27/2016 11:33 PM] - SUCCESS :paychecker intiated by 199.27.133.15[02/27/2016 11:33 PM] - SUCCESS :Validating PayPal order 1[02/27/2016 11:33 PM] - FAILURE :Invalid payment_status: Reversed[02/27/2016 11:34 PM] - SUCCESS :paychecker intiated by 199.27.133.15[02/27/2016 11:34 PM] - SUCCESS :Validating PayPal order [02/27/2016 11:34 PM] - FAILURE :Invalid payment_status: [02/28/2016 2:32 PM] - SUCCESS :paychecker intiated by 199.27.133.15[02/28/2016 2:32 PM] - SUCCESS :Validating PayPal order 1[02/28/2016 2:32 PM] - FAILURE :Invalid payment_status: Pending[02/28/2016 5:59 PM] - SUCCESS :paychecker intiated by 199.27.133.15[02/28/2016 5:59 PM] - SUCCESS :Validating PayPal order 1[02/28/2016 5:59 PM] - SUCCESS :IPN successfully verified.[02/28/2016 5:59 PM] - SUCCESS :Creating product Information to send.[02/28/2016 5:59 PM] - FAILURE :Failed to generate product keys, caught exception: String could not be parsed as XML[02/28/2016 5:59 PM] - SUCCESS :TODO: Insert array into db:
Array( [quantity_licenses] => 1 [pkey] => [pkey_emailed] => 0 [first_name] => Deeply [last_name] => Squid => sxxxxxxxxxx@yahoo.com) [02/28/2016 5:59 PM] - FAILURE :Error sending product Email to sxxxxxxxxxx@yahoo.com.[02/28/2016 5:59 PM] - SUCCESS :paychecker finished. ------------------------------------------------------------------
I'm assuming you will specify where to add more log calls and we wait for it to happen again? Not much to go on...
OK, it's telling you exactly what failed.:
[02/28/2016 5:59 PM] - FAILURE :Failed to generate product keys, caught exception: String could not be parsed as XML
So, as part of the debugging output exactly what was returned from the servers. My guess is that teh request or response got intercepted. Make sure you're using the https:// URL in LimeLM.php.
/ Almost all users should leave this line unchanged.self::$request = curl_init('https://wyday.com/limelm/api/rest/');
Is the only reference to a link in LimeLM.php
This doesn't happen for every sale, but about 1 in 5. What should I add to debug this issue?
The error is coming from "new SimpleXMLElement(...)" because it's not being passed XML. So, what's inside new SimpleXMLElement?:
LimeLM::GeneratePKeys($LimeLM_VersionID, 1, $quantity, $email)
So... you separate that from the parameter, put the string into the log file:
// Generate the product key - set the number of activations using the quantity$limelm_ret = LimeLM::GeneratePKeys($LimeLM_VersionID, 1, $quantity, $email);debug_log('LimeLM ret: '.$limelm_ret, false);$xml = new SimpleXMLElement($limelm_ret);
Make sense?
Apologies for the 2 month delay, I managed to get the same error again and the log output.
[04/13/2016 7:47 AM] - SUCCESS :paychecker intiated by 199.27.128.112[04/13/2016 7:47 AM] - SUCCESS :Validating PayPal order 1[04/13/2016 7:47 AM] - SUCCESS :IPN successfully verified.[04/13/2016 7:47 AM] - SUCCESS :Creating product Information to send.[04/13/2016 7:47 AM] - FAILURE :LimeLM ret: [04/13/2016 7:47 AM] - FAILURE :Failed to generate product keys, caught exception: String could not be parsed as XML[04/13/2016 7:47 AM] - SUCCESS :TODO: Insert array into db:
Array( [quantity_licenses] => 1 [pkey] => [pkey_emailed] => 0 [first_name] => J**** [last_name] => C**** => r*************@hotmail.com) [04/13/2016 7:47 AM] - FAILURE :Error sending product Email to r*************@hotmail.com.[04/13/2016 7:47 AM] - SUCCESS :paychecker finished. ------------------------------------------------------------------
OK, then in that cases something between your server and our servers failed. And thus your script couldn't contact LimeLM. In this case setup a cron job on your server to retry generating the key at some backed-off interval.