Hi,

I think that what OXID does here is not a mistake or anything like that. It is 
obviously a mistake in your payment interface.
If the trusted shop protection ($blRet = $this->_executeTsProtection( $oBasket 
);) fails, a numeric order state value (6) will be returned and must be handled 
after order->_getNextStep(). _getNextStep() should normally redirect the user 
to the payment view with a payment gateway specific error. So it's up to the 
payment interface provider to handle this case.

Correct me if I'm wrong, but these are my thoughts on the topic.

Best
Sven Ferber


Am 20.09.11 16:37 schrieb "Reinhard Vogl" unter <[email protected]>:

Hi everybody,

on 16.9. we released our newest Project on an OXID EE 4.5.1.
Today the finacial accounter told me that he has a lot of payments, that
did not execute an order.
Usually I would search in the paymentmodule. But the problem was not
continuous and it just happened in connection with the "Trusted Shop
Käuferschutz".
I Looked in the source and found a almost criminal part of native Oxid
code in the finalizeOrder function of oxorder.

// executing payment (on failure deletes order and returns error code)
         // in case when recalcualting order, payment execution is skipped
         if ( !$blRecalculatingOrder ) {
             $blRet = $this->_executePayment( $oBasket, $oUserPayment );
             if ( $blRet !== true ) {
                 return $blRet;
             }
         }

         // executing TS protection
         if ( !$blRecalculatingOrder && $oBasket->getTsProductId()) {
             $blRet = $this->_executeTsProtection( $oBasket );
             if ( $blRet !== true ) {
                 return $blRet;
             }
         }

This means to me that first a payment is executed and THEN depending on
the success of a Trustedshops call Order will be saved or skipped.
I Looked at the Orders and I found, some orders with successful Trusted
Shops Calls. but ther must be many, that failed an Money was already sent.

In my opinion there shouldnt be any interface call after a payment, that
could prohibit the execution of the order.

Please share some thoughts about a better Implementation of TrustedShops
Käufeschutz within the finalizeOrder.

best regards,
Reinhard Vogl
_______________________________________________
dev-general mailing list
[email protected]
http://dir.gmane.org/gmane.comp.php.oxid.general

_______________________________________________
dev-general mailing list
[email protected]
http://dir.gmane.org/gmane.comp.php.oxid.general

Reply via email to