Incompleted Orders

I have reward points but for some reason nobody seems to use them!? (well, their loss :D)

Hi, yup I get incomplete orders often with reward points.

core/fn.users.php (approx line 604)



Find this code :



/*
function fn_get_user_additional_data($type, $user_id = 0)
{
$auth = & $_SESSION['auth'];
if (AREA != 'A') {
$user_id = 0;
}
if (empty($user_id) && !empty($auth['user_id'])) {
$user_id = $auth['user_id'];
}
if (empty($user_id)) {
return false;
}
$data = db_get_field("SELECT data FROM ?:user_data WHERE user_id = ?i AND type = ?s", $user_id, $type);
if (!empty($data)) {
$data = unserialize($data);
}
return $data;
}
*/




As you see the above code is commented,

This bug was found on cs-cart 2.1.4. And it is FIXED on 2.2.4 (cs-cart update to 2.2.4 should fix this problem )

I have not tested each version, so i do not know if on 2.2.1, 2.2.2 and 2.2.3 the bug is still there or not.

However if you do have an earlier version, comment the above code and add the following:



function fn_get_user_additional_data($type, $user_id = 0)
{
$auth = & $_SESSION['auth'];
if (empty($user_id) && !empty($auth['user_id'])) {
$user_id = $auth['user_id'];
}

if (empty($user_id)) {
return false;
}

$data = db_get_field("SELECT data FROM ?:user_data WHERE user_id = ?i AND type = ?s", $user_id, $type);
if (!empty($data)) {
$data = unserialize($data);
}

return $data;
}

Thanks guys! Using 2.24 here so maybe that's why I never noticed anything.

I'm in 2.2.4, have the Reward Points addon disabled, and am seeing this behavior with PayPal. Incomplete orders yet they are paid in PayPal. What's even stranger is that staff here tells me the wrong products show up on the order. Products and address info from the previous order. As if a session is not being ended. I'm still testing for myself so take with a grain of salt.

I am also having a problem with orders showing up as Incomplete although they are paid with paypal. Rewards points are disabled.



Anyone have any new ideas?

One of my customers today just told me they received an email from PayPal with a payment notice, but there was no record of the order under “View Orders” section. I checked and the order appears only in the dashboard as “Incomplete”.

I am puzzled because before implementing Authorize.net on their website, this customer was only working with PayPal and all the orders were successfully appearing in the View Order section as processed, no incomplete orders!

Do you think it may have something to do with the redirect to the store after customer completes payment thru PayPal?

For the record, I am using 2.2.5 and the “bug” with PayPal should be solved

From my understanding the cart session isn't removed until the customer returns back to the site, therefore if the customer doesn't return, the cart doesn't receive the 'success' message back from Paypal, so the order stays as incomplete. This isn't really a fault of CS-Cart's - it's failure by design on Paypal's end, hence this problem crops up with every shopping cart software.

I understand…So there is no way to set PayPal to return to the store automatically after the transaction is done?

Isn't there a redirect setting under PayPal? Or a timer that if the customer does not take any action redirect back to the site?

Oddly when customer was using only PayPal for transactions, there were no incomplete orders under cs-cart…everyone was clicking the button to return to the store after completing the purchase?

The important part here is which type of Paypal payments did you used to take and which do you take now? Paypal or Paypal Pro?

[quote name='StellarBytes' timestamp='1360766242' post='155166']

The important part here is which type of Paypal payments did you used to take and which do you take now? Paypal or Paypal Pro?

[/quote]



Never changed it…I am using PayPal

Which type of Paypal, there are:



PayPal Express Checkout

PayPal (PayPal Website Payments Standard)

PayPal Pro (PayPal Website Payments Pro)



I assume Website Payments Standard? See the suggestions of CS-Cart support here.



Which version of CS-Cart are you on? There may have been changes to the PayPal API which a newer version has a fix included. If you have your PayPal settings as Support suggested in the aforementioned thread (note those instructions are going on 2 years old, so still may be wrong) and still have the problem, you're best bet is to have this investigated. CS-Cart support will be able to investigate and find a solution, if there is one, for you.

Thanks for reply StellarBytes

I am using PayPal (PayPal Website Payments Standard)



I have read the post you linked.

someone there was saying:



“So that was the ticket, I had to “reset” the IPN on Paypal to get it to send out the notifications again. Now the sites were properly and post properly when we receive a Paypal payment.”



But that goes only is if someone is using IPN, I guess?



One thing that I may think of was checking the box in the admin that says “Keep HTTPS connection once a secure page is visited” which was unchecked before…could it be that that's what is causing PayPal to fail to communicate with cs-cart?

All the “checkout.xxx” dispatches are served under HTTPS, so I doubt it. HTTPS is used sending data to Paypal and receiving data back from Paypal, irrespective of the 'Keep HTTPS connection' setting.

After reading the article you linked it seems like the correct configuation of PayPal should be


  • Instant Payment Notification - off
  • Payment Data Transfer - off
  • Auto Return for Website Payments - off
  • Return URL - blank



    Can you confirm that if you are using it as well?

    I will try using the same settings, but still there is the “mistery” of why everything was working fine before and suddenly I got this incomplete order issue…

Are you getting incomplete with every Paypal order? Just a one off order, or randomly?



I do not currently use the Paypal method in the cart as I take advantage of the reduced Paypal rates through another merchant gateway, so I cannot confirm whether or not these settings are still correct.

I get the same incomplete order only when a customer don't register for account.

I was wondering if in fact anyone confirmed that PayPal transactions were becoming incomplete only if someone does not register? And is there a fix?



Thank you.