=over 4
-=item insert_payment
+=item insert_payment OPTION => VALUE, ...
-Adds a new payment to a customers account. Takes a hash reference as parameter with the following keys:
+Adds a new payment to a customers account. Takes a list of keys and values as
+paramters with the following keys:
=over 5
=item _date
-
Option date for payment
+=back
+
Example:
my $result = FS::API->insert_payment(
print "paynum ". $result->{'paynum'};
}
-=back
-
=cut
#enter cash payment
}
-=item insert_credit
+=item insert_credit OPTION => VALUE, ...
-Adds a a credit to a customers account. Takes a hash reference as parameter with the following keys
+Adds a a credit to a customers account. Takes a list of keys and values as
+parameters with the following keys
=over
The date the credit will be posted
+=back
+
Example:
my $result = FS::API->insert_credit(
print "crednum ". $result->{'crednum'};
}
-=back
-
=cut
#Enter credit
}
-=item insert_refund
+=item insert_refund OPTION => VALUE, ...
-Adds a a credit to a customers account. Takes a hash reference as parameter with the following keys: custnum,payby,refund
+Adds a a credit to a customers account. Takes a list of keys and values as
+parmeters with the following keys: custnum, payby, refund
Example:
# long-term: package changes?
-=item new_customer
+=item new_customer OPTION => VALUE, ...
-Creates a new customer. Takes a hash reference as parameter with the following keys:
+Creates a new customer. Takes a list of keys and values as parameters with the
+following keys:
=over 4
postal_invoicing
Set to 1 to enable postal invoicing
-=item payby
-
-CARD, DCRD, CHEK, DCHK, LECB, BILL, COMP or PREPAY
-
-=item payinfo
-
-Card number for CARD/DCRD, account_number@aba_number for CHEK/DCHK, prepaid "pin" for PREPAY, purchase order number for BILL
-
-=item paycvv
-
-Credit card CVV2 number (1.5+ or 1.4.2 with CVV schema patch)
-
-=item paydate
-
-Expiration date for CARD/DCRD
-
-=item payname
-
-Exact name on credit card for CARD/DCRD, bank name for CHEK/DCHK
-
=item referral_custnum
Referring customer number
Referring customer number
+=back
=cut
$class->API_insert( %opt );
}
-=back
-
=item update_customer
-Updates an existing customer. Takes a hash reference as parameter with the foll$
+Updates an existing customer. Passing an empty value clears that field, while
+NOT passing that key/value at all leaves it alone. Takes a list of keys and
+values as parameters with the following keys:
=over 4
=item secret
-API Secret
+API Secret (required)
+
+=item custnum
+
+Customer number (required)
=item first
-first name (required)
+first name
=item last
-last name (required)
+last name
=item company
Company name
-=item address1 (required)
+=item address1
Address line one
-=item city (required)
+=item city
City
County
-=item state (required)
+=item state
State
-=item zip (required)
+=item zip
Zip or postal code
=item invoicing_list
-comma-separated list of email addresses for email invoices. The special value '$
+Comma-separated list of email addresses for email invoices. The special value
+'POST' is used to designate postal invoicing (it may be specified alone or in
+addition to email addresses),
postal_invoicing
Set to 1 to enable postal invoicing
-=item payby
-
-CARD, DCRD, CHEK, DCHK, LECB, BILL, COMP or PREPAY
-
-=item payinfo
-
-Card number for CARD/DCRD, account_number@aba_number for CHEK/DCHK, prepaid "pi$
-
-=item paycvv
-
-Credit card CVV2 number (1.5+ or 1.4.2 with CVV schema patch)
-
-=item paydate
-
-Expiration date for CARD/DCRD
-
-=item payname
-
-Exact name on credit card for CARD/DCRD, bank name for CHEK/DCHK
-
=item referral_custnum
Referring customer number
=item salesnum
+
Sales person number
=item agentnum
Agent number
+=back
+
=cut
+
sub update_customer {
my( $class, %opt ) = @_;
FS::cust_main->API_update( %opt );
}
-=back
-
-
-=item customer_info
+=item customer_info OPTION => VALUE, ...
-Returns general customer information. Takes a hash reference as parameter with the following keys: custnum and API secret
+Returns general customer information. Takes a list of keys and values as
+parameters with the following keys: custnum, secret
=cut
=item location_info
-Returns location specific information for the customer. Takes a hash reference as parameter with the following keys: custnum,secret
-
-=back
+Returns location specific information for the customer. Takes a list of keys
+and values as paramters with the following keys: custnum, secret
=cut
return \%return;
}
+=item bill_now OPTION => VALUE, ...
+
+Bills a single customer now, in the same fashion as the "Bill now" link in the
+UI.
+
+Returns a hash reference with a single key, 'error'. If there is an error,
+the value contains the error, otherwise it is empty. Takes a list of keys and
+values as parameters with the following keys:
+
+=over 4
+
+=item secret
+
+API Secret (required)
+
+=item custnum
+
+Customer number (required)
+
+=back
+
+=cut
+
+sub bill_now {
+ my( $class, %opt ) = @_;
+ my $conf = new FS::Conf;
+ return { 'error' => 'Incorrect shared secret' }
+ unless $opt{secret} eq $conf->config('api_shared_secret');
+
+ my $cust_main = qsearchs('cust_main', { 'custnum' => $opt{custnum} })
+ or return { 'error' => 'Unknown custnum' };
+
+ my $error = $cust_main->bill_and_collect( 'fatal' => 'return',
+ 'retry' => 1,
+ 'check_freq' =>'1d',
+ );
+
+ return { 'error' => $error,
+ };
+
+}
+
+
#Advertising sources?