本文整理汇总了PHP中Mage_Payment_Model_Info::save方法的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Payment_Model_Info::save方法的具体用法?PHP Mage_Payment_Model_Info::save怎么用?PHP Mage_Payment_Model_Info::save使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mage_Payment_Model_Info
的用法示例。
在下文中一共展示了Mage_Payment_Model_Info::save方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: fetchTransactionInfo
/**
* Fetch transaction details info
*
* @param Mage_Payment_Model_Info $payment
* @param string $transactionId
* @return array
*/
public function fetchTransactionInfo(Mage_Payment_Model_Info $payment, $transactionId)
{
/** @var Mage_Sales_Model_Order_Payment_Transaction $transaction */
$transaction = Mage::getModel('sales/order_payment_transaction')->load($transactionId, 'txn_id');
$checkout_transaction = $transaction->getOrder()->getPayment()->lookupTransaction(null, Mage_Sales_Model_Order_Payment_Transaction::TYPE_ORDER);
$reconcile = $this->reconcile($checkout_transaction->getTxnId());
// Get the current details
$transaction_details = $payment->getAdditionalInformation(Mage_Sales_Model_Order_Payment_Transaction::RAW_DETAILS);
// Try to extract transaction details from the Gateway response
if ($reconcile->unique_id == $transactionId) {
$transaction_details = $reconcile;
} else {
if ($reconcile->payment_transaction instanceof stdClass) {
if ($reconcile->payment_transaction->unique_id == $transactionId) {
$transaction_details = $reconcile->payment_transaction;
}
}
if ($reconcile->payment_transaction instanceof ArrayObject) {
foreach ($reconcile->payment_transaction as $payment_transaction) {
if ($payment_transaction->unique_id == $transactionId) {
$transaction_details = $payment_transaction;
}
}
}
}
// Remove the current details
$payment->unsAdditionalInformation(Mage_Sales_Model_Order_Payment_Transaction::RAW_DETAILS);
// Set the default/updated transaction details
$payment->setAdditionalInformation(array(Mage_Sales_Model_Order_Payment_Transaction::RAW_DETAILS => $this->getHelper()->getArrayFromGatewayResponse($transaction_details)), null);
$payment->save();
return $payment->getAdditionalInformation(Mage_Sales_Model_Order_Payment_Transaction::RAW_DETAILS);
}
示例2: setAliasToPayment
/**
* saves the alias and if given the cvc to the payment information
*
* @param Mage_Payment_Model_Info $payment - the payment which should be updated
* @param array $aliasData - the data we will update
* @param boolean $userIsRegistering - is registering method in checkout
* @param boolean $paymentSave - is it necessary to save the payment afterwards
*/
public function setAliasToPayment(Mage_Payment_Model_Info $payment, array $aliasData, $userIsRegistering = false, $paymentSave = false)
{
if (array_key_exists('alias', $aliasData) && 0 < strlen(trim($aliasData['alias']))) {
$payment->setAdditionalInformation('alias', trim($aliasData['alias']));
$payment->setAdditionalInformation('userIsRegistering', $userIsRegistering);
if (array_key_exists('CVC', $aliasData)) {
$payment->setAdditionalInformation('cvc', $aliasData['CVC']);
$this->setCardHolderToAlias($payment->getQuote(), $aliasData);
}
$payment->setDataChanges(true);
if ($paymentSave === true) {
$payment->save();
}
} else {
Mage::helper('ops/data')->log('did not save alias due to empty alias');
Mage::helper('ops/data')->log($aliasData);
}
}
示例3: fetchTransactionInfo
/**
* Fetch transaction details info
*
* @param Mage_Payment_Model_Info $payment
* @param string $transactionId
*
* @return array
*/
public function fetchTransactionInfo(Mage_Payment_Model_Info $payment, $transactionId)
{
$reconcile = $this->reconcile($transactionId);
// Remove the current details
$payment->unsAdditionalInformation(Mage_Sales_Model_Order_Payment_Transaction::RAW_DETAILS);
// Set the default/updated transaction details
$payment->setAdditionalInformation(array(Mage_Sales_Model_Order_Payment_Transaction::RAW_DETAILS => $this->getHelper()->getArrayFromGatewayResponse($reconcile)), null);
$payment->save();
return $payment->getAdditionalInformation(Mage_Sales_Model_Order_Payment_Transaction::RAW_DETAILS);
}