I have a field in the checkout where the user can put a PO Number. This field worked fine in 1.8.0, but it doesn't save anymore in 1.8.1, the database field stays empty.
template/payment/form/checkmo.phtml has the following code added to it:
<ul class="form-list" id="payment_form_<?php echo $this->getMethodCode() ?>" style="display:none;">
<li>
<label for="po_number" class="not-required"><?php echo $this->__('Purchase Order Number') ?></label>
<div class="input-box">
<input type="text" id="po_number" name="payment[po_number]" title="<?php echo $this->__('Purchase Order Number') ?>" class="input-text" value="<?php echo $this->htmlEscape($this->getInfoData('po_number')) ?>" />
</div>
</li>
</ul>
Since there was a lot of problems with the formkey stuff around the login system, I went ahead and added the following code the template/checkout/onepage/payment.phtml inside the form tag:
<?php echo $this->getBlockHtml('formkey'); ?>
This to add the form key in case that was the problem, which is not.
The PO Number is a very important item in our store, so it is vital that this works, but I currently can not find a reason why it doesn't save it. Any help and/or hints are greatly appreciated!
UPDATE After bit of debugging, I found out that is does save on one payment (iDeal), but it doesn't on another (checkmo), even though it does get sent anyway. I still do not know where or how exactly it gets lost though..
sales_flat_quote_paymentfor thepo_numberfield. It is not new in 1.8, because we already had it in 1.7. And yes, the customer can put anything they want there, for a reference to their administration. Not mandatory though. – Deep Frozen Mar 14 '14 at 10:02Mage_Checkout_Model_Type_Onepage'ssavePayment()method if you are using Onepage checkout. – Julien Lachal Mar 14 '14 at 10:07