summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2014-04-23 13:34:00 -0700
committerIvan Kohler <ivan@freeside.biz>2014-04-23 13:34:00 -0700
commit297ddd01fb112cf45a6dab819ec56803c953bda5 (patch)
tree6a3aaddf3cd51d753a05fdd84d9c7410d1d806b8
parent8b8ebd929229c8376bb81076071c5e76d2baa0ee (diff)
selfservice-require_cvv configuration option, RT#28486
-rw-r--r--FS/FS/ClientAPI/MyAccount.pm5
-rw-r--r--FS/FS/Conf.pm9
2 files changed, 13 insertions, 1 deletions
diff --git a/FS/FS/ClientAPI/MyAccount.pm b/FS/FS/ClientAPI/MyAccount.pm
index 54d53063d..d3b58e3a7 100644
--- a/FS/FS/ClientAPI/MyAccount.pm
+++ b/FS/FS/ClientAPI/MyAccount.pm
@@ -850,6 +850,9 @@ sub payment_info {
'card_types' => card_types(),
+ 'withcvv' => $conf->exists('selfservice-require_cvv'), #or enable optional cvv?
+ 'require_cvv' => $conf->exists('selfservice-require_cvv'),
+
'paytypes' => [ @FS::cust_main::paytypes ],
'paybys' => [ $conf->config('signup_server-payby') ],
@@ -1026,6 +1029,8 @@ sub validate_payment {
or return { 'error' => "CVV2 (CVC2/CID) is three digits." };
$paycvv = $1;
}
+ } elsif ( $conf->exists('selfservice-require_cvv') ) { #and you weren't using a card on file?
+ return { 'error' => 'CVV2 is required' };
}
} else {
diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm
index 508a6c326..5f50ecad0 100644
--- a/FS/FS/Conf.pm
+++ b/FS/FS/Conf.pm
@@ -2661,7 +2661,7 @@ and customer address. Include units.',
{
'key' => 'cvv-save',
'section' => 'billing',
- 'description' => 'Save CVV2 information after the initial transaction for the selected credit card types. Enabling this option may be in violation of your merchant agreement(s), so please check them carefully before enabling this option for any credit card types.',
+ 'description' => 'NOT RECOMMENDED. Saves CVV2 information after the initial transaction for the selected credit card types. Enabling this option is almost certainly in violation of your merchant agreement(s), so please check them carefully before enabling this option for any credit card types.',
'type' => 'selectmultiple',
'select_enum' => \@card_types,
},
@@ -2674,6 +2674,13 @@ and customer address. Include units.',
},
{
+ 'key' => 'selfservice-require_cvv',
+ 'section' => 'self-service',
+ 'description' => 'Require CVV for credit card self-service payments.',
+ 'type' => 'checkbox',
+ },
+
+ {
'key' => 'manual_process-pkgpart',
'section' => 'billing',
'description' => 'Package to add to each manual credit card and ACH payment entered by employees from the backend. Enabling this option may be in violation of your merchant agreement(s), so please check it(/them) carefully before enabling this option.',