use vars qw($VERSION $DEBUG @ISA);
@ISA = qw(Business::OnlinePayment::HTTPS);
-$VERSION = '0.08_01';
+$VERSION = '0.08_02';
$DEBUG = 0;
sub set_defaults {
my $self = shift;
+ my %opts = @_;
#USD
#$self->server('esplusqa.moneris.com'); # development
$self->port('443');
- $self->build_subs(qw( order_number avs_code ));
+ $self->build_subs(qw( order_number avs_code skip_avs skip_cvv ));
# avs_code order_type md5 cvv2_response cavv_response
+
+ $self->skip_avs( $opts{skip_avs} );
+ $self->skip_cvv( $opts{skip_cvv} );
}
sub submit {
'<avs_info>'.
join('', map "<$_>$avs_fields{$_}</$_>", keys %avs_fields ).
'</avs_info>'
- if grep $_, values %avs_fields;
+ if ! $self->skip_avs && grep $_, values %avs_fields;
tie my %cvd_fields, 'Tie::IxHash', $self->get_fields( $self->cvd_fields );
$post_data .=
'<cvd_info>'.
join('', map "<$_>$cvd_fields{$_}</$_>", keys %cvd_fields ).
'</cvd_info>'
- if grep $_, values %cvd_fields;
+ if ! $self->skip_cvv && grep $_, values %cvd_fields;
}
$post_data .=
for capture. See also
cpansearch.perl.org/src/IVAN/Business-OnlinePayment-3.02/notes_for_module_writers_v3
+=head2 Note for upgrading to 0.08 without AVS/CVV enabled with Moneris
+
+This version now passes AVS and CVV info (previous versions did not). If your
+Moneris account is not enabled for these services, you can omit them by passing
+the "skip_avs" and/or "skip_cvv" options set to a true value:
+
+ my $tx = new Business::OnlinePayment('eSelectPlus',
+ 'skip_avs' => 1,
+ 'skip_cvv' => 1,
+ );
+
=head1 AUTHOR
Ivan Kohler <ivan-eselectplus@420.am>