Payments with Authorize.net may fail if details contain certain characters.
Authorize.net appears to be encoding their responses in an extended latin character set such as Windows-1252. Our URL decoder assumes UTF-8 encoding and will error out when it's given an invalid code point such as %A0 (non-breaking space in 1252).
One way to trigger this is to provide a transaction description with two spaces in a row, where the second space will be encoded as a non-breaking space. Another way is to use extended ASCII characters in the user's first or last name, such as any vowel with a diacritic.
Released in Aeon 4.0