Rework build_subs(), thanks to Michal Schwern, closes: CPAN#22073
[Business-OnlinePayment.git] / OnlinePayment.pm
index f8417ba..86551c4 100644 (file)
@@ -6,7 +6,7 @@ use Carp;
 
 require 5.005;
 
-$VERSION = '3.03_01';
+$VERSION = '3.03_02';
 $VERSION = eval $VERSION; # modperlstyle: convert the string into a number
 
 # Remember subclasses we have "wrapped" submit() with _pre_submit()
@@ -37,6 +37,8 @@ my @methods = qw(
     cvv2_response
 );
 
+__PACKAGE__->build_subs(@methods);
+
 #fallback
 sub _info {
   my $class = shift;
@@ -88,7 +90,6 @@ sub new {
     croak("unknown processor $processor ($@)") if $@;
 
     my $self = bless {processor => $processor}, $subclass;
-    $self->build_subs(@methods);
 
     if($self->can("set_defaults")) {
         $self->set_defaults(%data);
@@ -159,7 +160,6 @@ sub _pre_submit {
               unless ( $@ =~ m/^Can\'t locate/ );
         } else {
             my $risk_tx = bless( { processor => $fraud_detection }, $subclass );
-            $risk_tx->build_subs(@methods);
             if ($risk_tx->can('set_defaults')) {
                 $risk_tx->set_defaults();
             }