David Rusenko
  • Blog
  • Photography
  • About
  • Contact
David Rusenko

Authorize.net MD5 mismatch

6/30/2010

 
Picture
Earlier today -- between 12:04 and 12:07pm PST, to be specific -- Authorize.net changed the way their API worked, unannounced, that caused successful transactions to not be recorded by us and many others, including ZenCart customers, and who knows how many others.

A Silent POST is the mechanism by which Authorize.net POSTs back to our servers to inform us of the outcome of a transaction. An MD5 hash is used to authenticate that the POST is legitimate, and one of the values hashed is the transaction amount.

Starting today, they are now passing the x_amount parameter back as 19.9500 (as an example) but still using 19.95 as the amount for the x_MD5_Hash parameter.

An immediate fix would require stripping out the last two 0's from x_amount (if present) when calculating the MD5 hash so that the computed md5 hash matches the x_MD5_Hash passed.

After having spent the better part of today figuring out what the problem was, fixing it, and manually reconciling hundreds of transactions, I'm really hoping they don't change the x_MD5_Hash tomorrow to rely on the new price format (x.xxxx), as it'll break everything all over again, and pretty much scuttle any chances I have of getting any thing done tomorrow.

If you're wondering why your transactions aren't showing up in your billing system, this is why.

And if it isn't clear enough, this is absolutely unacceptable. Not only is an unannounced API change to a heavily-used billing system horrendous, but this specific change is severely impacting customers, and Authorize.net are completely missing to fix the issue or answer any support requests.

"Genius results can't be updated right now. An unknown error occurred (4010)." Solution

9/19/2008

 

Looks like if I would have read the Apple discussion post a bit longer before hastily writing my last post, I would have found the solution. For anybody that is consistently getting a 4010 error, this seems to work:

(1) Open [username]/Music/iTunes/ in the Finder.
(2) Make a copy of "iTunes Music Library.xml"
(3) Validate the XML file. The easiest way to do this, if you have Firefox 3, is to open the "iTunes Music Library.xml" file in Firefox. Depending on how large the file is, this might take some time. Presumably, at this point, you'll get an error message saying that there was an XML Parsing Error.
(4) Find the song that is causing the problem. If you can't tell which song it is, you may have to open up the file in a text editor, and navigate to the line number specified.
(5) Go into iTunes, find the song, right click it, and click "Get Info".
(6) You should see some funky characters somewhere. At this point, you can either (a) delete the song, or (b) click on Info, and make sure to completely delete and re-write all the information.
(7) Once you've done that, re-load the file into Firefox and correct all the songs until there are no more errors.
(8) When Firefox parses the file correctly, quit iTunes.
(9) Open the [username]/Music/iTunes/ folder in Finder again and remove the "iTunes Library Extras.itdb" and "iTunes Library Genius.itdb" files by dragging them to the Trash and emptying it.
(10) Restart iTunes, enable Genius, and voila!

It's quite unfortunate that iTunes doesn't seem to be able to repair corrupted XML, or at least tell you that that's the problem.

    Picture
    David co-founded Weebly, an incredibly easy to use tool that helps millions of people create a professional web site, blog or online store.

    He was named to Forbes'  30 under 30 list, is a part-time DJ and has traveled to over 20 countries.

    Investments include Cue, Parse, Exec, Churchkey, Streak, Incident Technologies, Adioso and Zenefits.

    RSS Feed


    Categories

    All
    Bobbyore
    Day To Day
    Misc
    Music
    Open Source
    Product Reviews
    Raising Money
    Rant
    San Francisco
    Scaling
    Startups
    Troubleshooting

    Blogroll

    Jessica Livingston
    Robby Walker
    Adam Smith

    Justin.tv
    Venture Hacks
    Uncrate
    Juno Day

    Flickr Photos

Proudly powered by Weebly