diff options
| author | Christopher Burger <burgerc@freeside.biz> | 2018-04-16 16:44:16 -0400 |
|---|---|---|
| committer | Christopher Burger <burgerc@freeside.biz> | 2019-01-08 12:12:40 -0500 |
| commit | 73774ffbdfe3d0aadfea9a6d980751197d199e58 (patch) | |
| tree | 20531799611f5e4ddb572f3cc40b1b1ba13a3a9f | |
| parent | c540df7c42e28bc2919141419757041532cb1b67 (diff) | |
RT# 80175 - fixed error in payment gateway where ACH cardtype was always selected.
| -rw-r--r-- | FS/FS/agent.pm | 12 |
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 : '', |
