2011-02-08 35 views
6

Tôi tự hỏi đó là cách tốt nhất để thêm một số thông tin vào thanh toán trong Magento (1.4.1.1).Thanh toán Magento: additional_information hoặc thuộc tính thanh toán?

Giả sử tôi muốn thêm thông tin có tên "payment_duedate" sẽ là ngày khách hàng phải thanh toán hóa đơn của mình.

Thực tế, có một trường trong sales_flat_order_payment được gọi là "additional_information" chứa tập dữ liệu được tuần tự hóa theo phương thức setAdditionalInformation ($ arg1, $ arg2); có sẵn trong mô hình 'bán hàng/thanh toán'. Vì vậy, tôi có thể tiết kiệm thời gian của tôi bằng cách:

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

Nhưng người ta cũng có thể chọn thêm một thuộc tính thanh toán, trong đó sẽ có thêm các hiệu ứng để tạo ra một cột mới có tên gọi 'payment_duedate' trong 'sales_flat_order_payment' và sau đó lưu của tôi cập nhật bằng cách thực hiện:

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

sự khác biệt chính là:

  • với "phương pháp additional_information", dữ liệu ngay là tuần tự hóa và như vậy, không queryable dễ dàng.
  • với "(phương pháp setPaymentDuedate)", dữ liệu ngay là queryable và một lĩnh vực mới được tạo ra trong bảng

Vì vậy, theo ý kiến ​​của bạn, mà trong hai cách là tốt nhất?

Cảm ơn, Hugues.

Trả lời

5

setAdditionalInformation() hữu ích nhất cho các thuộc tính chỉ đọc, chẳng hạn như thông báo cho người dùng, như "Ngân hàng giao dịch: MyBank".

Tùy chỉnh setPaymentDuedate() hữu ích cho việc xử lý hậu mãi, như kiểm tra trạng thái thanh toán ở nơi Duedate > MMDDYY.

+0

nó sẽ là tốt nếu bạn thêm làm thế nào để có được chúng sau này từ 'thanh toán' đối tượng –

+0

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

1

Tôi thấy câu hỏi là chủ quan. Và cho rằng cách thứ hai không phải là nỗ lực nhiều hơn nữa (xem my experiences) thật khó để chọn một trong hai.

Các vấn đề liên quan