2011-02-08 16 views
6

私は、マゼンタ(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方法" には、件のデータがシリアル化され、そのため、簡単に照会不可能。 「setPaymentDuedate()メソッド」と
  • 、件のデータが照会可能であり、新しいフィールドがあなたの意見は、次の2つの方法の最善の方法ですで、

ので、テーブルに作成されましたか?

ありがとう、Hugues。

答えて

5

setAdditionalInformation()は、「トランザクション銀行:MyBank」のようなユーザーへのメッセージなどの読み取り専用属性に最も役立ちます。

カスタムsetPaymentDuedate()は、お支払い状況の確認のように、後処理の処理に便利です。Duedate > MMDDYY

+0

'payment'オブジェクトから後で取得する方法を追加するとよいでしょう –

+0

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

1

私は主観的な質問を見つける。そして、第二の方法はそれほど多くの努力はしていないことを考えると(my experiences参照)、いずれかを選択するのは難しいです。