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-2")>
<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("Columbus")>
<cfset customerAccount.setState("NY")>
<cfset customerAccount.setZipCode("31909")>
<!---// 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-2")>
<cfset paymentOption.setHolderName("John Smith")>
<cfset paymentOption.setNumber("1000121279381")>
<!---// routing number --->
<cfset paymentOption.setAccessory("610000227")>
<cfset paymentOption.setType(session.PaymentOptionType().Checking())>
<cfset paymentOption.setStreet1("233 12th Street")>
<cfset paymentOption.setCity("Columbus")>
<cfset paymentOption.setState("CA")>
<cfset paymentOption.setZipCode("31909")>
<!---// 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-2")>
<!---// all amounts are in cents --->
<cfset paymentPlan.setAmount(1000)>
<!---// Item Codes must be setup in portal prior to being used --->
<cfset paymentPlan.setItemCode("Membership")>
<cfset paymentPlan.setType(session.PaymentPlanType().Perpetual())>
<!---// Billing Cycle codes must be setup in portal prior to being used --->
<cfset paymentPlan.setBillingCycleCode("W01")>
<!---// Specify desired billing date; if nothing specified, next billing date of the selected cycle assumed. --->
<!---// <cfset paymentPlan.setFirstBillingDate(<Date>
)> --->
<cfset paymentPlan.setPaymentOption(paymentOption)>
<!---// 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-2")>
<!---// ll amounts are in cents --->
<cfset revenueTransaction.setAmount(5000)>
<!---// 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-2")>
<!---// all amounts are in cents --->
<cfset transaction.setAmount(5000)>
<cfset transaction.setTransactionType(session.AssetTransactionType().Visa())>
<!---// Credit card number to charge --->
<cfset transaction.setAccountNumber("4111111111111111")>
<!---// Credit card expiration date --->
<cfset transaction.setAccessory("1209")>
<!---// Type of transaction --->
<cfset transaction.setAccountActivityType(session.AccountActivityType().Payment())>
<!---// Add processing specific info (for better qualification rates --->
<cfset captureInfo = transaction.getCaptureInfo()>
<cfset captureInfo.setHolderName("John Smith")>
<cfset captureInfo.setCity("Columbus")>
<cfset captureInfo.setState("CA")>
<cfset captureInfo.setStreet("233 12th Street")>
<cfset captureInfo.setZipCode("31909")>
<cfset captureInfo.setPhone("2129856472")>
<cfset captureInfo.setEmail("test@yahoo.com")>
<cfset captureInfo.setCvv2("999")>
<!---// 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>
<cfoutput>#customerAccount.getCreateDate()#</cfoutput>
<!---// Get info from payment option --->
<cfoutput>#paymentOption.getCode()#</cfoutput>
<cfoutput>#paymentOption.getAccessory()#</cfoutput>
<cfoutput>#paymentOption.getNumber()#</cfoutput>
<cfoutput>#paymentOption.getCreateDate()#</cfoutput>
<!---// Get info from payment plan --->
<cfoutput>#paymentPlan.getCode()#</cfoutput>
<cfoutput>#paymentPlan.getFirstBillingDate()#</cfoutput>
<cfoutput>#paymentPlan.getBillingCycleCode()#</cfoutput>
<cfoutput>#paymentPlan.getCreateDate()#</cfoutput>
<!---// Get info from revenue transaction --->
<cfoutput>#revenueTransaction.getCode()#</cfoutput>
<cfoutput>#revenueTransaction.getAmount()#</cfoutput>
<cfoutput>#revenueTransaction.getAccountActivityType()#</cfoutput>
<cfoutput>#revenueTransaction.getCreateDate()#</cfoutput>
<!---// Get info from asset transaction --->
<cfoutput>#transaction.getCode()#</cfoutput>
<cfoutput>#transaction.getAccessory()#</cfoutput>
<cfoutput>#transaction.getAccountNumber()#</cfoutput>
<cfoutput>#transaction.getCreateDate()#</cfoutput>
<!---// Get info from capture info --->
<cfoutput>#captureInfo.getReturnType()#</cfoutput>
<cfoutput>#captureInfo.getApprovalCode()#</cfoutput>
<cfoutput>#captureInfo.getReferenceNumber()#</cfoutput>
<!---// logout --->
<cfset session.logout()>
Download Source File