I have a high volume client that sells accessories for Apple products. Some of their most popular products are accessories for the iPad (I agree with Brett, ridiculous name). We're seeing a significant number of users reporting they are not able to checkout using iPads and iPhones. Once they click "Buy Now" they receive an error message rather than their cart. After more digging I found that when using Mobile Safari everything works fine. It's when users follow a link from within an app that uses a built-in browser (Twitter, InstaPaper, Reeder, etc) that the error message occurs (see error message below).
I'm not sure how you guys are doing browser detection but I know that UIWebView (the class iOS developers use to put a browser within their app) uses a different User Agent string than Mobile Safari. Here are the two different User Agents:
UIWebView User Agent:
"Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_1_3 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Mobile/7E18"
and Mobile Safari:
"Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_1_3 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7E18 Safari/528.16"
The error message received when using in app browsers on iPhone and iPad:
We have detected that your browser (moz) is a little too old to safely use our checkout process. We apologize for the inconvenience, but in order to take full advantage of modern browser security features, we ask that you upgrade your browser by using one of the following links. They are all free, and it should only take a few minutes. Link to Firefox, Link to Opera, Link to IE."
Hoping this isn't too complex of a fix. Thanks for your help.