From Intrannuity
Download Source File
<?php
require_once "lib/iBilling.php";
//Set up clients' settings
$config = new HashMap();
$config->put(SessionConnection::PROCESSOR_HOST, "http://server.ibillingclient.org/ibilling/xmlhttps");
$config->put("debug", true);
//Login
$session = Session::login(2000, "welcome", $config);
//Create customer account
$customerAccount = $session->createCustomerAccount();
//code is optinal; if you specify the value, make sure the code is unique
$customerAccount->setCode("php.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 = $customerAccount->createPaymentPlan();
//code is optinal; if you specify the value, make sure the code is unique
$paymentPlan->setCode("php.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(<DateTime>);
//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
print($ex->getMessage());
return ;
}
//Logout
$session->logout();
?>