diff options
author | jeff <jeff> | 2007-04-05 22:59:27 +0000 |
---|---|---|
committer | jeff <jeff> | 2007-04-05 22:59:27 +0000 |
commit | 21773ec5acb73387a04255979ce6148534629f84 (patch) | |
tree | bc1a16b2960d259de258d2c0428bfeccee86ad0e /LinkPoint.pm | |
parent | d863745b80581d5e20756016200cda2aca357754 (diff) |
add check capability
Diffstat (limited to 'LinkPoint.pm')
-rw-r--r-- | LinkPoint.pm | 33 |
1 files changed, 27 insertions, 6 deletions
diff --git a/LinkPoint.pm b/LinkPoint.pm index 43db12d..d115b37 100644 --- a/LinkPoint.pm +++ b/LinkPoint.pm @@ -1,6 +1,6 @@ package Business::OnlinePayment::LinkPoint; -# $Id: LinkPoint.pm,v 1.23 2005-01-07 02:53:50 ivan Exp $ +# $Id: LinkPoint.pm,v 1.24 2007-04-05 22:59:27 jeff Exp $ use strict; use vars qw($VERSION @ISA $DEBUG @EXPORT @EXPORT_OK); @@ -13,8 +13,8 @@ require Exporter; @ISA = qw(Exporter AutoLoader Business::OnlinePayment); @EXPORT = qw(); @EXPORT_OK = qw(); -$VERSION = '0.05'; -$DEBUG = 0; +$VERSION = '0.06'; +$DEBUG = 1; use lpperl; #3; #lpperl.pm from LinkPoint $LPPERL::VERSION =~ /^(\d+\.\d+)/ @@ -103,6 +103,7 @@ sub submit { unless ( $content{action} eq 'POSTAUTH' || ( $content{'action'} =~ /^(CREDIT|VOID)$/ && exists $content{'order_number'} ) + || $self->transaction_type() =~ /^check$/i ) { if ( $self->transaction_type() =~ @@ -131,6 +132,11 @@ sub submit { $result ||= 'LIVE'; } + #docs disagree with lpperl.pm here + $content{'voidcheck'} = 1 + if ($self->transaction_type() =~ /^check$/i + && $content{'action'} =~ /^VOID$/); + $self->revmap_fields( host => \( $self->server ), port => \( $self->port ), @@ -144,13 +150,26 @@ sub submit { cardexpyear => \$year, chargetotal => 'amount', oid => 'order_number', + bankname => 'bank_name', + routing => 'routing_code', + account => 'account_number', + accounttype => 'account_type', + name => 'account_name', + dl => 'state_id', + dlstate => 'state_id_state', ); my $lperl = new LPPERL; - $self->required_fields(qw/ - host port configfile keyfile amount cardnumber cardexpmonth cardexpyear - /); + my @required_fields = qw(host port configfile keyfile amount); + if ($self->transaction_type() =~ /^(cc|visa|mastercard|american express|discover)$/i) { + push @required_fields, qw(cardnumber cardexpmonth cardexpyear); + }elsif ($self->transaction_type() =~ /^check$/i) { + push @required_fields, qw( + dl dlstate routing account accounttype bankname bankstate name + ); + } + $self->required_fields(@required_fields); my %post_data = $self->get_fields(qw/ host port configfile keyfile @@ -158,6 +177,8 @@ sub submit { chargetotal cardnumber cardexpmonth cardexpyear name email phone addrnum city state zip country oid + dl dlstate routing account accounttype bankname bankstate name void + /); $post_data{'ordertype'} = $content{action}; |