Forums / PayPal Express Checkout support / EC payment received but no order

EC payment received but no order

Locked

Views: 2,506

Results 1 to 4 of 4
This thread is locked. New replies are disabled.
2 Oct 2007, 10:12 PM
#1
carlvt88 avatar

carlvt88

Zen Follower

Join Date:
Aug 2007
Location:
Williston, Vermont
Posts:
180
Plugin Contributions:
0

EC payment received but no order

I've searched and found other threads on this, but haven't been able to fix this problem. Occasionally, I receive a payment from PayPal, but an order isn't generated in zencart.

zencart 1.3.7 w/6/17 patches
EC module (debug log to file) and money-order module installed
using ssl on godaddy

Today we received 12 orders, but 14 payments. Yesterday was roughly the same.

Today we received a number of paypal alerts:
ALERT: PayPal Express Checkout Error (10415)
10415 Transaction refused because of an invalid argument. See additional error messages for details. - A successful transaction has already been completed for this token.

Where do I go next? Our selling season is only a few weeks long and we can't afford downtime. If this is a legitimate error from PayPal, shouldn't either the funds not go through? Or shouldn't the order be completed?

Please help
Thanks
Carl

3 Oct 2007, 2:21 AM
#2
drbyte avatar

drbyte

Sensei

Join Date:
Jan 2004
Posts:
63,515
Plugin Contributions:
176

Re: EC payment received but no order

carlvt88:

Today we received a number of paypal alerts:
ALERT: PayPal Express Checkout Error (10415)
10415 Transaction refused because of an invalid argument. See additional error messages for details. - A successful transaction has already been completed for this token.A "token" is generated when the customer begins the checkout process ... it's a unique ID number that identifies your customer's shopping session so that when they come back from the PayPal site their payment details get tied to the active order. Once a payment is made, the token is supposed to be cleared and a new one required in order to do another checkout. It should not be possible to place another transaction using the same token. Even using the browser's "back" button shouldn't be a problem, because Zen Cart deletes the old token upon successful checkout.

The only way I could see it being a problem is if one or more of the PayPal and/or checkout files is altered to not clear out the old token upon completing an order.

Do you have any mods installed that alter anything in the checkout flow?

.
Zen Cart - putting the dream of business ownership within reach of anyone!
Donate to: DrByte directly or to the Zen Cart team as a whole

Remember: Any code suggestions you see here are merely suggestions. You assume full responsibility for your use of any such suggestions, including any impact ANY alterations you make to your site may have on your PCI compliance.
Furthermore, any advice you see here about PCI matters is merely an opinion, and should not be relied upon as "official". Official PCI information should be obtained from the PCI Security Council directly or from one of their authorized Assessors.

3 Oct 2007, 5:08 AM
#3
carlvt88 avatar

carlvt88

Zen Follower

Join Date:
Aug 2007
Location:
Williston, Vermont
Posts:
180
Plugin Contributions:
0

Re: EC payment received but no order

DrByte:

Do you have any mods installed that alter anything in the checkout flow?

I did a diff on paypalwpp.php from the june 17 patch and found the following code added:

// snippet from help forum to avoid paypal address overwriting
// http://www.zen-cart.com/forum/showthread.php?t=70906&page=2
if(isset($_SESSION['sendto']) && isset($_SESSION['customer_default_address_id'])
&& $_SESSION['sendto'] != $_SESSION['customer_default_address_id'] && isset($_SESSION['customer_id'])){
//This user has selected a shipping address other than their default address book entry
$sql = "SELECT customers_paypal_ec
FROM " . TABLE_CUSTOMERS . "
WHERE customers_id = '".$_SESSION['customer_id']."' ";
$check_customer = $db->Execute($sql);

	if (!$check_customer->EOF) {
		if ($check_customer->fields['customers_paypal_ec'] != '1') {
			//this is not a temporary account so hide the shipping detail on the PayPal screen
			$options['NOSHIPPING'] = 1;
		}
	}
}
// end snippet

paypal.php is identical

I've also installed superorders and the sales report addon, but I don't believe they interfere with this.

For the most part, I suggest to users that they effectively use a guest shopping cart as most of our users proceed to EC, enter a cred card, and have a zen account created for them. Of course, this doesn't always happen.

I put that code in earlier - I don't think I need it and I'll try tomorrow with it removed.

3 Oct 2007, 9:49 PM
#4
carlvt88 avatar

carlvt88

Zen Follower

Join Date:
Aug 2007
Location:
Williston, Vermont
Posts:
180
Plugin Contributions:
0

Re: EC payment received but no order

Twenty orders and no glitches today :clap:

It was an intermittant problem, so I'll continue to monitor, but I'm going to optimistic and say that was the root cause (and hopefully not jinx myself in the process).

Dr. Byte - thanks for the guidance. I really appreciate your help in this forum. Your knowledge (and lack of arrogance) really help make zencart work! (forgive the suck-up - I'm about to launch another thread :cool: )

Thanks again,
Carl