Magento Programmatically Edit Order Payment -
i need make change of payment method order after placed. have order id ($orderid), order object ($order), proper payment object, etc.
$service->retrievepaymenttype() returns payment in form of mage_sales_model_order_payment
all of happens in extension of mage_checkout_model_type_onepage
does know how go doing this?
$order = mage::getmodel('sales/order')->load($orderid); $service = mage::getmodel('sales/service_quote', $this->getquote()); // update saved order payment method // $order->getpaymentscollection()->clear(); $order->setpayment($service->retrievepaymenttype()); $order->getpaymentscollection()->save(); $order->save(); thanks in advance!
unfortunately, had direct sql query, not magento spec, gets job done. if want's code, leave me comment, , dig up.
thanks though!
edit:
i managed in fact working magento api:
// payment type want change target order $service = mage::getmodel('sales/service_quote', $this->getquote()); $payment = $service->retrievepaymenttype(); $paymentdata = $payment->getdata(); $oldpayment = $order->getallpayments(); $oldpayment = $oldpayment[0]; foreach ($paymentdata $n => $v) { $oldpayment->setdata($n,$v); } it little bit hackish, pretty effective.
Comments
Post a Comment