本文整理汇总了PHP中Mage_Sales_Model_Order_Payment::addTransaction方法的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Sales_Model_Order_Payment::addTransaction方法的具体用法?PHP Mage_Sales_Model_Order_Payment::addTransaction怎么用?PHP Mage_Sales_Model_Order_Payment::addTransaction使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mage_Sales_Model_Order_Payment
的用法示例。
在下文中一共展示了Mage_Sales_Model_Order_Payment::addTransaction方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: addNewTransaction
/**
* Magento $payment->addTransaction(...) needs the transaction_id = id from the transaction entry or string!
*
* @param Mage_Sales_Model_Order_Payment $payment
* @param string $type
* @param Mage_Sales_Model_Abstract $salesDocument
* @param bool $failsafe
* @param string $message
* @return null|Mage_Sales_Model_Order_Payment_Transaction
*/
public function addNewTransaction(Mage_Sales_Model_Order_Payment $payment, $type, $salesDocument = null, $failsafe = false, $message = false)
{
$transaction = null;
try {
$addInformation = $payment->getAdditionalInformation();
$payment->setTransactionId($addInformation['transactionId'] . '-' . $type);
$transaction = $payment->addTransaction($type, $salesDocument, $failsafe, $message);
$transaction->save();
} catch (Exception $e) {
Mage::logException($e);
}
return $transaction;
}
示例2: _addTransaction
/**
* Add payment transaction
*
* @param Mage_Sales_Model_Order_Payment $payment
* @param string $transactionId
* @param string $transactionType
* @param array $transactionDetails
* @param array $transactionAdditionalInfo
* @return null|Mage_Sales_Model_Order_Payment_Transaction
*/
protected function _addTransaction(Mage_Sales_Model_Order_Payment $payment, $transactionId, $transactionType, array $transactionDetails = array(), array $transactionAdditionalInfo = array(), $message = false)
{
$payment->setTransactionId($transactionId);
$payment->resetTransactionAdditionalInfo();
foreach ($transactionDetails as $key => $value) {
$payment->setData($key, $value);
}
foreach ($transactionAdditionalInfo as $key => $value) {
$payment->setTransactionAdditionalInfo($key, $value);
}
$transaction = $payment->addTransaction($transactionType, null, false, $message);
foreach ($transactionDetails as $key => $value) {
$payment->unsetData($key);
}
$payment->unsLastTransId();
/**
* It for self using
*/
$transaction->setMessage($message);
return $transaction;
}
示例3: _updatePaymentStatusDenied
/**
* Change the status to rejected
*
* @param Mage_Sales_Model_Order_Payment $payment
*/
protected function _updatePaymentStatusDenied(Mage_Sales_Model_Order_Payment $payment)
{
$comment = $this->_helper()->__('The transaction has been rejected.');
$payment->setTransactionId($this->_transactionId)->setPreparedMessage($comment)->setIsTransactionApproved(false)->setIsTransactionClosed(true)->deny()->save();
$payment->addTransaction(Mage_Sales_Model_Order_Payment_Transaction::TYPE_ORDER)->save();
$payment->getOrder()->sendOrderUpdateEmail(true, $comment)->save();
$payment->getOrder()->addStatusHistoryComment($comment)->save();
}
示例4: setPaymentTransactionInformation
/**
* Set Payment Transaction Information
*
* @param Mage_Sales_Model_Order_Payment $payment Sales Payment Model
* @param array $params Request params
*/
protected function setPaymentTransactionInformation($payment, $params)
{
$payment->setTransactionId($params['PAYID']);
$code = $payment->getMethodInstance()->getCode();
if (in_array($code, array('postfinance_cc', 'postfinance_directDebit'))) {
$payment->setIsTransactionClosed(false);
$payment->addTransaction("authorization", null, true, $this->__("Process outgoing transaction"));
$payment->setLastTransId($params['PAYID']);
if (isset($params['HTML_ANSWER'])) {
$payment->setAdditionalInformation('HTML_ANSWER', $params['HTML_ANSWER']);
}
}
$payment->setAdditionalInformation('paymentId', $params['PAYID']);
$payment->setAdditionalInformation('status', $params['STATUS']);
$payment->setIsTransactionClosed(true);
$payment->setDataChanges(true);
$payment->save();
}