diff options
| author | Ivan Kohler <ivan@freeside.biz> | 2019-02-13 10:02:50 -0800 |
|---|---|---|
| committer | Ivan Kohler <ivan@freeside.biz> | 2019-02-13 10:02:50 -0800 |
| commit | 14be094b5656a1c460afc1670b6765549630676a (patch) | |
| tree | d68316aa72615de9ea19ecb617f2e6ac8d41a8e3 | |
| parent | 24c2d0b0530f4ffc09ca3a474aa756d3fffda499 (diff) | |
restore fallback to customer billing address for CC transactions, RT#77641, RT#71513
| -rw-r--r-- | FS/FS/cust_main/Billing_Realtime.pm | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/FS/FS/cust_main/Billing_Realtime.pm b/FS/FS/cust_main/Billing_Realtime.pm index 09f4d25be..d190c2e20 100644 --- a/FS/FS/cust_main/Billing_Realtime.pm +++ b/FS/FS/cust_main/Billing_Realtime.pm @@ -361,14 +361,23 @@ sub _bop_content { $content{name} = $payname if $payname; - $content{address} = $options->{'address1'}; - my $address2 = $options->{'address2'}; - $content{address} .= ", ". $address2 if length($address2); - - $content{city} = $options->{'city'}; - $content{state} = $options->{'state'}; - $content{zip} = $options->{'zip'}; - $content{country} = $options->{'country'}; + if ( exists($options->{'address1'}) ) { + + $content{address} = $options->{'address1'}; + my $address2 = $options->{'address2'}; + $content{address} .= ", ". $address2 if length($address2); + + $content{$_} = $options->{$_} foreach qw( city state zip country ); + + } elsif ( ref($self) ) { + + $content{address} = $self->address1; + my $address2 = $self->address2; + $content{address} .= ", ". $address2 if length($address2); + + $content{$_} = $self->$_() foreach qw( city state zip country ); + + } # can't set phone if called as class method $content{phone} = $self->daytime || $self->night |
