本文整理汇总了PHP中Mage_Sales_Model_Order::registerCancellation方法的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Sales_Model_Order::registerCancellation方法的具体用法?PHP Mage_Sales_Model_Order::registerCancellation怎么用?PHP Mage_Sales_Model_Order::registerCancellation使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mage_Sales_Model_Order
的用法示例。
在下文中一共展示了Mage_Sales_Model_Order::registerCancellation方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _processTransactionExpired
/**
* Cancels an order after the period for payment elapsed.
*/
protected function _processTransactionExpired()
{
$payment = $this->_order->getPayment();
if ($transaction = $payment->getTransaction($this->_receivedData['transaction_id'])) {
$transaction->close();
}
$this->_order->registerCancellation($this->_createIpnComment(), false)->save();
$this->_order->sendOrderUpdateEmail(true, $this->_createIpnComment());
}
示例2: _declineOrder
/**
* Register order cancellation. Return money to customer if needed.
*
* @param Mage_Sales_Model_Order $order
* @param string $message
* @param bool $voidPayment
*/
protected function _declineOrder(Mage_Sales_Model_Order $order, $message = '', $voidPayment = true)
{
try {
$response = $this->getResponse();
if ($voidPayment && $response->getXTransId() && strtoupper($response->getXType()) == self::REQUEST_TYPE_AUTH_ONLY) {
$order->getPayment()->setTransactionId(null)->setParentTransactionId($response->getXTransId())->void();
}
$order->registerCancellation($message)->save();
} catch (Exception $e) {
//quiet decline
Mage::logException($e);
}
}
示例3: _registerPaymentFailure
/**
* Treat failed payment as order cancellation
*/
protected function _registerPaymentFailure()
{
$this->_order->registerCancellation(Mage::helper('sign2pay')->__('There was a problem with Sign2pay payment.'), false)->save();
return $this;
}
示例4: _registerPaymentFailure
/**
* Treat failed payment as order cancellation
*/
protected function _registerPaymentFailure()
{
$this->_importPaymentInformation();
$this->_order->registerCancellation($this->_createIpnComment(''), false)->save();
}
示例5: setOrderState
/**
* Set an order status based on transaction status
*
* @param Mage_Sales_Model_Order $order
* @param string $status
* @param string $message
*/
public function setOrderState($order, $status, $message = '')
{
$this->initLibrary();
switch ($status) {
case \Genesis\API\Constants\Transaction\States::APPROVED:
$order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, Mage_Sales_Model_Order::STATE_PROCESSING, $message, false)->save();
break;
case \Genesis\API\Constants\Transaction\States::PENDING:
case \Genesis\API\Constants\Transaction\States::PENDING_ASYNC:
$order->setState(Mage_Sales_Model_Order::STATE_PENDING_PAYMENT, Mage_Sales_Model_Order::STATE_PENDING_PAYMENT, $message, false)->save();
break;
case \Genesis\API\Constants\Transaction\States::ERROR:
case \Genesis\API\Constants\Transaction\States::DECLINED:
/** @var Mage_Sales_Model_Order_Invoice $invoice */
foreach ($order->getInvoiceCollection() as $invoice) {
$invoice->cancel();
}
$order->registerCancellation($message)->setCustomerNoteNotify(true)->save();
break;
default:
$order->save();
break;
}
}