summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FS/FS/agent.pm17
1 files changed, 15 insertions, 2 deletions
diff --git a/FS/FS/agent.pm b/FS/FS/agent.pm
index f17427517..d291ca070 100644
--- a/FS/FS/agent.pm
+++ b/FS/FS/agent.pm
@@ -269,16 +269,20 @@ sub payment_gateway {
cardtype => '',
taxclass => '', } );
- my $payment_gateway = new FS::payment_gateway;
+ my $payment_gateway;
+ my $conf = new FS::Conf;
if ( $override ) { #use a payment gateway override
$payment_gateway = $override->payment_gateway;
+ $payment_gateway->gateway_namespace('Business::OnlinePayment')
+ unless $payment_gateway->gateway_name;
+
} else { #use the standard settings from the config
+
# the standard settings from the config could be moved to a null agent
# agent_payment_gateway referenced payment_gateway
- my $conf = new FS::Conf;
unless ( $conf->exists('business-onlinepayment') ) {
if ( $options{'nofatal'} ) {
return '';
@@ -302,6 +306,8 @@ sub payment_gateway {
"did you set the business-onlinepayment configuration value?\n"
unless $processor;
+ $payment_gateway = new FS::payment_gateway;
+
$payment_gateway->gateway_namespace( $conf->config('business-onlinepayment-namespace') ||
'Business::OnlinePayment');
$payment_gateway->gateway_module($processor);
@@ -312,6 +318,13 @@ sub payment_gateway {
}
+ unless ( $payment_gateway->gateway_namespace ) {
+ $payment_gateway->gateway_namespace(
+ scalar($conf->config('business-onlinepayment-namespace'))
+ || 'Business::OnlinePayment'
+ );
+ }
+
$payment_gateway;
}