So I've been playing around with Drupal Commerce trying to get a simple store done.

One of the things I've noticed, is when I try and checkout and say I get a PHP error when the payment is processing, you're left with a stale order and you're never able to check out with it ever again. You need to empty your cart and try again. I never complained about this, since it was usually my fault and in an ideal world, shouldn't really happen.

We'll today I ran into something a little new. I added a product to my cart, checked it out, ran into the Transaction Locking + Devel bug. It appears my order was successfully processed though. I didn't know this at the time, so I went back and tried to process it again. I kept getting, "Can't pay with amount of $0" or something like that error when trying to purchase again. So I gave up, cleared my cart and purchase another item which was $100 more (First one being $390, second item being $490)

I was able to purchase this second item. I failed to notice that my orderID was still the same as the previous order. In my email invoices from both the processor and drupal commerce, instead of being charged $490 as expected, I was only charged the $100 difference of $390 and $490. This of course is not the desired behavior, as I'm creating a job posting site and essentially they get way more days than they are supposed to for the price of $100 instead of $490.

Anyone run into similar issues as this? This is certainly an inconsistent state bug, which shouldn't really happen. If we're going to do transactions for payments, we need to make sure we're left in a consistent state. We also need to make sure if something like this happens, there's not a stale order or cart or what ever it's called left lying around to cause these problems.

Here's what the transaction log looks like:

Status DateOnly local images are allowed. Method Remote ID Result message Amount Operations
Only local images are allowed. 08/17/2011 Authorize.Net AIM - Credit Card 2162182640 Authorization and capture
ACCEPTED: This transaction has been approved.
AVS response: Address (Street) and five digit ZIP match
CVV match: Not Processed
$390.00
Only local images are allowed. 08/17/2011 Authorize.Net AIM - Credit Card 0 Authorization and capture
REJECTED: A valid amount is required.
AVS response: AVS not applicable for this transaction
CVV match: -
$0.00
Only local images are allowed. 08/17/2011 Authorize.Net AIM - Credit Card 0 Authorization and capture
REJECTED: A valid amount is required.
AVS response: AVS not applicable for this transaction
CVV match: -
$0.00
Only local images are allowed. 08/17/2011 Authorize.Net AIM - Credit Card 0 Authorization and capture
REJECTED: A valid amount is required.
AVS response: AVS not applicable for this transaction
CVV match: -
$0.00
Only local images are allowed. 08/17/2011 Authorize.Net AIM - Credit Card 2162182757 Authorization and capture
ACCEPTED: This transaction has been approved.
AVS response: Address (Street) and five digit ZIP match
CVV match: Not Processed
$100.00

Comments

rszrama’s picture

Status: Active » Closed (cannot reproduce)

Hey man, I don't suppose you ever sorted out what went on here? I haven't experienced anything of the sort, and I'm guessing it's time to close this one out unless we arrive at a reproducible bug. That said, for your initial issue with an order being inaccessible - was it using a redirected payment method or on-site? For redirected payment, I'd refer to #1199170: Cart contents lost before Paypal completion. For on-site payment, I'm not sure how that happens. : D

j0rd’s picture

It's been a while and I'm no longer working on that project.

Shouldn't be a problem closing, as lots has changed since when this was discovered. Here for reference if anyone should find it searching the issue queue.

rszrama’s picture

Good deal, thanks for the update. Sorry it took me so long to follow-up... was cleaning out my "Issues" bookmark folder and apparently this had been in there for a year and change. : P

rszrama’s picture

Issue summary: View changes

Added transaction log