From Intrannuity
Download Source File
<!---// Create Session Object --->
<cfset session = CreateObject( 'component', 'Session' )>
<!---// Login --->
<cfset session.login(2000, "password", "http://server.ibillingclient.org/ibilling/xmlhttps")>
<!---// Create customer account --->
<cfset customerAccount = session.createCustomerAccount()>
<!---// code is optinal; if you specify the value, make sure the code is unique --->
<cfset customerAccount.setCode("cf.ca-1")>
<cfset customerAccount.setMerchantAccountCode(2001)>
<cfset customerAccount.setFirstName("John")>
<cfset customerAccount.setLastName("Smith")>
<cfset customerAccount.setType(session.CustomerAccountType().Male())>
<cfset customerAccount.setHomePhone("2129856472")>
<cfset customerAccount.setEmail("test@yahoo.com")>
<cfset customerAccount.setStreet1("233 12th Street")>
<cfset customerAccount.setCity("Honolulu")>
<cfset customerAccount.setState("CA")>
<cfset customerAccount.setZipCode("31904")>
<!---// Create payment option --->
<cfset paymentOption = customerAccount.createPaymentOption()>
<!---// code is optinal; if you specify the value, make sure the code is unique --->
<cfset paymentOption.setCode("cf.po-1")>
<cfset paymentOption.setHolderName("John Smith")>
<cfset paymentOption.setNumber("4111111111111111")>
<!---// expiration date --->
<cfset paymentOption.setAccessory("1209")>
<cfset paymentOption.setStreet1("233 12th Street")>
<cfset paymentOption.setCity("Honolulu")>
<cfset paymentOption.setState("CA")>
<cfset paymentOption.setZipCode("31904")>
<!---// Create payment plan --->
<cfset paymentPlan = customerAccount.createPaymentPlan()>
<!---// code is optinal; if you specify the value, make sure the code is unique --->
<cfset paymentPlan.setCode("cf.pp-1")>
<!---// all amounts are in cents --->
<cfset paymentPlan.setAmount(5000)>
<!---// Item Codes must be setup in portal prior to being used --->
<cfset paymentPlan.setItemCode("Membership")>
<cfset paymentPlan.setType(session.PaymentPlanType().Fixed())>
<!---// Billing Cycle codes must be setup in portal prior to being used --->
<cfset paymentPlan.setBillingCycleCode("M03")>
<!---// Specify desired billing date; if nothing specified, next billing date of the selected cycle assumed. --->
<!---// <cfset paymentPlan.setFirstBillingDate(<Date>
)> --->
<cfset paymentPlan.add(0, 12, false)>
<!---// Create invoice for downpayment --->
<cfset revenueTransaction = customerAccount.createRevenueTransaction()>
<!---// code is optinal; if you specify the value, make sure the code is unique --->
<cfset revenueTransaction.setCode("cf.rt-1")>
<!---// all amounts are in cents --->
<cfset revenueTransaction.setAmount(10000)>
<!---// Item Codes must be setup in portal prior to being used --->
<cfset revenueTransaction.setItemCode("Membership")>
<!---// Type of transaction --->
<cfset revenueTransaction.setAccountActivityType(session.AccountActivityType().Invoice())>
<!---// Create payment for downpayment --->
<cfset transaction = customerAccount.createAssetTransaction()>
<!---// code is optinal; if you specify the value, make sure the code is unique --->
<cfset transaction.setCode("cf.at-1")>
<!---// all amounts are in cents --->
<cfset transaction.setAmount(10000)>
<cfset transaction.setTransactionType(session.AssetTransactionType().Cash())>
<cfset transaction.setAccountActivityType(session.AccountActivityType().Payment())>
<!---// Mark object for persistence --->
<cfset session.save(customerAccount)>
<!---// Synchronize changes with the server --->
<cftry>
<cfset session.synchronize()>
<cfcatch type="Exception">
<cfoutput>
#cfcatch.message#
</cfoutput>
</cfcatch>
</cftry>
<!---// Get info from customer account --->
<cfoutput>#customerAccount.getCode()#</cfoutput>
<cfoutput>#customerAccount.getFirstName()#</cfoutput>
<cfoutput>#customerAccount.getLastName()#</cfoutput>
<!---// Get info from payment option --->
<cfoutput>#paymentOption.getCode()#</cfoutput>
<cfoutput>#paymentOption.getAccessory()#</cfoutput>
<cfoutput>#paymentOption.getNumber()#</cfoutput>
<!---// Get info from payment plan --->
<cfoutput>#paymentPlan.getCode()#</cfoutput>
<cfoutput>#paymentPlan.getFirstBillingDate()#</cfoutput>
<cfoutput>#paymentPlan.getBillingCycleCode()#</cfoutput>
<!---// Get info from revenue transaction --->
<cfoutput>#revenueTransaction.getCode()#</cfoutput>
<cfoutput>#revenueTransaction.getAmount()#</cfoutput>
<cfoutput>#revenueTransaction.getAccountActivityType()#</cfoutput>
<!---// Get info from asset transaction --->
<cfoutput>#transaction.getCode()#</cfoutput>
<cfoutput>#transaction.getAmount()#</cfoutput>
<cfoutput>#transaction.getAccountActivityType()#</cfoutput>
<!---// logout --->
<cfset session.logout()>
Download Source File