Hello guys,
with oxid Version 6.0 the shop is using MySQL transactions. -> https://dev.mysql.com/doc/refman/5.7/en/commit.html For example this is used in OxidEsales\Eshop\Application\Model\Order::recalculateOrder (formally known as oxorder::recalculateOrder). https://github.com/OXID-eSales/oxideshop_ce/blob/472ce3d73e5f0e46a29566f5290a85d631bd00db/source/Application/Model/Order.php#L1354 In the process of Order::finalizeOrder, the PaymentGateway::executePayment() allows modules to perform module based validations. https://github.com/OXID-eSales/oxideshop_ce/blob/472ce3d73e5f0e46a29566f5290a85d631bd00db/source/Application/Model/Order.php#L916 Some payment provider will create transactions and send it back to the shop. A module will be willing to save/log these transactions to the database. If there are a failed transaction and the module save his object via shop standard BaseModel::save() and the PaymentGateway::executePayment() return a false, the complete MySQL transaction will be ROLLBACK'ed. (Order::recalculateOrder()) https://github.com/OXID-eSales/oxideshop_ce/blob/472ce3d73e5f0e46a29566f5290a85d631bd00db/source/Application/Model/Order.php#L1374 So the module lost all informations/transactions, which are saved during the transaction. How is oxid's suggestion to save these transactions from ROLLBACK? best regards Kristian Hempel -- Richten Sie Fehlermeldungen und Supportanfragen bitte an supp...@shopmodule.com. Fresh ideas for your business D³ Data Development (Inh. Thomas Dartsch) Stollberger Straße 23 · D-09380 Thalheim Fon 03721 268090 · Fax 03721 265234 Shop: http://www.oxidmodule.com Firma: http://www.shopmodule.com Blog: http://blog.oxidmodule.com FAQ: http://faq.oxidmodule.com OXID eSales AG Certified Partner Business Level Profihost AG Enterprise Partner