更新magento订单付款表中的列

时间:2013-06-22 03:24:23

标签: magento

我还在熟悉magento模型。

我们有一个magento插件,提供另一个结帐选项。我们的一位客户提取订单并将文件发送到其履行中心进行处理。

此脚本仅提取使用cybersource处理的订单;它会检查sales_flat_order_payment中的列'cybersource_token'和'method'。

由于我们不允许更新此脚本,因此我需要设置这两列,以便在运行此脚本时将checkout插件处理的订单写入提取文件。在创建magento订单后,我会在插件中执行此操作。

我尝试了以下

$orderPayment = Mage::getModel('sales/order_payment', $order)->getPayment();
$orderPayment->setData('cybersource_token', '1234');
$orderPayment->setData('method', 'cybersource_soap');

但是不能让它发挥作用。

有关如何更新这两列的任何建议吗?

1 个答案:

答案 0 :(得分:0)

怎么做?尝试一个选项。第一个不太确定。让我知道任何结果。

$orderPayment = Mage::getModel('sales/order_payment');
$orderPayment->setData('cybersource_token', '1234');
$orderPayment->setData('method', 'cybersource_soap');

$order = Mage::getModel('sales/order'); //this line is sample change your $order in here
$orderPayment = Mage::getModel('sales/order_payment')
->setCybersource_token('1234')
->setMethod('cybersource_soap');
$order->setPayment($orderPayment);