View Issue Details

IDProjectCategoryView StatusLast Update
0001346OXID eShop (all versions)1.03. Basket, checkout processpublic2012-12-07 15:13
ReporterThomas Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Fixed in Version4.2.0 revision 23610 
Summary0001346: Bug in oxorder::finalizeOrder
DescriptionNote: The class oxpaymentgateway is used to create Payment Interfaces. For many gateways it now runs like this:

- Shop for the first time after running oxpaymentgateway::ExecutePayment, 'delete' the order object (order still depends on successful payment), and calls the external payment page.

- Payment Page returns to the shop and calls again oxpaymentgateway:: ExecutePayment on. Return is recognized, and this time the preparation of the order completed and saved.


PROBLEM:

oxorder:: finalizeOrder() now performs an update the inventory AFTER the call to oxpaymentgateway::ExecutePayment. Initially appears correctly, but it is not, because when you delete the folder in oxpaymentgateway::ExecutePayment ($order->delete() - see above), even the stock increased accordingly. It is thus also increases the stock, though not before it was lowered - Score overstock!


Additional InformationIn the attached file, please check / / EI. This fix is for some time in the shop with high-feelings.de in use and works properly.
TagsPayment
Attached Files
oxorder.php (60,766 bytes)
Theme
BrowserAll
PHP Version5.2.6
Database Version5.0.33

Activities

arvydas_vapsva

2009-10-05 14:12

reporter   ~0001880

fixed by moving stock update functionality to oxOrderArticle::save()/oxOrderArticle::delete(), which, if needed updates stock. oxOrderArticle::save() is normally called on oxOrder::save(), so problems decribed in bug entry should be gone.