Exemplo n.º 1
0
 /**
  * Changed By Adam 06/10/2014
  * Fix bug: cancel order => cancel transactiion, commission and discount in transaction = 0 but in program_transaction, commission still stays
  * @param type $observer
  */
 public function affiliateplus_cancel_transaction_multipleprogram($observer)
 {
     $transaction = $observer->getTransaction();
     $transactionStatus = $observer->getStatus();
     $programTransaction = Mage::getModel('affiliateplusprogram/transaction')->load($transaction->getId(), "transaction_id");
     if ($programTransaction && $programTransaction->getId()) {
         $programTransaction->setCommission(0)->save();
     }
 }
Exemplo n.º 2
0
 /**
  * handles redirect feedback
  * on success redirect customer to submitted(from Pay1) redirect url
  *
  * @param type $response 
  */
 protected function mopt_payone__handleRedirectFeedback($response)
 {
     if ($response->getStatus() == 'ERROR') {
         $this->View()->errormessage = $this->moptPayoneMain->getPaymentHelper()->moptGetErrorMessageFromErrorCodeViaSnippet(false, $response->getErrorcode());
         $this->forward('error');
     } else {
         $session = Shopware()->Session();
         $session->txId = $response->getTxid();
         $session->txStatus = $response->getStatus();
         $shopwareTemporaryId = $this->admin->sSYSTEM->sSESSION_ID;
         //set txid
         $sql = 'UPDATE `s_order`' . 'SET transactionID=? WHERE temporaryID = ?';
         Shopware()->Db()->query($sql, array($response->getTxid(), $shopwareTemporaryId));
         $this->redirect($response->getRedirecturl());
     }
 }
Exemplo n.º 3
0
 /**
  * @since v0.1.0.8
  * @param type $order
  * @param type $success
  */
 public function setRefundAuthorized($order, $success = false)
 {
     if ($success && !empty($order)) {
         $status = $this->_getConfigData('refund_authorized');
         $status = !empty($status) ? $status : $order->getStatus();
         $order->addStatusHistoryComment(Mage::helper('adyen')->__('Adyen Refund Successfully completed'), $status);
         $order->sendOrderUpdateEmail((bool) $this->_getConfigData('send_update_mail'));
         $order->save();
         return true;
     }
     return false;
 }
Exemplo n.º 4
0
 /**
  * 
  *
  * @param type $response
  * @return type 
  */
 protected function buildParamDetails($request, $response)
 {
     $details = array_merge($request->toArray(), array('response_state' => $response->getStatus()));
     ksort($details);
     return $details;
 }
Exemplo n.º 5
0
 /**
  * 
  * @param type $observer
  * @return type
  */
 public function cancelTransaction($observer)
 {
     /* hainh edit 25-04-2014 */
     if (!Mage::helper('affiliatepluslevel')->isPluginEnabled()) {
         return;
     }
     $transaction = $observer->getTransaction();
     $transactionStatus = $observer->getStatus();
     $commission = $observer->getCommission();
     $tierTransactions = $this->_getTierTransactions($transaction);
     try {
         $account = Mage::getModel('affiliateplus/account')->setStoreId($transaction->getStoreId());
         foreach ($tierTransactions as $tierTransaction) {
             if ($transactionStatus == 1) {
                 $account->load($tierTransaction->getTierId());
                 if ($tierTransaction->getLevel() == 0) {
                     $balanceAdded = $transaction->getCommission() + $transaction->getCommissionPlus() + $transaction->getCommission() * $transaction->getPercentPlus() / 100;
                     $balance = $account->getData('balance') + $balanceAdded - $tierTransaction->getCommission() - $tierTransaction->getCommissionPlus();
                     //                    $balance = $account->getBalance() + $balanceAdded - $tierTransaction->getCommission() - $tierTransaction->getCommissionPlus();
                 } else {
                     $balance = $account->getData('balance') - $tierTransaction->getCommission() - $tierTransaction->getCommissionPlus();
                     //                    $balance = $account->getBalance() - $tierTransaction->getCommission() - $tierTransaction->getCommissionPlus();
                 }
                 $account->setBalance($balance)->save();
             }
             $tierTransaction->setCommission(0)->setCommissionPlus(0)->save();
             //send mail Complete to account
             if ($tierTransaction->getLevel() > 0) {
                 $tierTransaction->sendMailUpdatedTransactionToAccount($transaction, false);
             }
         }
     } catch (Exception $e) {
     }
 }