Revision history for Perl extension Business::OnlinePayment::eSelectPlus
-0.03 unreleased
+0.03 Tue Mar 1 13:40:08 PST 2011
- Update for compatibility with US Moneris. Backwards-compatibility
note: Users of previous versions must now specify 'currency'=>'CAD'
README
t/load.t
t/crypt_load.t
-t/credit_card.t
-t/crypt_credit_card.t
+t/credit_card_ca.t
+t/credit_card_us.t
+t/crypt_credit_card_ca.t
+t/crypt_credit_card_us.t
t/bop.t
-t/bad_card.t
-t/crypt_bad_card.t
+t/bad_card_ca.t
+t/bad_card_us.t
+t/crypt_bad_card_ca.t
+t/crypt_bad_card_us.t
META.yml Module meta-data (added by MakeMaker)
use vars qw($VERSION $DEBUG @ISA);
@ISA = qw(Business::OnlinePayment::HTTPS);
-$VERSION = '0.02';
+$VERSION = '0.03';
$DEBUG = 0;
sub set_defaults {
my $self = shift;
- #$self->server('esqa.moneris.com'); # development
- $self->server('www3.moneris.com'); # production
+ #USD
+ #$self->server('esplusqa.moneris.com'); # development
+ $self->server('esplus.moneris.com'); # production
+ $self->path('/gateway_us/servlet/MpgRequest');
+
+ ##CAD
+ ##$self->server('esqa.moneris.com'); # development
+ #$self->server('www3.moneris.com'); # production
+ #$self->path('/gateway2/servlet/MpgRequest');
+
$self->port('443');
- $self->path('/gateway2/servlet/MpgRequest');
$self->build_subs(qw( order_number avs_code ));
# avs_code order_type md5 cvv2_response cavv_response
sub submit {
my($self) = @_;
+ if ( $self->{_content}{'currency'} eq 'CAD' ) {
+ $self->server('www3.moneris.com');
+ $self->path('/gateway2/servlet/MpgRequest');
+ } else { #sorry, default to USD
+ $self->server('esplus.moneris.com');
+ $self->path('/gateway_us/servlet/MpgRequest');
+ }
+
if ($self->test_transaction) {
- $self->server('esqa.moneris.com');
- $self->{_content}{'login'} = 'store2'; # store[123]
- $self->{_content}{'password'} = 'yesguy';
+ if ( $self->{_content}{'currency'} eq 'CAD' ) {
+ $self->server('esqa.moneris.com');
+ $self->{_content}{'login'} = 'store2'; # store[123]
+ $self->{_content}{'password'} = 'yesguy';
+ } else { #sorry, default to USD
+ $self->server('esplusqa.moneris.com');
+ $self->{_content}{'login'} = 'monusqa002'; # monusqa00[123]
+ $self->{_content}{'password'} = 'qatoken';
+ }
}
# BOP field => eSelectPlus field
# E-Commerce Indicator (see eSelectPlus docs)
$self->{_content}{'crypt_type'} ||= 7;
+ $action = "us_$action" unless $self->{_content}{'currency'} eq 'CAD';
+
#no, values aren't escaped for XML. their "mpgClasses.pl" example doesn't
#appear to do so, i dunno
tie my %fields, 'Tie::IxHash', $self->get_fields( $self->fields );
action => 'Normal Authorization',
description => 'Business::OnlinePayment test',
amount => '49.95',
+ currency => 'USD', #or CAD for compatibility with previous releases
name => 'Tofu Beast',
address => '123 Anystreet',
city => 'Anywhere',
For detailed information see L<Business::OnlinePayment>.
-=head1 NOTE
+=head1 Note for Canadian merchants upgrading to 0.03
+
+As of version 0.03, this module now defaults to the US Moneris. Make sure to
+pass currency=>'CAD' for Canadian transactions.
=head1 AUTHOR
+++ /dev/null
-BEGIN {$| = 1; print "1..1\n"; }
-
-eval "use Net::SSLeay;";
-if ( $@ ) {
- print "ok 1 # Skipped: Net::SSLeay is not installed\n"; exit;
-}
-
-use Business::OnlinePayment;
-
-my $tx = new Business::OnlinePayment("eSelectPlus");
-
-#$Business::OnlinePayment::HTTPS::DEBUG = 1;
-#$Business::OnlinePayment::HTTPS::DEBUG = 1;
-$Business::OnlinePayment::eSelectPlus::DEBUG = 1;
-$Business::OnlinePayment::eSelectPlus::DEBUG = 1;
-
-$tx->content(
- type => 'VISA',
- login => 'moot',
- password => 'moot',
- action => 'Normal Authorization',
- amount => '0.54',
- card_number => '4242424242424242',
- expiration => '08/00',
-);
-$tx->test_transaction(1); # test, dont really charge
-$tx->submit();
-
-# warn $tx->server_response."\n";
-# warn $tx->error_message. "\n";
-if($tx->is_success()) {
- print "not ok 1\n";
-} else {
- print "ok 1\n";
-}
--- /dev/null
+BEGIN {$| = 1; print "1..1\n"; }
+
+eval "use Net::SSLeay;";
+if ( $@ ) {
+ print "ok 1 # Skipped: Net::SSLeay is not installed\n"; exit;
+}
+
+use Business::OnlinePayment;
+
+my $tx = new Business::OnlinePayment("eSelectPlus");
+
+#$Business::OnlinePayment::HTTPS::DEBUG = 1;
+#$Business::OnlinePayment::HTTPS::DEBUG = 1;
+$Business::OnlinePayment::eSelectPlus::DEBUG = 1;
+$Business::OnlinePayment::eSelectPlus::DEBUG = 1;
+
+$tx->content(
+ type => 'VISA',
+ login => 'moot',
+ password => 'moot',
+ action => 'Normal Authorization',
+ amount => '0.54',
+ currency => 'CAD',
+ card_number => '4242424242424242',
+ expiration => '08/00',
+);
+$tx->test_transaction(1); # test, dont really charge
+$tx->submit();
+
+# warn $tx->server_response."\n";
+# warn $tx->error_message. "\n";
+if($tx->is_success()) {
+ print "not ok 1\n";
+} else {
+ print "ok 1\n";
+}
--- /dev/null
+BEGIN {$| = 1; print "1..1\n"; }
+
+eval "use Net::SSLeay;";
+if ( $@ ) {
+ print "ok 1 # Skipped: Net::SSLeay is not installed\n"; exit;
+}
+
+use Business::OnlinePayment;
+
+my $tx = new Business::OnlinePayment("eSelectPlus");
+
+#$Business::OnlinePayment::HTTPS::DEBUG = 1;
+#$Business::OnlinePayment::HTTPS::DEBUG = 1;
+$Business::OnlinePayment::eSelectPlus::DEBUG = 1;
+$Business::OnlinePayment::eSelectPlus::DEBUG = 1;
+
+$tx->content(
+ type => 'VISA',
+ login => 'moot',
+ password => 'moot',
+ action => 'Normal Authorization',
+ amount => '0.54',
+ currency => 'USD',
+ card_number => '4242424242424242',
+ expiration => '08/00',
+);
+$tx->test_transaction(1); # test, dont really charge
+$tx->submit();
+
+# warn $tx->server_response."\n";
+# warn $tx->error_message. "\n";
+if($tx->is_success()) {
+ print "not ok 1\n";
+} else {
+ print "ok 1\n";
+}
+++ /dev/null
-BEGIN { $| = 1; print "1..1\n"; }
-
-eval "use Net::SSLeay;";
-if ( $@ ) {
- print "ok 1 # Skipped: Net::SSLeay is not installed\n"; exit;
-}
-
-use Business::OnlinePayment;
-
-my $tx = new Business::OnlinePayment("eSelectPlus");
-
-#$Business::OnlinePayment::HTTPS::DEBUG = 1;
-#$Business::OnlinePayment::HTTPS::DEBUG = 1;
-$Business::OnlinePayment::eSelectPlus::DEBUG = 1;
-$Business::OnlinePayment::eSelectPlus::DEBUG = 1;
-
-$tx->content(
- type => 'VISA',
- login => 'moot',
- password => 'moot',
- action => 'Normal Authorization',
- amount => '0.80',
- card_number => '4242424242424242',
- expiration => '01/12',
-);
-$tx->test_transaction(1); # test, dont really charge
-$tx->submit();
-
-if($tx->is_success()) {
- print "ok 1\n";
-} else {
- warn $tx->server_response."\n";
- warn $tx->error_message. "\n";
- print "not ok 1\n";
-}
-
--- /dev/null
+BEGIN { $| = 1; print "1..1\n"; }
+
+eval "use Net::SSLeay;";
+if ( $@ ) {
+ print "ok 1 # Skipped: Net::SSLeay is not installed\n"; exit;
+}
+
+use Business::OnlinePayment;
+
+my $tx = new Business::OnlinePayment("eSelectPlus");
+
+#$Business::OnlinePayment::HTTPS::DEBUG = 1;
+#$Business::OnlinePayment::HTTPS::DEBUG = 1;
+$Business::OnlinePayment::eSelectPlus::DEBUG = 1;
+$Business::OnlinePayment::eSelectPlus::DEBUG = 1;
+
+$tx->content(
+ type => 'VISA',
+ login => 'moot',
+ password => 'moot',
+ action => 'Normal Authorization',
+ amount => '0.80',
+ currency => 'CAD',
+ card_number => '4242424242424242',
+ expiration => '01/12',
+);
+$tx->test_transaction(1); # test, dont really charge
+$tx->submit();
+
+if($tx->is_success()) {
+ print "ok 1\n";
+} else {
+ warn $tx->server_response."\n";
+ warn $tx->error_message. "\n";
+ print "not ok 1\n";
+}
+
--- /dev/null
+BEGIN { $| = 1; print "1..1\n"; }
+
+eval "use Net::SSLeay;";
+if ( $@ ) {
+ print "ok 1 # Skipped: Net::SSLeay is not installed\n"; exit;
+}
+
+use Business::OnlinePayment;
+
+my $tx = new Business::OnlinePayment("eSelectPlus");
+
+#$Business::OnlinePayment::HTTPS::DEBUG = 1;
+#$Business::OnlinePayment::HTTPS::DEBUG = 1;
+$Business::OnlinePayment::eSelectPlus::DEBUG = 1;
+$Business::OnlinePayment::eSelectPlus::DEBUG = 1;
+
+$tx->content(
+ type => 'VISA',
+ login => 'moot',
+ password => 'moot',
+ action => 'Normal Authorization',
+ amount => '0.80',
+ currency => 'USD',
+ card_number => '4242424242424242',
+ expiration => '01/12',
+);
+$tx->test_transaction(1); # test, dont really charge
+$tx->submit();
+
+if($tx->is_success()) {
+ print "ok 1\n";
+} else {
+ warn $tx->server_response."\n";
+ warn $tx->error_message. "\n";
+ print "not ok 1\n";
+}
+
+++ /dev/null
-BEGIN {
- $| = 1; print "1..1\n";
- $Business::OnlinePayment::HTTPS::skip_NetSSLeay=1;
- $Business::OnlinePayment::HTTPS::skip_NetSSLeay=1;
-}
-
-eval "use Crypt::SSLeay;";
-if ( $@ ) {
- print "ok 1 # Skipped: Crypt::SSLeay is not installed\n"; exit;
-}
-
-use Business::OnlinePayment;
-
-my $tx = new Business::OnlinePayment("eSelectPlus");
-
-$tx->content(
- type => 'VISA',
- login => 'moot',
- password => 'moot',
- action => 'Normal Authorization',
- amount => '0.54',
- card_number => '4242424242424242',
- expiration => '08/00',
-);
-$tx->test_transaction(1); # test, dont really charge
-$tx->submit();
-
-# warn $tx->server_response."\n";
-# warn $tx->error_message. "\n";
-if($tx->is_success()) {
- print "not ok 1\n";
-} else {
- print "ok 1\n";
-}
-
--- /dev/null
+BEGIN {
+ $| = 1; print "1..1\n";
+ $Business::OnlinePayment::HTTPS::skip_NetSSLeay=1;
+ $Business::OnlinePayment::HTTPS::skip_NetSSLeay=1;
+}
+
+eval "use Crypt::SSLeay;";
+if ( $@ ) {
+ print "ok 1 # Skipped: Crypt::SSLeay is not installed\n"; exit;
+}
+
+use Business::OnlinePayment;
+
+my $tx = new Business::OnlinePayment("eSelectPlus");
+
+$tx->content(
+ type => 'VISA',
+ login => 'moot',
+ password => 'moot',
+ action => 'Normal Authorization',
+ amount => '0.54',
+ currency => 'CAD',
+ card_number => '4242424242424242',
+ expiration => '08/00',
+);
+$tx->test_transaction(1); # test, dont really charge
+$tx->submit();
+
+# warn $tx->server_response."\n";
+# warn $tx->error_message. "\n";
+if($tx->is_success()) {
+ print "not ok 1\n";
+} else {
+ print "ok 1\n";
+}
+
--- /dev/null
+BEGIN {
+ $| = 1; print "1..1\n";
+ $Business::OnlinePayment::HTTPS::skip_NetSSLeay=1;
+ $Business::OnlinePayment::HTTPS::skip_NetSSLeay=1;
+}
+
+eval "use Crypt::SSLeay;";
+if ( $@ ) {
+ print "ok 1 # Skipped: Crypt::SSLeay is not installed\n"; exit;
+}
+
+use Business::OnlinePayment;
+
+my $tx = new Business::OnlinePayment("eSelectPlus");
+
+$tx->content(
+ type => 'VISA',
+ login => 'moot',
+ password => 'moot',
+ action => 'Normal Authorization',
+ amount => '0.54',
+ currency => 'USD',
+ card_number => '4242424242424242',
+ expiration => '08/00',
+);
+$tx->test_transaction(1); # test, dont really charge
+$tx->submit();
+
+# warn $tx->server_response."\n";
+# warn $tx->error_message. "\n";
+if($tx->is_success()) {
+ print "not ok 1\n";
+} else {
+ print "ok 1\n";
+}
+
+++ /dev/null
-BEGIN {
- $| = 1; print "1..1\n";
- $Business::OnlinePayment::HTTPS::skip_NetSSLeay=1;
- $Business::OnlinePayment::HTTPS::skip_NetSSLeay=1;
-}
-
-eval "use Crypt::SSLeay;";
-if ( $@ ) {
- print "ok 1 # Skipped: Crypt::SSLeay is not installed\n"; exit;
-}
-
-use Business::OnlinePayment;
-
-my $tx = new Business::OnlinePayment("eSelectPlus");
-$tx->content(
- type => 'VISA',
- login => 'store1',
- password => 'yesguy',
- action => 'Normal Authorization',
- amount => '0.80',
- card_number => '4242424242424242',
- expiration => '08/06',
-);
-$tx->test_transaction(1); # test, dont really charge
-$tx->submit();
-
-if($tx->is_success()) {
- print "ok 1\n";
-} else {
- #warn $tx->server_response."\n";
- warn $tx->error_message. "\n";
- print "not ok 1\n";
-}
-
--- /dev/null
+BEGIN {
+ $| = 1; print "1..1\n";
+ $Business::OnlinePayment::HTTPS::skip_NetSSLeay=1;
+ $Business::OnlinePayment::HTTPS::skip_NetSSLeay=1;
+}
+
+eval "use Crypt::SSLeay;";
+if ( $@ ) {
+ print "ok 1 # Skipped: Crypt::SSLeay is not installed\n"; exit;
+}
+
+use Business::OnlinePayment;
+
+my $tx = new Business::OnlinePayment("eSelectPlus");
+$tx->content(
+ type => 'VISA',
+ login => 'store1',
+ password => 'yesguy',
+ action => 'Normal Authorization',
+ amount => '0.80',
+ currency => 'CAD',
+ card_number => '4242424242424242',
+ expiration => '08/06',
+);
+$tx->test_transaction(1); # test, dont really charge
+$tx->submit();
+
+if($tx->is_success()) {
+ print "ok 1\n";
+} else {
+ #warn $tx->server_response."\n";
+ warn $tx->error_message. "\n";
+ print "not ok 1\n";
+}
+
--- /dev/null
+BEGIN {
+ $| = 1; print "1..1\n";
+ $Business::OnlinePayment::HTTPS::skip_NetSSLeay=1;
+ $Business::OnlinePayment::HTTPS::skip_NetSSLeay=1;
+}
+
+eval "use Crypt::SSLeay;";
+if ( $@ ) {
+ print "ok 1 # Skipped: Crypt::SSLeay is not installed\n"; exit;
+}
+
+use Business::OnlinePayment;
+
+my $tx = new Business::OnlinePayment("eSelectPlus");
+$tx->content(
+ type => 'VISA',
+ login => 'store1',
+ password => 'yesguy',
+ action => 'Normal Authorization',
+ amount => '0.80',
+ currency => 'USD',
+ card_number => '4242424242424242',
+ expiration => '08/06',
+);
+$tx->test_transaction(1); # test, dont really charge
+$tx->submit();
+
+if($tx->is_success()) {
+ print "ok 1\n";
+} else {
+ #warn $tx->server_response."\n";
+ warn $tx->error_message. "\n";
+ print "not ok 1\n";
+}
+