summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FS/FS/cust_main.pm5
-rw-r--r--FS/FS/cust_main/Billing_Realtime.pm8
2 files changed, 9 insertions, 4 deletions
diff --git a/FS/FS/cust_main.pm b/FS/FS/cust_main.pm
index cfcd5f43f..6e666466d 100644
--- a/FS/FS/cust_main.pm
+++ b/FS/FS/cust_main.pm
@@ -1538,6 +1538,11 @@ sub replace {
{
my $error = $self->check_payinfo_cardtype;
return $error if $error;
+
+ if ( $conf->exists('business-onlinepayment-verification') ) {
+ $error = $self->realtime_verify_bop({ 'method'=>'CC' });
+ return $error if $error;
+ }
}
return "Invoicing locale is required"
diff --git a/FS/FS/cust_main/Billing_Realtime.pm b/FS/FS/cust_main/Billing_Realtime.pm
index 0a61ad1b8..90fda5eb2 100644
--- a/FS/FS/cust_main/Billing_Realtime.pm
+++ b/FS/FS/cust_main/Billing_Realtime.pm
@@ -1758,7 +1758,7 @@ sub realtime_verify_bop {
my $ban = FS::banned_pay->ban_search(
'payby' => $bop_method2payby{'CC'},
- 'payinfo' => $options{payinfo},
+ 'payinfo' => $options{payinfo} || $self->payinfo,
);
return "Banned credit card" if $ban && $ban->bantype ne 'warn';
@@ -1787,7 +1787,7 @@ sub realtime_verify_bop {
if ( $options{method} eq 'CC' ) {
- $content{card_number} = $options{payinfo};
+ $content{card_number} = $options{payinfo} || $self->payinfo;
$paydate = exists($options{'paydate'})
? $options{'paydate'}
: $self->paydate;
@@ -1860,8 +1860,8 @@ sub realtime_verify_bop {
'paid' => '1.00',
'_date' => '',
'payby' => $bop_method2payby{'CC'},
- 'payinfo' => $options{payinfo},
- 'paymask' => $options{paymask},
+ 'payinfo' => $options{payinfo} || $self->payinfo,
+ 'paymask' => $options{paymask} || $self->paymask,
'paydate' => $paydate,
#'recurring_billing' => $content{recurring_billing},
'pkgnum' => $options{'pkgnum'},