本文整理汇总了PHP中Mage_Sales_Model_Order_Payment_Transaction类的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Sales_Model_Order_Payment_Transaction类的具体用法?PHP Mage_Sales_Model_Order_Payment_Transaction怎么用?PHP Mage_Sales_Model_Order_Payment_Transaction使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Mage_Sales_Model_Order_Payment_Transaction类的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: loadObjectByTxnId
/**
* Load the tansaction object by specified txn_id
* @param Mage_Sales_Model_Order_Payment_Transaction $transaction
* @param int $orderId
* @param int $paymentId
* @param string $txnId
*/
public function loadObjectByTxnId(Mage_Sales_Model_Order_Payment_Transaction $transaction, $orderId, $paymentId, $txnId)
{
$select = $this->_getLoadByUniqueKeySelect($orderId, $paymentId, $txnId);
$data = $this->_getWriteAdapter()->fetchRow($select);
$transaction->setData($data);
$this->unserializeFields($transaction);
$this->_afterLoad($transaction);
}
示例2: testLoadByTxnId
public function testLoadByTxnId()
{
$order = new Mage_Sales_Model_Order();
$order->loadByIncrementId('100000001');
$model = new Mage_Sales_Model_Order_Payment_Transaction();
$model->setOrderPaymentObject($order->getPayment())->loadByTxnId('invalid_transaction_id');
$this->assertNull($model->getId());
$model->loadByTxnId('trx1');
$this->assertNotNull($model->getId());
}
示例3: getParentTransaction
/**
* Parent transaction getter
* May attempt to load it.
*
* @param bool $shouldLoad
* @return Mage_Sales_Model_Order_Payment_Transaction|false
*/
public function getParentTransaction($shouldLoad = true)
{
if (null === $this->_parentTransaction) {
$this->_verifyThisTransactionExists();
$this->_parentTransaction = false;
$parentId = $this->getParentId();
if ($parentId) {
$class = get_class($this);
$this->_parentTransaction = new $class();
if ($shouldLoad) {
$this->_parentTransaction->setOrderPaymentObject($this->_paymentObject)->load($parentId);
if (!$this->_parentTransaction->getId()) {
$this->_parentTransaction = false;
} else {
$this->_parentTransaction->hasChildTransaction(true);
}
}
}
}
return $this->_parentTransaction;
}
示例4: __createNewTransaction
/**
* Re-create order with new transaction returned by Eway
* @param $data
*/
private function __createNewTransaction(Mage_Sales_Model_Order $order, $transId)
{
// Load transaction
$currentTrans = Mage::getModel('sales/order_payment_transaction')->getCollection()->addFieldToFilter('order_id', array('eq' => $order->getEntityId()));
foreach ($currentTrans as $t) {
}
if ($t == null) {
$t = new Mage_Sales_Model_Order_Payment_Transaction();
}
$trans = new Mage_Sales_Model_Order_Payment_Transaction();
// Load payment object
$payment = Mage::getModel('sales/order_payment')->load($t->getPaymentId());
$trans->setOrderPaymentObject($payment);
$trans->setOrder($order);
$trans->setParentId($t->getTransactionId());
$trans->setOrderId($order->getEntityId());
$trans->setPaymentId($t->getPaymentId());
// Get new TxnId
$break = true;
for ($i = 0; $i < 100; $i++) {
$transId += 1;
$newTrans = Mage::getModel('sales/order_payment_transaction')->getCollection()->addFieldToFilter('txn_id', array('eq' => $transId));
if (count($newTrans) == 0) {
$break = false;
break;
}
}
if ($break) {
return false;
}
$trans->setTxnId($transId);
$trans->setParentTxnId($t->getTxnId());
$trans->setTxnType($t->getTxnType());
$trans->setIsClosed($t->getIsClosed());
$trans->setCreatedAt(date('Y-m-d H:i:s'));
$trans->save();
}
示例5: _isTransactionExpired
/**
* Check transaction for expiration in PST
*
* @param Mage_Sales_Model_Order_Payment_Transaction $transaction
* @param int $period
* @return boolean
*/
protected function _isTransactionExpired(Mage_Sales_Model_Order_Payment_Transaction $transaction, $period)
{
$period = intval($period);
if (0 == $period) {
return true;
}
$transactionClosingDate = new DateTime($transaction->getCreatedAt(), new DateTimeZone('GMT'));
$transactionClosingDate->setTimezone(new DateTimeZone('US/Pacific'));
/**
* 11:49:00 PayPal transactions closing time
*/
$transactionClosingDate->setTime(11, 49, 00);
$transactionClosingDate->modify('+' . $period . ' days');
$currentTime = new DateTime(null, new DateTimeZone('US/Pacific'));
if ($currentTime > $transactionClosingDate) {
return true;
}
return false;
}
示例6: _generateTransactionId
/**
* Update transaction ids for further processing
* If no transactions were set before invoking, may generate an "offline" transaction id
*
* @param string $type
* @param Mage_Sales_Model_Order_Payment_Transaction $transactionBasedOn
*/
protected function _generateTransactionId($type, $transactionBasedOn = false)
{
if (!$this->getParentTransactionId() && !$this->getTransactionId() && $transactionBasedOn) {
$this->setParentTransactionId($transactionBasedOn->getTxnId());
}
// generate transaction id for an offline action or payment method that didn't set it
if (($parentTxnId = $this->getParentTransactionId()) && !$this->getTransactionId()) {
$this->setTransactionId("{$parentTxnId}-{$type}");
}
}
示例7: salesOrderTransactionLoadAfter
/**
* Check whether order transaction can be loaded
*
* @param Mage_Sales_Model_Order_Payment_Transaction $model
*/
public function salesOrderTransactionLoadAfter($model)
{
if (!$this->_role->hasWebsiteAccess($model->getOrderWebsiteId())) {
$this->_throwLoad();
}
}
示例8: __createNewTransaction
/**
* Re-create order with new transaction returned by Eway
* @param $data
*/
private function __createNewTransaction(Mage_Sales_Model_Order $order, $transId)
{
// Load transaction
$currentTrans = Mage::getModel('sales/order_payment_transaction')->getCollection()->addFieldToFilter('order_id', array('eq' => $order->getEntityId()));
foreach ($currentTrans as $t) {
}
if ($t == null) {
$t = new Mage_Sales_Model_Order_Payment_Transaction();
}
$trans = new Mage_Sales_Model_Order_Payment_Transaction();
// Load payment object
$payment = Mage::getModel('sales/order_payment')->load($t->getPaymentId());
$trans->setOrderPaymentObject($payment);
$trans->setOrder($order);
$trans->setParentId($t->getTransactionId());
$trans->setOrderId($order->getEntityId());
$trans->setPaymentId($t->getPaymentId());
$trans->setTxnId($transId);
$trans->setParentTxnId($t->getTxnId());
$trans->setTxnType($t->getTxnType());
$trans->setIsClosed($t->getIsClosed());
$trans->setCreatedAt(date('Y-m-d H:i:s'));
$trans->save();
}
示例9: _generateTransactionId
/**
* Update transaction ids for further processing
* If no transactions were set before invoking, may generate an "offline" transaction id
*
* @param string $type
* @param Mage_Sales_Model_Order_Payment_Transaction $transactionBasedOn
*/
protected function _generateTransactionId($payment, $type, $transactionBasedOn = false)
{
if (!$payment->getParentTransactionId() && $transactionBasedOn) {
$payment->setParentTransactionId($transactionBasedOn->getTxnId());
}
// generate transaction id for an offline action or payment method that didn't set it
if ($parentTxnId = $payment->getParentTransactionId()) {
$transactionId = "{$parentTxnId}-{$type}";
$collection = Mage::getModel('sales/order_payment_transaction')->getCollection()->setOrderFilter($payment->getOrder())->addPaymentIdFilter($payment->getId())->addTxnTypeFilter($type);
if ($collection->count() > 0) {
$transactionId .= '-' . ($collection->count() + 1);
}
$payment->setTransactionId($transactionId);
}
}
示例10: unserializeFields
/**
* Unserialize additional information if required
* @param Mage_Sales_Model_Order_Payment_Transaction $transaction
*/
public function unserializeFields(Mage_Sales_Model_Order_Payment_Transaction $transaction)
{
$additionalInformation = $transaction->getData('additional_information');
if (empty($additionalInformation)) {
$transaction->setData('additional_information', array());
} elseif (!is_array($additionalInformation)) {
$transaction->setData('additional_information', unserialize($additionalInformation));
}
}
示例11: transactionIsVoided
/**
* Determine if a transaction has been voided, using the "txn_type" field
* instead of "type" like the native isVoided method does
*
* @param Mage_Sales_Model_Order_Payment_Transaction $trans
* @return bool
*/
public function transactionIsVoided($trans)
{
$children = $trans->getChildTransactions();
$result = false;
if (Mage_Sales_Model_Order_Payment_Transaction::TYPE_AUTH === $trans->getTxnType()) {
foreach ($children as $child) {
if (Mage_Sales_Model_Order_Payment_Transaction::TYPE_VOID === $child->getTxnType()) {
$result = true;
}
}
}
return $result;
}
示例12: _toHtml
protected function _toHtml()
{
$this->setTxnIdHtml($this->escapeHtml($this->_txn->getTxnId()));
$this->setParentTxnIdUrlHtml($this->escapeHtml($this->getUrl('*/sales_transactions/view', array('txn_id' => $this->_txn->getParentId()))));
$this->setParentTxnIdHtml($this->escapeHtml($this->_txn->getParentTxnId()));
$this->setOrderIncrementIdHtml($this->escapeHtml($this->_txn->getOrder()->getIncrementId()));
$this->setTxnTypeHtml($this->escapeHtml($this->_txn->getTxnType()));
$this->setOrderIdUrlHtml($this->escapeHtml($this->getUrl('*/sales_order/view', array('order_id' => $this->_txn->getOrderId()))));
$this->setIsClosedHtml($this->_txn->getIsClosed() ? Mage::helper('sales')->__('Yes') : Mage::helper('sales')->__('No'));
$createdAt = strtotime($this->_txn->getCreatedAt()) ? $this->formatDate($this->_txn->getCreatedAt(), Mage_Core_Model_Locale::FORMAT_TYPE_MEDIUM, true) : $this->__('N/A');
$this->setCreatedAtHtml($this->escapeHtml($createdAt));
return parent::_toHtml();
}
示例13: _construct
protected function _construct()
{
parent::_construct();
$this->_init('payperrentals/sales_payment_transaction');
return $this;
}