X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;ds=inline;f=eSelectPlus.pm;fp=eSelectPlus.pm;h=677771a89787d3872123735188fb0414238d3602;hb=c68ddf7bf88ab9a2c8c3b5fbb90f48b7b81828bf;hp=6223c177c40fec444890814faadb02824a47ceda;hpb=68a1e22789d07aae6ebfdbf59ffe608a62c6d71b;p=Business-OnlinePayment-eSelectPlus.git diff --git a/eSelectPlus.pm b/eSelectPlus.pm index 6223c17..677771a 100644 --- a/eSelectPlus.pm +++ b/eSelectPlus.pm @@ -8,16 +8,23 @@ use Business::OnlinePayment::HTTPS 0.03; 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 @@ -26,10 +33,24 @@ sub set_defaults { 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 @@ -115,6 +136,8 @@ sub submit { # 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 ); @@ -272,6 +295,7 @@ Business::OnlinePayment::eSelectPlus - Moneris eSelect Plus backend module for B 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', @@ -315,7 +339,10 @@ Content required: type, login, password, action, amount, card_number, expiration For detailed information see L. -=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