Scenario 4: Java
From Intrannuity
import ibilling.client.*
import java.util.*
public class Scenario4 {
public static void main(String[] args) {
//Set up clients' settings
Map<String, Object> config = new HashMap<String, Object>();
config.put(SessionConnection.PROCESSOR_HOST, "http://server.ibillingclient.org/ibilling/xmlhttps");
config.put("debug", true);
//Login
Session session = Session.login(2000, "welcome", config);
//Create customer account
CustomerAccount customerAccount = session.createCustomerAccount();
//code is optinal; if you specify the value, make sure the code is unique
customerAccount.setCode("java.ca-4");
customerAccount.setMerchantAccountCode(2001);
customerAccount.setFirstName("Mary");
customerAccount.setLastName("Doe");
customerAccount.setType(CustomerAccountType.Female);
customerAccount.setHomePhone("5469856876");
customerAccount.setEmail("test@google.com");
customerAccount.setStreet1("203 16th Street");
customerAccount.setCity("Honolulu");
customerAccount.setState("CA");
customerAccount.setZipCode("30904");
//Create payment plan
PaymentPlan paymentPlan = customerAccount.createPaymentPlan();
//code is optinal; if you specify the value, make sure the code is unique
paymentPlan.setCode("java.pp-4");
//all amounts are in cents
paymentPlan.setAmount(3000);
//Item Codes must be setup in portal prior to being used
paymentPlan.setItemCode("Membership");
paymentPlan.setType(PaymentPlanType.Complimentary);
//Billing Cycle codes must be setup in portal prior to being used
paymentPlan.setBillingCycleCode("M03");
//Specify desired billing date; if nothing specified, next billing date of the selected cycle assumed.
//paymentPlan.setFirstBillingDate(<java.util.Date>);
//Mark object for persistence
session.save(customerAccount);
//Synchronize changes with the server
try{
session.synchronize();
}
catch(Exception ex){
//Be sure to properly handle exception, this is just a sample solution
System.out.println(ex.getMessage());
return; }
//Logout
session.logout();
}
}
