projects
/
Business-OnlinePayment-eSelectPlus.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix voids
[Business-OnlinePayment-eSelectPlus.git]
/
eSelectPlus.pm
diff --git
a/eSelectPlus.pm
b/eSelectPlus.pm
index
677771a
..
8ba1495
100644
(file)
--- a/
eSelectPlus.pm
+++ b/
eSelectPlus.pm
@@
-8,7
+8,7
@@
use Business::OnlinePayment::HTTPS 0.03;
use vars qw($VERSION $DEBUG @ISA);
@ISA = qw(Business::OnlinePayment::HTTPS);
use vars qw($VERSION $DEBUG @ISA);
@ISA = qw(Business::OnlinePayment::HTTPS);
-$VERSION = '0.0
3
';
+$VERSION = '0.0
4
';
$DEBUG = 0;
sub set_defaults {
$DEBUG = 0;
sub set_defaults {
@@
-33,7
+33,8
@@
sub set_defaults {
sub submit {
my($self) = @_;
sub submit {
my($self) = @_;
- if ( $self->{_content}{'currency'} eq 'CAD' ) {
+ if ( defined( $self->{_content}{'currency'} )
+ && $self->{_content}{'currency'} eq 'CAD' ) {
$self->server('www3.moneris.com');
$self->path('/gateway2/servlet/MpgRequest');
} else { #sorry, default to USD
$self->server('www3.moneris.com');
$self->path('/gateway2/servlet/MpgRequest');
} else { #sorry, default to USD
@@
-42,7
+43,8
@@
sub submit {
}
if ($self->test_transaction) {
}
if ($self->test_transaction) {
- if ( $self->{_content}{'currency'} eq 'CAD' ) {
+ if ( defined( $self->{_content}{'currency'} )
+ && $self->{_content}{'currency'} eq 'CAD' ) {
$self->server('esqa.moneris.com');
$self->{_content}{'login'} = 'store2'; # store[123]
$self->{_content}{'password'} = 'yesguy';
$self->server('esqa.moneris.com');
$self->{_content}{'login'} = 'store2'; # store[123]
$self->{_content}{'password'} = 'yesguy';
@@
-95,7
+97,7
@@
sub submit {
} elsif ( $self->{_content}{'action'} =~ /^\s*post\s*authorization\s*$/i ) {
$action = 'completion';
} elsif ( $self->{_content}{'action'} =~ /^\s*void\s*$/i ) {
} elsif ( $self->{_content}{'action'} =~ /^\s*post\s*authorization\s*$/i ) {
$action = 'completion';
} elsif ( $self->{_content}{'action'} =~ /^\s*void\s*$/i ) {
- $action = '
void
';
+ $action = '
purchasecorrection
';
} elsif ( $self->{_content}{'action'} =~ /^\s*credit\s*$/i ) {
if ( $self->{_content}{'authorization'} ) {
$action = 'refund';
} elsif ( $self->{_content}{'action'} =~ /^\s*credit\s*$/i ) {
if ( $self->{_content}{'authorization'} ) {
$action = 'refund';
@@
-121,7
+123,7
@@
sub submit {
$self->{_content}{amount} = sprintf('%.2f', $self->{_content}{amount} );
$self->{_content}{amount} = sprintf('%.2f', $self->{_content}{amount} );
- } elsif ( $action eq 'completion' || $action eq '
void
' ) {
+ } elsif ( $action eq 'completion' || $action eq '
purchasecorrection
' ) {
$self->required_fields( qw( login password order_number authorization ) );
$self->required_fields( qw( login password order_number authorization ) );
@@
-136,7
+138,9
@@
sub submit {
# E-Commerce Indicator (see eSelectPlus docs)
$self->{_content}{'crypt_type'} ||= 7;
# E-Commerce Indicator (see eSelectPlus docs)
$self->{_content}{'crypt_type'} ||= 7;
- $action = "us_$action" unless $self->{_content}{'currency'} eq 'CAD';
+ $action = "us_$action"
+ unless defined( $self->{_content}{'currency'} )
+ && $self->{_content}{'currency'} eq 'CAD';
#no, values aren't escaped for XML. their "mpgClasses.pl" example doesn't
#appear to do so, i dunno
#no, values aren't escaped for XML. their "mpgClasses.pl" example doesn't
#appear to do so, i dunno