From Intrannuity
Download Source File
<cfscript>
// Create Session component
session = CreateObject( 'component', 'Session' );
// Login
session.login(2000, "password", "http://server.ibillingclient.org/ibilling/xmlhttps");
// Create customer account
customerAccount = session.createCustomerAccount();
// code is optinal; if you specify the value, make sure the code is unique
customerAccount.setCode("cfs.ca-2");
customerAccount.setMerchantAccountCode(2001);
customerAccount.setFirstName("John");
customerAccount.setLastName("Smith");
customerAccount.setType(session.CustomerAccountType().Male());
customerAccount.setHomePhone("2129856472");
customerAccount.setEmail("test@yahoo.com");
customerAccount.setStreet1("233 12th Street");
customerAccount.setCity("Columbus");
customerAccount.setState("NY");
customerAccount.setZipCode("31909");
// Create payment option
paymentOption = customerAccount.createPaymentOption();
// code is optinal; if you specify the value, make sure the code is unique
paymentOption.setCode("cfs.po-2");
paymentOption.setHolderName("John Smith");
paymentOption.setNumber("1000121279381");
// routing number
paymentOption.setAccessory("610000227");
paymentOption.setType(session.PaymentOptionType().Checking());
paymentOption.setStreet1("233 12th Street");
paymentOption.setCity("Columbus");
paymentOption.setState("CA");
paymentOption.setZipCode("31909");
// Create payment plan
paymentPlan = customerAccount.createPaymentPlan();
// code is optinal; if you specify the value, make sure the code is unique
paymentPlan.setCode("cfs.pp-2");
// all amounts are in cents
paymentPlan.setAmount(1000);
// Item Codes must be setup in portal prior to being used
paymentPlan.setItemCode("Membership");
paymentPlan.setType(session.PaymentPlanType().Perpetual());
// Billing Cycle codes must be setup in portal prior to being used
paymentPlan.setBillingCycleCode("W01");
// Specify desired billing date; if nothing specified, next billing date of the selected cycle assumed
// paymentPlan.setFirstBillingDate(<Date>);
paymentPlan.setPaymentOption(paymentOption);
// Create invoice for downpayment
revenueTransaction = customerAccount.createRevenueTransaction();
// code is optinal; if you specify the value, make sure the code is unique
revenueTransaction.setCode("cfs.rt-2");
// ll amounts are in cents
revenueTransaction.setAmount(5000);
// Item Codes must be setup in portal prior to being used
revenueTransaction.setItemCode("Membership");
// Type of transaction
revenueTransaction.setAccountActivityType(session.AccountActivityType().Invoice());
// Create payment for downpayment
transaction = customerAccount.createAssetTransaction();
// code is optinal; if you specify the value, make sure the code is unique
transaction.setCode("cfs.at-2");
// all amounts are in cents
transaction.setAmount(5000);
transaction.setTransactionType(session.AssetTransactionType().Visa());
// Credit card number to charge
transaction.setAccountNumber("4111111111111111");
// Credit card expiration date
transaction.setAccessory("1209");
// Type of transaction
transaction.setAccountActivityType(session.AccountActivityType().Payment());
// Add processing specific info (for better qualification rates
captureInfo = transaction.getCaptureInfo();
captureInfo.setHolderName("John Smith");
captureInfo.setCity("Columbus");
captureInfo.setState("CA");
captureInfo.setStreet("233 12th Street");
captureInfo.setZipCode("31909");
captureInfo.setPhone("2129856472");
captureInfo.setEmail("test@yahoo.com");
captureInfo.setCvv2("999");
// 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
WriteOutput(ex.message);
return ;
}
// Get info from customer account
WriteOutput(customerAccount.getCode());
WriteOutput(customerAccount.getFirstName());
WriteOutput(customerAccount.getLastName());
WriteOutput(customerAccount.getCreateDate());
// Get info from payment option
WriteOutput(paymentOption.getCode());
WriteOutput(paymentOption.getAccessory());
WriteOutput(paymentOption.getNumber());
WriteOutput(paymentOption.getCreateDate());
// Get info from payment plan
WriteOutput(paymentPlan.getCode());
WriteOutput(paymentPlan.getFirstBillingDate());
WriteOutput(paymentPlan.getBillingCycleCode());
WriteOutput(paymentPlan.getCreateDate());
// Get info from revenue transaction
WriteOutput(revenueTransaction.getCode());
WriteOutput(revenueTransaction.getAmount());
WriteOutput(revenueTransaction.getAccountActivityType());
WriteOutput(revenueTransaction.getCreateDate());
// Get info from asset transaction
WriteOutput(transaction.getCode());
WriteOutput(transaction.getAccessory());
WriteOutput(transaction.getAccountNumber());
WriteOutput(transaction.getCreateDate());
// Get info from capture info
WriteOutput(captureInfo.getReturnType());
WriteOutput(captureInfo.getApprovalCode());
WriteOutput(captureInfo.getReferenceNumber());
// logout
session.logout();
</cfscript>
Download Source File