diff options
author | ivan <ivan> | 2006-10-08 08:17:06 +0000 |
---|---|---|
committer | ivan <ivan> | 2006-10-08 08:17:06 +0000 |
commit | 22c70177969f30e2e419b32cb5d475c143f10b12 (patch) | |
tree | 575464d297893db89f4452e85d3d5b3a92c89974 /FS/FS/payby.pm | |
parent | 1530e25643850b0cd6e59332c79c8760243b5d5e (diff) |
add menu items for credit card batching, debug last-minute changes to payby.pm, add ACL for re-processing batches, separate CARD and CHEK batches, fixed defaults for batch formats
Diffstat (limited to 'FS/FS/payby.pm')
-rw-r--r-- | FS/FS/payby.pm | 29 |
1 files changed, 25 insertions, 4 deletions
diff --git a/FS/FS/payby.pm b/FS/FS/payby.pm index 54e4092a5..42328b429 100644 --- a/FS/FS/payby.pm +++ b/FS/FS/payby.pm @@ -3,6 +3,7 @@ package FS::payby; use strict; use vars qw(%hash %payby2bop); use Tie::IxHash; +use Business::CreditCard; =head1 NAME @@ -98,11 +99,11 @@ tie %hash, 'Tie::IxHash', }, 'DCLN' => { # This is only an event. tinyname => 'declined', - shortname => 'Declined payment', - longname => 'Declined payment', + shortname => 'Batch declined payment', + longname => 'Batch declined payment', #its neither of these.. - cust_main => '', + #cust_main => '', cust_pay => '', }, @@ -117,11 +118,31 @@ sub payby2longname { map { $_ => $hash{$_}->{longname} } $self->payby; } +sub shortname { + my( $self, $payby ) = @_; + $hash{$payby}->{shortname}; +} + +sub longname { + my( $self, $payby ) = @_; + $hash{$payby}->{longname}; +} + %payby2bop = ( 'CARD' => 'CC', 'CHEK' => 'ECHECK', ); +sub payby2bop { + my( $self, $payby ) = @_; + $payby2bop{ $self->payby2payment($payby) }; +} + +sub payby2payment { + my( $self, $payby ) = @_; + $hash{$payby}{'cust_pay'} || $payby; +} + sub cust_payby { my $self = shift; grep { ! exists $hash{$_}->{cust_main} } $self->payby; @@ -142,7 +163,7 @@ sub payinfo_check{ or return "Illegal (mistyped?) credit card number (payinfo)"; $$payinforef = $1; validate($$payinforef) or return "Illegal credit card number"; - return "Unknown card type" if cardype($$payinforef) eq "Unknown"; + return "Unknown card type" if cardtype($$payinforef) eq "Unknown"; } else { $$payinforef="N/A"; } |