summaryrefslogtreecommitdiff
path: root/FS
diff options
context:
space:
mode:
authorivan <ivan>2003-05-18 06:20:21 +0000
committerivan <ivan>2003-05-18 06:20:21 +0000
commitd1d57ae4fa0f2a30b36a70c656aa2672744f75a3 (patch)
tree7c3eff6ac0983e67ab838b5d50b169e4a38bb94e /FS
parentac15b7153b154f5bb951f0ce62731f8216ff9fc4 (diff)
self-service: make payment UI done
Diffstat (limited to 'FS')
-rw-r--r--FS/FS/ClientAPI/MyAccount.pm37
1 files changed, 37 insertions, 0 deletions
diff --git a/FS/FS/ClientAPI/MyAccount.pm b/FS/FS/ClientAPI/MyAccount.pm
index 9983b5d26..80c7330e8 100644
--- a/FS/FS/ClientAPI/MyAccount.pm
+++ b/FS/FS/ClientAPI/MyAccount.pm
@@ -19,6 +19,7 @@ FS::ClientAPI->register_handlers(
'MyAccount/customer_info' => \&customer_info,
'MyAccount/invoice' => \&invoice,
'MyAccount/cancel' => \&cancel,
+ 'MyAccount/payment_info' => \&payment_info,
);
#store in db?
@@ -112,6 +113,42 @@ sub customer_info {
}
+sub payment_info {
+ my $p = shift;
+ my $session = $cache->get($p->{'session_id'})
+ or return { 'error' => "Can't resume session" }; #better error message
+
+ my %return;
+
+ my $custnum = $session->{'custnum'};
+
+ my $cust_main = qsearchs('cust_main', { 'custnum' => $custnum } )
+ or return { 'error' => "unknown custnum $custnum" };
+
+ $return{balance} = $cust_main->balance;
+
+ $return{payname} = $cust_main->payname
+ || $cust_main->first. ' '. $cust_main->get('last');
+
+ $return{$_} = $cust_main->get($_) for qw(address1 address2 city state zip);
+
+ if ( $cust_main->payby =~ /^(CARD|DCRD)$/ ) {
+ #$return{card_type} =
+ $return{payinfo} = $cust_main->payinfo;
+ #exp date (month, year)
+
+ #CARD vd DCRD remembering
+ }
+
+ #list all states & counties
+
+ return { 'error' => '',
+ %return,
+ };
+
+};
+
+
sub invoice {
my $p = shift;
my $session = $cache->get($p->{'session_id'})