AuthorizeNet Test mode and transaction key use

Gerald V. Livingston II gerald.freeside at sysmatrix.net
Fri Dec 10 13:53:06 PST 2004


While poking around in this I find that authorizenet.pm has code to
support both test transactions and the use of a transaction_key rather than
password. I just don't know how to use them or attempt to implement them in
freeside.

I am going to try to track down help in possibly adding these as options in
Freeside. I don't think I can learn enough perl fast enough. 

Right now the "test mode in Freeside config" is of most interest because I
want to be able to set up a few test users and run through complete
billing cycles from setup to cancellation to refund -- including full
interaction with the AuthorizeNet servers -- before I start transferring
customer data from our brain dead legacy system.

The transaction key thing is just red-flagged for me because AuthorizeNet
has removed all mention of the password variable from the documentation.

They have a bad habit of making mandatory changes with no more than a 30
day window for updating existing systems. That almost bit us in the rear
when Visa mandated that they no longer transmit complete card info for
completed transactions. We used to do signups through a simple html
referrer page then download transaction data weekly to import card info and
addresses into our local billing system. They gave 30 days notice that they
would transmit only the last 4 and would not send expiration dates. I had
to dig up a way to capture the data locally during the initial transaction
in a secure manner. Grabbed a generic shopping cart type php script and
learned enough php to modify it for use in 2 weeks. Yuck.

Here are snips from authorizenet.pm that tell me it should be able to
handle test transactions and transaction_key use if called properly. I just
need to figure out how to call it <grin>.

$self->required_fields(@required_fields);

my %post_data = $self->get_fields(qw/
x_Login x_Password x_Tran_Key x_Invoice_Num
x_Description x_Amount x_Cust_ID x_Method 

[other variables snipped]

x_Currency_Code x_Trans_ID/);
$post_data{'x_Test_Request'} = $self->test_transaction()?"TRUE":"FALSE";

[SNIP again]

...and...

Daemmon Hughes <daemmon at daemmonhughes.com> sent in a patch for "transaction
key" authentication as well support for the recurring_billing flag and the md5'
method that returns the MD5 hash which is returned by the gateway.


Gerald <on a quest>




More information about the freeside-users mailing list