Steps to reproduce:
setup authorize.net payment
issue donation of huge amount (in my case $1,250,000 - one million)
response is error, yet contribution is saved as successful
Problem lies in how authorize net is handling error. It's simply marked as failed (and problably later marked as completed).
Response from auth.net API is: code=3, message=The transaction amount submitted was greater than the maximum amount allowed.
case self::AUTH_ERROR:
$params['payment_status_id'] = array_search('Failed', $contributionStatus);
- break;
+ $errormsg = $response_fields[2] . ' ' . $response_fields[3];
+ return self::error($response_fields[1], $errormsg);
case self::AUTH_DECLINED:
$errormsg = $response_fields[2] . ' ' . $response_fields[3];