I've been running 1.5.1 fine for a while. I've had success using PayPal Express Checkout for payment, and also the Taxcloud module (v1.5) for tax calculation. This combination worked for a while. Then a customer reported getting an error message during checkout. In my investigation I found the following as a repeatable outcome but cannot determine its cause. If you can offer me some insight I would highly appreciate it!
When a customer clicks the express checkout shortcut button from the cart, they are directed to PayPal to enter relevant information. When the user is redirected back to my site, the billing/shipping address information is not shown and in its place is the following stack trace information, which also appears in the PayPal debug logs. If the user reloads this page, the appropriate address and other information display ok.
Here is some text from the debug log that should be relevant:
Code:
Jul-07-2013 20:21:55 (1373253715)
termEC-10
Redirecting to checkout_payment - Stack: checkout_payment
Message:
Session Data: Array
. . .
[sendto] => 8
[billto] => 8
[shipping] => Array
(
[id] => usps_Priority MailRM
[title] => United States Postal Service (Priority Mail® (1 day))
[cost] => 5.8
[module] => usps
)
[messageToStack] => Array
(
[0] => Array
(
[class] => checkout
[text] => Error encountered looking up tax amount System.Web.Services.Protocols.SoapException: Server was unable to read request. ---> System.InvalidOperationException: There is an error in XML document (2, 411). ---> System.FormatException: Input string was not in a correct format.
at System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
at System.Xml.XmlConvert.ToDouble(String s)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read5_CartItem(Boolean isNullable, Boolean checkType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read34_Lookup()
at Microsoft.Xml.Serialization.GeneratedAssembly.ArrayOfObjectSerializer8.Deserialize(XmlSerializationReader reader)
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
--- End of inner exception stack trace ---
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle)
at System.Web.Services.Protocols.SoapServerProtocol.ReadParameters()
--- End of inner exception stack trace ---
at System.Web.Services.Protocols.SoapServerProtocol.ReadParameters()
at System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()
[type] => error
)
My limited read of this makes me think that when the system tries making the call to TaxCloud, the service call fails because some piece of required information is malformed. I can't tell what it doesn't like, and since the TaxCloud request is HTTPS I cannot sniff it to see what is being sent. There appears to be no debug logging for the TaxCloud module so I'm at a loss.
I apologize if this is not actually a PayPal Express Checkout problem, but the coupling is tight enough that I don't know exactly where the problem lies.
Note - in the PayPal Express Checkout module config I turned OFF the "Express Checkout Shortcut Button" option. When users check out using the normal checkout process and pay using PayPal, the error does NOT occur.
I thank you in advance for any insight you can provide.
Mike
PS - in case you care here is a little background server info:
- https://www.mikeymotoleather.com/
- PHP 5.4.12
- MySQL 5.5.30
- Running on my own FreeBSD server
- Installed using zc_install
- Running great for several months now
- Low volume site, but several transactions with no problems
- I have not installed additional modules since the problem started occurring
Bookmarks