diff options
author | Ivan Kohler <ivan@freeside.biz> | 2013-09-11 02:23:37 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2013-09-11 02:23:37 -0700 |
commit | 3dff65c08ed16024f5fd5f55d23551f485ced164 (patch) | |
tree | 9096c1ab5ebeeffaef771169f157734010752c24 /FS/FS/cust_payby.pm | |
parent | f41b13b6abee080901f3b8d10ed7918102970ae6 (diff) |
multiple payment options, RT#23741
Diffstat (limited to 'FS/FS/cust_payby.pm')
-rw-r--r-- | FS/FS/cust_payby.pm | 43 |
1 files changed, 14 insertions, 29 deletions
diff --git a/FS/FS/cust_payby.pm b/FS/FS/cust_payby.pm index 7bf8c76dd..68c824515 100644 --- a/FS/FS/cust_payby.pm +++ b/FS/FS/cust_payby.pm @@ -7,7 +7,12 @@ use FS::Record qw( qsearchs ); #qsearch; use FS::payby; use FS::cust_main; -use vars qw( $conf $ignore_expired_card $ignore_banned_card ); +use vars qw( $conf @encrypted_fields + $ignore_expired_card $ignore_banned_card + ); + +@encrypted_fields = ('payinfo', 'paycvv'); +sub nohistory_fields { ('payinfo', 'paycvv'); } $ignore_expired_card = 0; $ignore_banned_card = 0; @@ -165,45 +170,25 @@ sub check { $self->ut_numbern('custpaybynum') || $self->ut_foreign_key('custnum', 'cust_main', 'custnum') || $self->ut_number('weight') - || $self->ut_('payby') - || $self->ut_textn('payinfo') - || $self->ut_textn('paycvv') - || $self->ut_textn('paymask') - || $self->ut_textn('paydate') + #encrypted #|| $self->ut_textn('payinfo') + #encrypted #|| $self->ut_textn('paycvv') +# || $self->ut_textn('paymask') #XXX something + #later #|| $self->ut_textn('paydate') || $self->ut_numbern('paystart_month') || $self->ut_numbern('paystart_year') - || $self->ut_textn('payissue') - || $self->ut_textn('payname') - || $self->ut_textn('paystate') + || $self->ut_numbern('payissue') +# || $self->ut_textn('payname') #XXX something + || $self->ut_alphan('paystate') || $self->ut_textn('paytype') - || $self->ut_textn('payip') + || $self->ut_ipn('payip') ; return $error if $error; - ### from cust_main - - #$self->payby =~ /^(CARD|DCRD|CHEK|DCHK|LECB|BILL|COMP|PREPAY|CASH|WEST|MCRD)$/ - # or return "Illegal payby: ". $self->payby; - #$self->payby($1); FS::payby->can_payby($self->table, $self->payby) or return "Illegal payby: ". $self->payby; - $error = $self->ut_numbern('paystart_month') - || $self->ut_numbern('paystart_year') - || $self->ut_numbern('payissue') - || $self->ut_textn('paytype') - ; - return $error if $error; - - if ( $self->payip eq '' ) { - $self->payip(''); - } else { - $error = $self->ut_ip('payip'); - return $error if $error; - } - # If it is encrypted and the private key is not availaible then we can't # check the credit card. my $check_payinfo = ! $self->is_encrypted($self->payinfo); |