summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorivan <ivan>2007-05-02 01:32:31 +0000
committerivan <ivan>2007-05-02 01:32:31 +0000
commit196db498d6a75d4a772946049fbaee6b4700dd85 (patch)
tree15ed6a39999bdc05c0e3e021f313e97b1ea062ba
parentfc1c50ec369553974c7ea4cef4419003d41067ee (diff)
- Update for new test account.
- Add "cargs" argument including "-k" when in test mode. - Move tests from t2/ and have them actually work out of the box. - get rid of old Exporter / AutoLoader cruft - patch from Mark D. Anderson <mda@discerning.com>: - addrnum should be first digit string, not first word - avoid uninitialized variable warnings in lpperl due to webspace and debug - Map customer_ip, customer_id, invoice_number and description fields - Pass email, company, fax fields - Set lpperl debug if our $DEBUG is set - Better/supplimental download link for lpperl.pm
-rw-r--r--Changes14
-rw-r--r--LinkPoint.pm53
-rw-r--r--README5
-rw-r--r--t/bad_auth.t (renamed from t2/bad_auth.t)5
-rw-r--r--t/credit_card.t (renamed from t2/credit_card.t)7
-rw-r--r--t/echeck.t (renamed from t2/echeck.t)17
-rw-r--r--t/load.t (renamed from t2/load.t)0
-rw-r--r--test.pem56
8 files changed, 97 insertions, 60 deletions
diff --git a/Changes b/Changes
index dad4d99..f59fd60 100644
--- a/Changes
+++ b/Changes
@@ -1,7 +1,19 @@
Revision history for Perl extension Business::OnlinePayment::LinkPoint.
-0.08 Thu May 1 21:26:05 2007 UTC
+0.08 Tue May 1 18:26:15 PDT 2007
- Improve error message for declined checks.
+ - Update for new test account.
+ - Add "cargs" argument including "-k" when in test mode.
+ - Move tests from t2/ and have them actually work out of the box.
+ - get rid of old Exporter / AutoLoader cruft
+ - patch from Mark D. Anderson <mda@discerning.com>:
+ - addrnum should be first digit string, not first word
+ - avoid uninitialized variable warnings in lpperl due to webspace and
+ debug
+ - Map customer_ip, customer_id, invoice_number and description fields
+ - Pass email, company, fax fields
+ - Set lpperl debug if our $DEBUG is set
+ - Better/supplimental download link for lpperl.pm
0.07 Thu Apr 6 18:27:32 2007 UTC
- Add account type mapping
diff --git a/LinkPoint.pm b/LinkPoint.pm
index 84ea74e..70b6253 100644
--- a/LinkPoint.pm
+++ b/LinkPoint.pm
@@ -1,18 +1,11 @@
package Business::OnlinePayment::LinkPoint;
-# $Id: LinkPoint.pm,v 1.28 2007-05-01 21:37:17 jeff Exp $
-
use strict;
use vars qw($VERSION @ISA $DEBUG @EXPORT @EXPORT_OK);
use Carp qw(croak);
-use AutoLoader;
use Business::OnlinePayment;
-require Exporter;
-
-@ISA = qw(Exporter AutoLoader Business::OnlinePayment);
-@EXPORT = qw();
-@EXPORT_OK = qw();
+@ISA = qw(Business::OnlinePayment);
$VERSION = '0.08';
$DEBUG = 0;
@@ -130,7 +123,7 @@ sub submit {
$month = '0'. $month if $month =~ /^\d$/;
}
- $content{'address'} =~ /^(\S+)\s/;
+ $content{'address'} =~ /^(\d+)\s/;
my $addrnum = $1;
my $result = $content{'result'};
@@ -152,13 +145,21 @@ sub submit {
#storename => \( $self->storename ),
configfile => \( $self->storename ),
keyfile => \( $self->keyfile ),
- addrnum => \$addrnum,
+
+ chargetotal => 'amount',
result => \$result,
+ addrnum => \$addrnum,
+ oid => 'order_number',
+ ip => 'customer_ip',
+ userid => 'customer_id',
+ ponumber => 'invoice_number',
+ comments => 'description',
+ #reference_number => 'reference_number',
+
cardnumber => 'card_number',
cardexpmonth => \$month,
cardexpyear => \$year,
- chargetotal => 'amount',
- oid => 'order_number',
+
bankname => 'bank_name',
bankstate => 'bank_state',
routing => 'routing_code',
@@ -185,7 +186,7 @@ sub submit {
host port configfile keyfile
result
chargetotal cardnumber cardexpmonth cardexpyear
- name email phone addrnum city state zip country
+ name company email phone fax addrnum city state zip country
oid
dl dlstate routing account accounttype bankname bankstate name void
@@ -200,14 +201,20 @@ sub submit {
if ( $DEBUG ) {
warn "$_ => $post_data{$_}\n" foreach keys %post_data;
+ $post_data{debug} = 'true';
}
- my %response;
+ $post_data{'cargs'} = '-k -m 300 -s -S' if $self->test_transaction;
+
+ # avoid some uninitialized warnings in lpperl.pm
+ foreach (qw(webspace debug debugging)) { $post_data{$_} ||= '' }
+
+ #my %response;
#{
# local($^W)=0;
# %response = $lperl->$action(\%post_data);
#}
- %response = $lperl->curl_process(\%post_data);
+ my %response = $lperl->curl_process(\%post_data);
if ( $DEBUG ) {
warn "$_ => $response{$_}\n" for keys %response;
@@ -222,9 +229,11 @@ sub submit {
} else {
$self->is_success(0);
$self->result_code('');
- $response{'r_error'} =~/\S/
- ? $self->error_message($response{'r_error'})
- : $self->error_message($response{'r_approved'}); # no r_error for checks
+ if ( $response{'r_error'} =~ /\S/ ) {
+ $self->error_message($response{'r_error'});
+ } else {
+ $self->error_message($response{'r_approved'}); # no r_error for checks
+ }
}
}
@@ -279,8 +288,10 @@ For detailed information see L<Business::OnlinePayment>.
=head1 COMPATIBILITY
-This module implements an interface to the LinkPoint Perl Wrapper
+This module implements an interface to the LinkPoint Perl Wrapper "lpperl",
+which you need to download and install separately.
http://www.linkpoint.com/product_solutions/internet/lperl/lperl_main.html
+http://www.linkpoint.com/viewcart/down_index.htm
Versions 0.4 and on of this module support the LinkPoint Perl Wrapper version
3.5.
@@ -291,6 +302,10 @@ Versions 0.4 and on of this module support the LinkPoint Perl Wrapper version
Ivan Kohler <ivan-linkpoint@420.am>
+Contributions from Mark D. Anderson <mda@discerning.com>
+
+Echeck work by Jeff Finucane <jeff@cmh.net>
+
Based on Busienss::OnlinePayment::AuthorizeNet written by Jason Kohles.
=head1 SEE ALSO
diff --git a/README b/README
index d288ba1..b845688 100644
--- a/README
+++ b/README
@@ -1,4 +1,5 @@
Copyright (c) 2002 Ivan Kohler
+Copyright (c) 2007 Freeside Internet Services, Inc.
All rights reserved. This program is free software; you can redistribute it
and/or modify it under the same terms as Perl itself.
@@ -7,12 +8,10 @@ backend module for LinkPoint. It is only useful if you have a merchant
account with LinkPoint (Cardservice): http://www.linkpoint.com/ and the
"LinkPoint Perl Wrapper":
http://www.linkpoint.com/product_solutions/internet/lperl/lperl_main.html
+http://www.linkpoint.com/viewcart/down_index.htm
It is based on Business::OnlinePayment::AuthorizeNet written by Jason Kohles.
-There are additional tests in t2/ that may be useful to you once you have a
-store number and key file.
-
Ivan Kohler <ivan-linkpoint@420.am>
Business::OnlinePayment is a generic interface for processing payments through
diff --git a/t2/bad_auth.t b/t/bad_auth.t
index 689b0cc..8369a9f 100644
--- a/t2/bad_auth.t
+++ b/t/bad_auth.t
@@ -3,8 +3,9 @@ BEGIN { $| = 1; print "1..1\n"; }
use Business::OnlinePayment;
my $tx = new Business::OnlinePayment("LinkPoint",
- 'storename' => '1909922411',
+ 'storename' => '1909796604',
'keyfile' => './test.pem',
+ 'server' => 'staging.linkpt.net',
);
$tx->content(
@@ -35,7 +36,7 @@ if($tx->is_success()) {
warn "********* $auth ***********\n";
} else {
print "ok 1\n";
- warn '***** '. $tx->error_message. " *****\n";
+ #warn '***** '. $tx->error_message. " *****\n";
exit;
}
diff --git a/t2/credit_card.t b/t/credit_card.t
index 0748c6a..1aaf3ea 100644
--- a/t2/credit_card.t
+++ b/t/credit_card.t
@@ -3,8 +3,9 @@ BEGIN { $| = 1; print "1..1\n"; }
use Business::OnlinePayment;
my $tx = new Business::OnlinePayment("LinkPoint",
- 'storename' => '1909922411',
+ 'storename' => '1909796604',
'keyfile' => './test.pem',
+ 'server' => 'staging.linkpt.net',
);
$tx->content(
@@ -30,8 +31,8 @@ $tx->submit();
if($tx->is_success()) {
print "ok 1\n";
- $auth = $tx->authorization;
- warn "********* $auth ***********\n";
+ #$auth = $tx->authorization;
+ #warn "********* $auth ***********\n";
} else {
print "not ok 1\n";
warn '***** '. $tx->error_message. " *****\n";
diff --git a/t2/echeck.t b/t/echeck.t
index 24dca67..7a52c25 100644
--- a/t2/echeck.t
+++ b/t/echeck.t
@@ -1,16 +1,23 @@
BEGIN { $| = 1; print "1..1\n"; }
+$no_echeck_tests =
+ "Skipped: Linkpoint doesn't provide a way to test echecks\n";
+warn $no_echeck_tests;
+print "ok 1 # $no_echeck_tests";
+exit;
+
use Business::OnlinePayment;
my $tx = new Business::OnlinePayment("LinkPoint",
- 'storename' => '1909922411',
+ 'storename' => '1909796604',
'keyfile' => './test.pem',
+ 'server' => 'staging.linkpt.net',
);
$tx->content(
- type => 'CHECK',
+ type => 'ECHECK',
action => 'Normal Authorization',
- description => 'Business::OnlinePayment::LinkPoint visa test',
+ description => 'Business::OnlinePayment::LinkPoint echeck test',
amount => '0.01',
first_name => 'Tofu',
last_name => 'Beast',
@@ -33,8 +40,8 @@ $tx->submit();
if($tx->is_success()) {
print "ok 1\n";
- $auth = $tx->authorization;
- warn "********* $auth ***********\n";
+ #$auth = $tx->authorization;
+ #warn "********* $auth ***********\n";
} else {
print "not ok 1\n";
warn '***** '. $tx->error_message. " *****\n";
diff --git a/t2/load.t b/t/load.t
index ac1adbd..ac1adbd 100644
--- a/t2/load.t
+++ b/t/load.t
diff --git a/test.pem b/test.pem
index b704754..0d3d81e 100644
--- a/test.pem
+++ b/test.pem
@@ -1,30 +1,32 @@
------BEGIN RSA PRIVATE KEY-----
-MIICXAIBAAKBgQDMuGGy905tleY6aAAQXp2ZaWNrQOunSowlue9LC4k/cBdtwTJ3
-cvpzMAN5680x/TcyNTOtcj9OPE4nrhxJqTqSR1Rri04XVy/f+8qZujXXesrnRmVx
-N83LxtqhP5dH7uNgs/apbXr0wfx/Aq42Odax6toKlEo8NvnJ5u86ZSNKoQIDAQAB
-AoGBAIIXUQ5XFWGR9gF7gT7lwSRx0hmf4aAnQTPgGe4IYKkNY/X85UL+r6RvCGZ7
-r6Nqk562LCa2CQCAVfHlNFiiz3Js2zOJamA37tlv6+pVc1OhZH0Xjd/vsoRvFXW6
-LNoQ62SYImVvbeetk6pI0ghHXBES1QQi18uuhK6y5Ks+EXABAkEA+6pA2x8lhIj1
-VBMnLj5JnNBKZcJmtWp5iE0vhOhoOirH2FiqZ0kGL1em/iTGpwxFGhje4paZsans
-/o3Nm2Ig4QJBANA/Hp+43K/54Y2Cci6L1sRFcanZMx6OnsozqvK9mcdNAIyYz4uj
-pUEHBnyGen6KS9/AuN4+XtojlZrFlYnbocECQE+/CGQm/3165Lpqg0zdAfiF7D1I
-l8E+5xnw03D7MCPWcJM2rXCjLCmOTeVUg/plIfR+EwqcDEHHBck36AIn2yECQGVq
-F9PZB0B8BKgRmuGoIFM9Lnl02TxMYHBAcUP9qeIxUc8mrAxpCZV9gl8qboUpfIHf
-LSiuXysEoVraVlTorQECQBYWeK4mfSRwofWimMtVv1a2YqPOf6vA57knBU2gPS2g
-rTrt7S0WmQvAwrKN5nd25XNOeVKPPbTFd2NQr5GSN3s=
+-----BEGIN RSA PRIVATE KEY-----
+MIICWwIBAAKBgQC/119qB6Q7lnVfCEGUHCrhhRNIBsmu4i4iQkR9P+G7hzVLrr/8
++2xvUZ3D89wFxA2+rYwEcAGz73J2EQR8NPSRsTSW0c9HJEw5bAhistev8o8ZTygf
+Mwhta32TlD07TmlMpYetEM7rGC6fjZwWuJ0/Mi/q1canulBMqDXo4TzCeQIDAQAB
+AoGAYGwz/OsSVRDutXFE5NizhN6KLm2a+VedsIJ2Qi3Vm5f95ahTvyfv/JOdJFxx
+fkRoVCqOcbyKXpI/ibBL/NHxClkbqu9V5u4Ui0hEcWdyi/QPFGTc12BHzCHhJ1UB
+9MafcumUCxE7rA2LXF4eGVLqUjiP2+0Q5o3u/ycLFh5sA/ECQQD5gGKqAPHm9RrN
+sxPsziUQvVJI4ApE3IzhUXaeZvhGQfxYWkbgxBz9cKrz2xACOSszcJj2x9z74oIQ
+aU9lnpd/AkEAxNaF8+JttIAM5IeH8W9TT0iebPOl6RxUmtsfXkdXg3knQkYjpuWd
+gZzlM32CjfMhftcJBwdYAu6jSIqf0BhiBwJAHkf4sY1fzpoc4K5FUs5KLVfs7q9S
+T7080/PhI6R3qX9EsyxxwcHLiu7rsKD7tmld1uZpijoDlgaNppRBcKHo3QJAGsOM
+fSfJgOR0XFJtUo+vhTU7jVbntTWL725h6oDKzm6XvvQoftXzv57kr0aejMyFPmjg
+qlr+RY/LFd77ceEO2wJAK/eJ8lhUUXXx08L1WReN6PEbk9z3nUrWT7K0Z+d3xJnf
+3SVXgW514uVJ8Wi1RRmrXeGNredCXCROT18D+KyEuQ==
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
-MIICajCCAdOgAwIBAgIBADANBgkqhkiG9w0BAQQFADB7MQswCQYDVQQGEwJVUzEL
-MAkGA1UECBMCT0gxETAPBgNVBAcTCEFsbGlhbmNlMQswCQYDVQQKEwJtZTEWMBQG
-A1UEAxMNSmVmZiBGaW51Y2FuZTEnMCUGCSqGSIb3DQEJARYYbGlua3BvaW50QHdl
-YXNlbGxpcHMuY29tMB4XDTA3MDQwMjA1MTgyMVoXDTM3MDMzMDA1MTgyMVowezEL
-MAkGA1UEBhMCVVMxCzAJBgNVBAgTAk9IMREwDwYDVQQHEwhBbGxpYW5jZTELMAkG
-A1UEChMCbWUxFjAUBgNVBAMTDUplZmYgRmludWNhbmUxJzAlBgkqhkiG9w0BCQEW
-GGxpbmtwb2ludEB3ZWFzZWxsaXBzLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAw
-gYkCgYEAzLhhsvdObZXmOmgAEF6dmWlja0Drp0qMJbnvSwuJP3AXbcEyd3L6czAD
-eevNMf03MjUzrXI/TjxOJ64cSak6kkdUa4tOF1cv3/vKmbo113rK50ZlcTfNy8ba
-oT+XR+7jYLP2qW169MH8fwKuNjnWseraCpRKPDb5yebvOmUjSqECAwEAATANBgkq
-hkiG9w0BAQQFAAOBgQBGJBpIzo/3EXco1bQO622hB0BGsww3/w0aKL9fAHwwrWbw
-//XCjQgc5HcT3Pow+H0m/Pla1lfdqbBTAugT5gyePZppLZNGqvh2nUY/8K5vLO0j
-pm4WH9iks73XyOJOD9iRNaCbe4ETNDtt+MpEOA9/9FDEnmX6U/LCbkjo3NyRhA==
+MIICpjCCAg+gAwIBAgIBADANBgkqhkiG9w0BAQQFADCBmDELMAkGA1UEBhMCVVMx
+CzAJBgNVBAgTAkNBMRAwDgYDVQQHEwdUcnVja2VlMSkwJwYDVQQKEyBGcmVlc2lk
+ZSBJbnRlcm5ldCBTZXJ2aWNlcywgSW5jLjEUMBIGA1UEAxMLSXZhbiBLb2hsZXIx
+KTAnBgkqhkiG9w0BCQEWGml2YW4tbGlua3BvaW50LXRlc3RANDIwLmFtMB4XDTA3
+MDUwMTIzMDgyMFoXDTM3MDQyODIzMDgyMFowgZgxCzAJBgNVBAYTAlVTMQswCQYD
+VQQIEwJDQTEQMA4GA1UEBxMHVHJ1Y2tlZTEpMCcGA1UEChMgRnJlZXNpZGUgSW50
+ZXJuZXQgU2VydmljZXMsIEluYy4xFDASBgNVBAMTC0l2YW4gS29obGVyMSkwJwYJ
+KoZIhvcNAQkBFhppdmFuLWxpbmtwb2ludC10ZXN0QDQyMC5hbTCBnzANBgkqhkiG
+9w0BAQEFAAOBjQAwgYkCgYEAv9dfagekO5Z1XwhBlBwq4YUTSAbJruIuIkJEfT/h
+u4c1S66//Ptsb1Gdw/PcBcQNvq2MBHABs+9ydhEEfDT0kbE0ltHPRyRMOWwIYrLX
+r/KPGU8oHzMIbWt9k5Q9O05pTKWHrRDO6xgun42cFridPzIv6tXGp7pQTKg16OE8
+wnkCAwEAATANBgkqhkiG9w0BAQQFAAOBgQA9pEdDqrx9ANBGRCCfCuhW7COqbI0y
+Pa/z1/VOvx+S4SwYhduyQmgKgg77xZ8IUKEb6f+LxWs4uE1bI69tnP7zTVyKT8bg
+TT43nYXNkTGgw/ePcaRgurw0PYEfS9EUU98SxVMcHTbEs9j5cph4+A7IYpi46AQp
+EBBJz9AhhXAk3g==
-----END CERTIFICATE-----