import ibilling.client.* import java.util.* public class Scenario4 { public static void main(String[] args) { //Set up clients' settings Map config = new HashMap(); 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(); //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(); } }