2011-02-08 140 views
6

我想知道哪些是更好的方式添加一些信息到magento(1.4.1.1)中的付款。Magento付款:additional_information或付款属性?

比方说,我想添加一个名为“payment_duedate”的信息,这将是客户必须支付发票的日期。

实际上,在sales_flat_order_payment中有一个名为“additional_information”的字段,其中包含由setAdditionalInformation($ arg1,$ arg2)方法设置的序列化数据。在“销售/付款”模式中可用。 所以我可以节省我的时间:

$payment->setAdditionalInformation('payment_duedate',$myDate); 
$payment->save(); 

但是人们也可以选择添加一个支付属性,这将有作为的效果在“sales_flat_order_payment”创建一个名为“payment_duedate”新列,然后保存我的日期通过执行:

$payment->setPaymentDuedate($myDate); 
$payment->save(); 

的主要区别是:

  • 与 “additional_information方法”,DATAS被序列化,因此,不容易可查询。
  • 与“setPaymentDuedate()方法”的数据都是可查询,并在表中创建一个新的领域

那么,在您看来,这两个方法是最好的?

谢谢,Hugues。

回答

5

setAdditionalInformation()对于只读属性(例如给用户的消息,如“Transaction Bank:MyBank”)最为有用。

自定义setPaymentDuedate()对处理余像很有用,例如检查付款状态Duedate > MMDDYY

+0

这将是很好,如果你添加如何让他们从'付款'对象后来 –

+0

http://magento.stackexchange.com/questions/97754/save-additional-order-metadata-while-processing-payment/157929 #157929 –

1

我觉得这个问题是主观的。并且鉴于第二种方式没有更多的努力(见my experiences),很难选择任何一种。