X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=AuthorizeNet.pm;h=90ba3cd4baa4fcda7387e4a9e5f18a7c1af5ae02;hb=bad299a933bf4eec330323773f6029245186ab13;hp=351d269800ec1bc67b80cbfa7b146f025fc37829;hpb=f2454fa86f1bc49313933a4a6c38998fa369a42d;p=Business-OnlinePayment-AuthorizeNet.git diff --git a/AuthorizeNet.pm b/AuthorizeNet.pm index 351d269..90ba3cd 100644 --- a/AuthorizeNet.pm +++ b/AuthorizeNet.pm @@ -9,10 +9,10 @@ use vars qw($VERSION @ISA @EXPORT @EXPORT_OK); require Exporter; -@ISA = qw(Exporter AutoLoader Business::OnlinePayment); +@ISA = qw(Exporter Business::OnlinePayment); @EXPORT = qw(); @EXPORT_OK = qw(); -$VERSION = '3.15'; +$VERSION = '3.16'; sub set_defaults { my $self = shift; @@ -105,7 +105,7 @@ sub submit { country => 'x_Country', ship_last_name => 'x_Ship_To_Last_Name', ship_first_name => 'x_Ship_To_First_Name', - ship_company => 'x_Company', + ship_company => 'x_Ship_To_Company', ship_address => 'x_Ship_To_Address', ship_city => 'x_Ship_To_City', ship_state => 'x_Ship_To_State', @@ -143,10 +143,12 @@ sub submit { push @required_fields, qw( amount routing_code account_number account_type bank_name - account_name account_type + account_name ); - if ($self->{_content}->{customer_org} ne '') { + if (defined $self->{_content}->{customer_org} and + length $self->{_content}->{customer_org} + ) { push @required_fields, qw( customer_org customer_ssn ); } else { push @required_fields, qw(license_num license_state license_dob); @@ -160,6 +162,8 @@ sub submit { } else { push @required_fields, qw( amount card_number expiration ); } + } elsif ( $self->{_content}->{action} eq 'CREDIT' ) { + push @required_fields, qw( amount order_number card_number ); } else { push @required_fields, qw( amount last_name first_name card_number expiration @@ -388,9 +392,9 @@ aren't denied due to a lack of address information. =head1 COMPATIBILITY -This module implements Authorize.Net's API verison 3.1 using the ADC -Direct Response method. See -https://secure.authorize.net/docs/developersguide.pml for details. +This module implements Authorize.Net's API verison 3.1 using the Advanced +Integration Method (AIM), formerly known as ADC Direct Response. See +http://www.authorize.net/support/AIM_guide.pdf for details. =head1 AUTHOR @@ -414,7 +418,7 @@ Paul Zimmer sent in a patch for card-less post authorizations. Daemmon Hughes sent in a patch for "transaction -key" authentication as well support for the recurring_billing flag and the md5' +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. =head1 SEE ALSO