2

In the Dashboard: System > Configuration > Sales > Sales...

I have "Hide Customer IP: No"

and this means the customers IP is shown on orders and invoices, etc...

This works on almost every order, but a couple orders just don't show an IP at all. This is very rare, and maybe 1 out of every 100 orders don't show an IP.

Well, what would cause this? I was asked why this is, but I just didn't have an answer, and now I'm curious.

Thanks all.

  • If you look up the order in BE, can you see the customer IP there? Was it saved correctly? – fmrng May 23 '13 at 13:17
  • Hey, what does BE stand for? – stephen wise May 23 '13 at 16:58
  • Backend, sorry! – fmrng May 23 '13 at 18:41
  • Maybe the order was created manually? – Fabian Blechschmidt May 24 '13 at 8:25
  • If an order is place by an Admin user, then the ip address field will be blank – Renon Stewart May 24 '13 at 13:06
5

Most probably the order was made from the back-end.
The ip address on the order comes from the quote.
in app/code/core/Mage/Sales/etc/config.xml there is this:

<config>
...
    <global>
    ...
        <fieldsets>
        ...
            <sales_convert_quote>
                <remote_ip>
                    <to_order>*</to_order>
                </remote_ip> 
                ...
            </sales_convert_quote>
        ...
        </fieldsets>
    ...
    </global> 
...
</config>

The IP address on the quote is set in Mage_Checkout_Model_Session::getQuote()

if ($remoteAddr = Mage::helper('core/http')->getRemoteAddr()) {
    $this->_quote->setRemoteIp($remoteAddr);
    $xForwardIp = Mage::app()->getRequest()->getServer('HTTP_X_FORWARDED_FOR');
    $this->_quote->setXForwardedFor($xForwardIp);
}

When creating an order from the backend Mage_Checkout_Model_Session is not used. Instead Mage_Adminhtml_Model_Session_Quote is used and there is no trace of remoteIp or remoteAddr inside it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.