summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Burger <burgerc@freeside.biz>2018-04-16 16:44:16 -0400
committerChristopher Burger <burgerc@freeside.biz>2019-01-08 12:12:40 -0500
commit73774ffbdfe3d0aadfea9a6d980751197d199e58 (patch)
tree20531799611f5e4ddb572f3cc40b1b1ba13a3a9f
parentc540df7c42e28bc2919141419757041532cb1b67 (diff)
RT# 80175 - fixed error in payment gateway where ACH cardtype was always selected.
-rw-r--r--FS/FS/agent.pm12
1 files changed, 7 insertions, 5 deletions
diff --git a/FS/FS/agent.pm b/FS/FS/agent.pm
index bf389deac..810709357 100644
--- a/FS/FS/agent.pm
+++ b/FS/FS/agent.pm
@@ -294,13 +294,15 @@ sub payment_gateway {
}
}
- my $cardtype = '';
- if ( $options{method} eq 'ECHECK' ) { $cardtype = 'ACH'; }
+ my $cardtype_search = "AND cardtype != 'ACH'";
+ $cardtype_search = "AND cardtype = 'ACH'" if $options{method} eq 'ECHECK';
my $override =
- qsearchs('agent_payment_gateway', { agentnum => $self->agentnum,
- cardtype => $cardtype, } )
- || qsearchs('agent_payment_gateway', { agentnum => $self->agentnum } );
+ qsearchs({
+ "table" => 'agent_payment_gateway',
+ "hashref" => { agentnum => $self->agentnum, },
+ "extra_sql" => $cardtype_search,
+ });
my $payment_gateway = FS::payment_gateway->by_key_or_default(
gatewaynum => $override ? $override->gatewaynum : '',