Scenario 2: Cold Fusion

From Intrannuity

Jump to: navigation, search

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

Personal tools