summaryrefslogtreecommitdiff
path: root/LinkPoint.pm
diff options
context:
space:
mode:
Diffstat (limited to 'LinkPoint.pm')
-rw-r--r--LinkPoint.pm33
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};