[interchange] * As of Jan 31, 2014 Authorize.Net stopped accepting a transaction ID
Mike Heins <[email protected]>
| Newsgroups | gmane.comp.web.interchange.cvs |
|---|---|
| Message-ID | <[email protected]> |
commit fa1459c62982dc7bd57bb92f5f1b391ec111be2c Author: Mike Heins <[email protected]> Date: Fri Jan 31 12:41:20 2014 -0500 * As of Jan 31, 2014 Authorize.Net stopped accepting a transaction ID on transaction types that don't need it. That should be AUTH_ONLY and AUTH_CAPTURE, though I am waiting on a definitive pronouncement from them. lib/Vend/Payment/AuthorizeNet.pm | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-) --- diff --git a/lib/Vend/Payment/AuthorizeNet.pm b/lib/Vend/Payment/AuthorizeNet.pm index 21c728e..90a9a3d 100644 --- a/lib/Vend/Payment/AuthorizeNet.pm +++ b/lib/Vend/Payment/AuthorizeNet.pm @@ -505,6 +505,15 @@ sub authorizenet { push @query, "$key=$val"; } + my %no_trans_id = ( + AUTH_CAPTURE => 1, + AUTH_ONLY => 1, + ); + + ## As of Jan 31, 2014 AuthorizeNet errors out with x_Trans_ID on transaction type that + ## doesn't need it + delete $query{x_Trans_ID} if $no_trans_id{ $query{x_Type} }; + #::logDebug("Authorizenet query: " . ::uneval(\%query)); $opt->{extra_headers} = { Referer => $referer };