/** * Generate end return new secure hash value * * @param Mage_Sales_Model_Order_Payment $payment * @return string */ protected function _generateSecureSilentPostHash($payment) { $secureHash = md5(Mage::helper('core')->getRandomString(10)); $payment->setAdditionalInformation($this->_secureSilentPostHashKey, $secureHash); return $secureHash; }
/** * sets the canRefund information depending on the last refund operation code * * @param Mage_Sales_Model_Order_Payment $payment */ public function setCanRefundToPayment(Mage_Sales_Model_Order_Payment $payment) { $refundOperationCode = $payment->getAdditionalInformation('lastRefundOperationCode'); if (in_array(strtoupper(trim($refundOperationCode)), array(Netresearch_OPS_Model_Payment_Abstract::OPS_REFUND_FULL, Netresearch_OPS_Model_Payment_Abstract::OPS_REFUND_PARTIAL))) { /* * a further refund is possible if the transaction remains open, that means either the merchant * did not close the transaction or the refunded amount is less than the orders amount */ $canRefund = $refundOperationCode == Netresearch_OPS_Model_Payment_Abstract::OPS_REFUND_PARTIAL; Mage::helper('ops/data')->log(sprintf("set canRefund to '%s' for payment of order '%s'", var_export($canRefund, true), $payment->getOrder()->getIncrementId())); $payment->setAdditionalInformation('canRefund', $canRefund)->save(); } }
/** * If response is failed throw exception * Set token data in payment object * * @param Varien_Object $response * @param Mage_Sales_Model_Order_Payment $payment * @throws Mage_Core_Exception */ protected function _processTokenErrors($response, $payment) { if (!$response->getSecuretoken() && $response->getResult() != self::RESPONSE_CODE_APPROVED && $response->getResult() != self::RESPONSE_CODE_FRAUDSERVICE_FILTER) { Mage::throwException($response->getRespmsg()); } else { $payment->setAdditionalInformation('secure_token_id', $response->getSecuretokenid())->setAdditionalInformation('secure_token', $response->getSecuretoken()); } }
/** * * @param Allopass_Hipay_Model_Api_Response_Gateway $gatewayResponse * @param Mage_Sales_Model_Order_Payment $payment */ protected function _setFraudDetected($gatewayResponse, $customer, $payment, $amount, $addToHistory = false) { if ($fraudScreening = $gatewayResponse->getFraudScreening()) { if (isset($fraudScreening['result']) && isset($fraudScreening['scoring'])) { $order = $payment->getOrder(); $payment->setIsFraudDetected(true); if (defined('Mage_Sales_Model_Order::STATUS_FRAUD')) { $status = Mage_Sales_Model_Order::STATUS_FRAUD; } $payment->setAdditionalInformation('fraud_type', $fraudScreening['result']); $payment->setAdditionalInformation('fraud_score', $fraudScreening['scoring']); $payment->setAdditionalInformation('fraud_review', $fraudScreening['review']); if ($addToHistory) { $order->addStatusToHistory($status, Mage::helper('hipay')->getTransactionMessage($payment, $this->getOperation(), null, $amount, true, $gatewayResponse->getMessage())); } $message = Mage::helper('hipay')->__($gatewayResponse->getMessage()); if ($this->canSendFraudEmail($order->getStoreId())) { $email_key = 'fraud_payment'; if ($fraudScreening['result'] != 'challenged' || $gatewayResponse->getState() == self::STATE_DECLINED) { $email_key = 'fraud_payment_deny'; } $this->getHelper()->sendFraudPaymentEmail($customer, $order, $message, $email_key); } } } }
/** * Save PostFinance Status to Payment * * @param Mage_Sales_Model_Order_Payment $payment * @param array $params PostFinance-Response * * @return void */ public function savePostFinanceStatusToPayment(Mage_Sales_Model_Order_Payment $payment, $params) { $payment->setAdditionalInformation('status', $params['STATUS'])->save(); }