[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 };
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.