diff options
author | Ivan Kohler <ivan@freeside.biz> | 2017-04-26 13:15:03 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2017-04-26 13:15:03 -0700 |
commit | b9fee0a2939c7b19da44982ceaa513292c3a7cd8 (patch) | |
tree | 003a011cab9afe19011275f7c0a11fefd32b6e3d /FS/FS/ClientAPI | |
parent | 8e31152753c243cbd3e67b36fb63e1e288963c61 (diff) |
add list_payments and payment_receipt self-service API calls, RT#75517
Diffstat (limited to 'FS/FS/ClientAPI')
-rw-r--r-- | FS/FS/ClientAPI/MyAccount.pm | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/FS/FS/ClientAPI/MyAccount.pm b/FS/FS/ClientAPI/MyAccount.pm index 8072006..7df481e 100644 --- a/FS/FS/ClientAPI/MyAccount.pm +++ b/FS/FS/ClientAPI/MyAccount.pm @@ -1589,6 +1589,42 @@ sub list_invoices { }; } +sub list_payments { + my $p = shift; + my $session = _cache->get($p->{'session_id'}) + or return { 'error' => "Can't resume session" }; #better error message + + my $custnum = $session->{'custnum'}; + + my $cust_main = qsearchs('cust_main', { 'custnum' => $custnum } ) + or return { 'error' => "unknown custnum $custnum" }; + + return { 'error' => '', + 'balance' => $cust_main->balance, + 'money_char' => FS::Conf->new->config("money_char") || '$', + 'payments' => [ map $_->SSAPI_getinfo, $cust_main->cust_pay ], + }; +} + +sub payment_receipt { + my $p = shift; + my $session = _cache->get($p->{'session_id'}) + or return { 'error' => "Can't resume session" }; #better error message + + my $custnum = $session->{'custnum'}; + + my $cust_pay = qsearchs('cust_pay', { 'custnum' => $custnum, + 'paynum' => $p->{'paynum'}, + } + ) + or return { 'error' => "unknown payment ". $p->{'paynum'} }; + + return { + 'error' => '', + %{ $cust_pay->SSAPI_getinfo }, + }; +} + sub list_payby { my $p = shift; |