X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=fs_selfservice%2FFS-SelfService%2FSelfService.pm;h=a62cf3eb8338bef85ab78de6c0056180bf404fd2;hb=e3c112ceb504f994e4d53726b2ed6d7a3945fa2a;hp=4023aa87d9228e4973731ae3f8454f7824c1a271;hpb=ecf67652f26a147ef405659c98832535155325ba;p=freeside.git diff --git a/fs_selfservice/FS-SelfService/SelfService.pm b/fs_selfservice/FS-SelfService/SelfService.pm index 4023aa87d..a62cf3eb8 100644 --- a/fs_selfservice/FS-SelfService/SelfService.pm +++ b/fs_selfservice/FS-SelfService/SelfService.pm @@ -33,6 +33,7 @@ $socket .= '.'.$tag if defined $tag && length($tag); 'switch_cust' => 'MyAccount/switch_cust', 'customer_info' => 'MyAccount/customer_info', 'customer_info_short' => 'MyAccount/customer_info_short', + 'customer_recurring' => 'MyAccount/customer_recurring', 'contact_passwd' => 'MyAccount/contact/contact_passwd', 'list_contacts' => 'MyAccount/contact/list_contacts', @@ -48,8 +49,11 @@ $socket .= '.'.$tag if defined $tag && length($tag); 'legacy_invoice_pdf' => 'MyAccount/legacy_invoice_pdf', 'invoice_logo' => 'MyAccount/invoice_logo', 'list_invoices' => 'MyAccount/list_invoices', #? + 'list_payments' => 'MyAccount/list_payments', + 'payment_receipt' => 'MyAccount/payment_receipt', 'list_payby' => 'MyAccount/list_payby', 'insert_payby' => 'MyAccount/insert_payby', + 'update_payby' => 'MyAccount/update_payby', 'delete_payby' => 'MyAccount/delete_payby', 'cancel' => 'MyAccount/cancel', #add to ss cgi! 'payment_info' => 'MyAccount/payment_info', @@ -112,6 +116,7 @@ $socket .= '.'.$tag if defined $tag && length($tag); 'new_customer' => 'Signup/new_customer', 'new_customer_minimal' => 'Signup/new_customer_minimal', 'capture_payment' => 'Signup/capture_payment', + 'new_prospect' => 'Signup/new_prospect', #N/A 'clear_signup_cache' => 'Signup/clear_cache', 'new_agent' => 'Agent/new_agent', 'agent_login' => 'Agent/agent_login', @@ -138,6 +143,8 @@ $socket .= '.'.$tag if defined $tag && length($tag); 'quotation_remove_pkg' => 'MyAccount/quotation/quotation_remove_pkg', 'quotation_order' => 'MyAccount/quotation/quotation_order', + 'freesideinc_service' => 'Freeside/freesideinc_service', + ); @EXPORT_OK = ( keys(%autoload), @@ -267,7 +274,6 @@ FS::SelfService - Freeside self-service API my $customer_info = customer_info( { 'session_id' => $session_id } ); - #payment_info and process_payment are available in 1.5+ only my $payment_info = payment_info( { 'session_id' => $session_id } ); #!!! process_payment example @@ -504,6 +510,31 @@ first last company address1 address2 city county state zip country daytime night =back +=item customer_recurring HASHREF + +Takes a hash reference as parameter with a single key B +or keys B and B. + +Returns a hash reference with the keys error, custnum and display_recurring. + +display_recurring is an arrayref of hashrefs with the following keys: + +=over 4 + +=item freq + +frequency of charge, in months unless units are specified + +=item freq_pretty + +frequency of charge, suitable for display + +=item amount + +amount charged at this frequency + +=back + =item edit_info HASHREF Takes a hash reference as parameter with any of the following keys: @@ -571,6 +602,73 @@ Invoice date, in UNIX epoch time =back +=item list_payments HASHREF + +Returns a list of all customer payments. Takes a hash reference with a single +key, session_id. + +Returns a hash reference with the following keys: + +=over 4 + +=item error + +Empty on success, or an error message on errors + +=item payments + +Reference to array of hash references with the following keys: + +=over 4 + +=item paynum + +Payment # + +=item _date + +Payument date, in UNIX epoch time + +=item date + +Payment date, in a human-readable format + +=item date_short + +Payment date, in a shorter human-readable format + +=item paid + +Amount paid + +=item payby + +Payment method: CARD, CHEK (electronic check), or BILL (physical check). + +=item paycardtype + +Payment card type + +=item paymask + +Payment card mask + +=item processor + +Processor for cards and electronic checks + +=item auth + +Authorization number + +=item order_number + +Order number + +=back + +=back + =item list_payby HASHREF Returns a list of all stored customer payment information (credit cards and @@ -679,6 +777,16 @@ Optional IP address from which payment was submitted If there is an error, returns a hash reference with a single key, B, otherwise returns a hash reference with a single key, B. +=item update_payby HASHREF + +Updates stored payment information. Takes a hash reference with the same +keys as insert_payby, as well as B to specify which record +to update. All keys except B and B are optional; +if omitted, the previous values in the record will be preserved. + +If there is an error, returns a hash reference with a single key, B, +otherwise returns a hash reference with a single key, B. + =item delete_payby HASHREF Removes stored payment information. Takes a hash reference with two keys, @@ -698,7 +806,21 @@ success or an error message on errors. Returns information that may be useful in displaying a payment page. -Takes a hash reference as parameter with a single key: B. +Takes a hash reference as parameter with the following keys: + +=over 4 + +=item session_id + +Required session ID + +=item payment_payby + +=item omit_cust_main_county + +Optional, pass a true value to omit cust_main_county data for performance. + +=back Returns a hash reference with the following keys: @@ -1069,6 +1191,10 @@ Number of total bytes gained by recharge Orders a package for this customer. +If signup_server-realtime is set, bills the new package, attemps to collect +payment and (for auto-payment customers) cancels the package if the payment is +declined. + Takes a hash reference as parameter with the following keys: =over 4 @@ -1085,6 +1211,11 @@ Package to order (see L). Quantity for this package order (default 1). +=item run_bill_events + +If true, runs billing events for the customer after ordering and billing the +package (signup_server-realtime must be set). + =item locationnum Optional locationnum for this package order, for existing locations. @@ -1092,13 +1223,22 @@ Optional locationnum for this package order, for existing locations. Or, for new locations, pass the following fields: address1*, address2, city*, county, state*, zip*, country. (* = required in this case) +(None of this is required at all if you are just ordering a package +at the customer's existing default service location.) + =item address1 -=item address 2 +=item address2 =item city -=item +=item county + +=item state + +=item zip + +=item country =item svcpart @@ -1258,7 +1398,7 @@ following keys: =item bill_date (Future) Bill date. Indicates a future date for which billing could be run. -Specified as a integer UNIX timestamp. Pass this value to the B +Specified as an integer UNIX timestamp. Pass this value to the B function. =item bill_date_pretty @@ -1274,7 +1414,7 @@ Base amount which will be charged if renewed early as of this date. Renewal date; i.e. even-futher future date at which the customer will be paid through if the early renewal is completed with the given B. -Specified as a integer UNIX timestamp. +Specified as an integer UNIX timestamp. =item renew_date_pretty @@ -1335,6 +1475,11 @@ Session identifier pkgpart of package to cancel +=item date + +Optional date, for future cancellation (expiration) instead of immediate +cancellation. Specified as an integer UNIX timestamp ("epoch time"). + =back Returns a hash reference with a single key, B, empty on success, or an @@ -1501,7 +1646,7 @@ message, or empty on success, and B, a list of contacts. B is an array reference of hash references (i.e. an array of structs, in XML-RPC). Each hash reference (struct) has the following keys: -=over4 +=over 4 =item contactnum @@ -1610,6 +1755,8 @@ Takes a hash reference as parameter with the following keys: Returns a hash reference with a single parameter, B, which contains an error message, or empty on success. +=back + =head2 "MY ACCOUNT" QUOTATION FUNCTIONS All of these functions require the user to be logged in, and the 'session_id' @@ -1753,8 +1900,6 @@ Removes a package from a quotation. Takes the following arguments: Returns 'error' => a string, which will be empty on success. -=back - =item quotation_order HASHREF Converts the packages in a quotation into real packages. Takes the following @@ -2063,6 +2208,21 @@ State Zip or postal code +=item ship_address1 + +=item ship_address2 + +=item ship_city + +=item ship_county + +=item ship_state + +=item ship_zip + +Optional shipping address fields. If sending an optional shipping address, +ship_address1, ship_city, ship_state and ship_zip are required. + =item daytime Daytime phone number