Recently one of our customers (using a DW 8.9.2.20) had a weird problem with and order that got the “Cart only supports cart items” exception on the CheckoutDone of the payment handler of an order.
Here is part of the order debug info, and noticed in red the moment when the exception is cot in DW:
In green is the moment when our custom integration picked the order and tried to calculate the cart (it did not have the OrderComplete = 1 to be interpreted has an order, maybe because the checkout handler tried to downgrade the order to cart), this is proved by the integration log:
From the other lines in the order debug info I can see that this order has started with the id CART88056 but somehow it generated a couple of more carts at the exact same date and for the same customer, I think this can be related to the exceptions:
Stranger is that these carts got updated as order OrderComplete = 1 and also the order itself, and we do not have any job update orders in DW.
With this update that I don’t understand where it came from it trigger all of these “orders” to be created in the ERP of the customer.
From the integration log I can see that the CheckoutDoneOrderIsComplete notification never got fired and a little digging in the source code lead me to this peace of code in file eCommerce\Cart\Frontend.vb:
Not sure if any SQL exception occurred during the execution of lines 1338 until 1355, but the line 1336 has is value written in the debug info and the exception showed in the first image is written by the try block for this method (easy to identify because of the word casing).
With all of this information can you help me
- Determine how the carts got created?
- How can all the carts and order got updated as orders completed?
- Can you create smaller try blocks in these statements to prevent an order from being correctly finished if the gifs cards or analytics give an exception updating the database?
Thanks in advance,