src/ShopPaymentIPNBundle/objects/db/TPkgShopPaymentIPN_TPkgShopPaymentHandlerGroup.class.php
protected function handleTransactionHook(IPkgShopPaymentIPNHandler $oHandler, TPkgShopPaymentIPNRequest $oRequest)
    {
        $oOrder = $oRequest->getOrder();
        if (null === $oOrder) {
            return;
        }

        $oTransactionDetails = $oHandler->getIPNTransactionDetails($oRequest);
        if (null === $oTransactionDetails) {
            return;
        }

        $oTransactionManager = new TPkgShopPaymentTransactionManager($oOrder);

        $sStatus = '';
        $oStatus = $oRequest->getIpnStatus();
        if (null !== $oStatus) {
            $sStatus = $oStatus->fieldCode;
        }

        $oTransaction = null;
        // try to update the corresponding transaction first
        if (null !== $oTransactionDetails->getSequenceNumber()) {
            $oTransaction = $oTransactionManager->confirmTransaction(
                $oTransactionDetails->getSequenceNumber(),
                $oTransactionDetails->getTransactionTimestamp()
            );
        }

        if (null === $oTransaction) {
            \ChameleonSystem\CoreBundle\ServiceLocator::get('monolog.logger.order_payment_ipn')->warning(
                "IPN had transaction data but no matching transaction was found. order-id: {$oOrder->id}, ordernumber: {$oOrder->fieldOrdernumber}",
                array('request' => $oRequest->getRequestPayload())
            );
        }
    }
protected function handleTransactionHook(IPkgShopPaymentIPNHandler $oHandler, TPkgShopPaymentIPNRequest $oRequest)
    {
        $oOrder = $oRequest->getOrder();
        if (null === $oOrder) {
            return;
        }

        $oTransactionDetails = $oHandler->getIPNTransactionDetails($oRequest);
        if (null === $oTransactionDetails) {
            return;
        }

        $oTransactionManager = new TPkgShopPaymentTransactionManager($oOrder);

        $sStatus = '';
        $oStatus = $oRequest->getIpnStatus();
        if (null !== $oStatus) {
            $sStatus = $oStatus->fieldCode;
        }

        $oTransaction = null;
        // try to update the corresponding transaction first
        if (null !== $oTransactionDetails->getSequenceNumber()) {
            $oTransaction = $oTransactionManager->confirmTransaction(
                $oTransactionDetails->getSequenceNumber(),
                $oTransactionDetails->getTransactionTimestamp()
            );
        }

        if (null === $oTransaction) {
            \ChameleonSystem\CoreBundle\ServiceLocator::get('monolog.logger.order_payment_ipn')->warning(
                "IPN had transaction data but no matching transaction was found. order-id: {$oOrder->id}, ordernumber: {$oOrder->fieldOrdernumber}",
                array('request' => $oRequest->getRequestPayload())
            );
        }
    }
protected function handleTransactionHook ( IPkgShopPaymentIPNHandler $ oHandler , TPkgShopPaymentIPNRequest $ oRequest ) { $ oOrder = $ oRequest -> getOrder ( ) ; if ( null === $ oOrder ) { return ; } $ oTransactionDetails = $ oHandler -> getIPNTransactionDetails ( $ oRequest ) ; if ( null === $ oTransactionDetails ) { return ; } $ oTransactionManager = new TPkgShopPaymentTransactionManager ( $ oOrder ) ; $ sStatus = '' ; $ oStatus = $ oRequest -> getIpnStatus ( ) ; if ( null !== $ oStatus ) { $ sStatus = $ oStatus -> fieldCode ; } $ oTransaction = null ; // try to update the corresponding transaction first if ( null !== $ oTransactionDetails -> getSequenceNumber ( ) ) { $ oTransaction = $ oTransactionManager -> confirmTransaction ( $ oTransactionDetails -> getSequenceNumber ( ) , $ oTransactionDetails -> getTransactionTimestamp ( ) ) ; } if ( null === $ oTransaction ) { \ ChameleonSystem \ CoreBundle \ ServiceLocator :: get ( 'monolog.logger.order_payment_ipn' ) -> warning ( "IPN had transaction data but no matching transaction was found. order-id: {$oOrder->id}, ordernumber: {$oOrder->fieldOrdernumber}" , array ( 'request' => $ oRequest -> getRequestPayload ( ) ) ) ; } }
trigger transaction for the order based on the IPN.

@param IPkgShopPaymentIPNHandler $oHandler
@param TPkgShopPaymentIPNRequest $oRequest
trigger transaction for the order based on the IPN .