Imports System Imports System.Collections.Generic Imports iBilling.Client Module Scenario2 Sub Main() 'Set up clients' settings Dim config = new Dictionary(Of String, Object)() config(SessionConnection.PROCESSOR_HOST) = "http://server.ibillingclient.org/ibilling/xmlhttps" config(SessionConnection.PAYMENT_OPTION_VERIFICATION_AMOUNT) = 99 config("debug") = true 'Login Dim _session = Session.Login(2000, "welcome", config) 'Create customer account Dim customerAccount = _session.CreateCustomerAccount() 'code is optinal; if you specify the value, make sure the code is unique customerAccount.Code = "vb.ca-2" customerAccount.MerchantAccountCode = 2001 customerAccount.FirstName = "John" customerAccount.LastName = "Smith" customerAccount.Type = CustomerAccountTypes.Male customerAccount.HomePhone = "2129856472" customerAccount.Email = "test@yahoo.com" customerAccount.Street1 = "233 12th Street" customerAccount.City = "Columbus" customerAccount.State = "NY" customerAccount.ZipCode = "31909" 'Create payment option Dim paymentOption = customerAccount.CreatePaymentOption() 'code is optinal; if you specify the value, make sure the code is unique paymentOption.Code = "vb.po-2" paymentOption.HolderName = "John Smith" paymentOption.Number = "1000121279381" 'routing number paymentOption.Accessory = "610000227" paymentOption.Type = PaymentOptionTypes.Checking paymentOption.Street1 = "233 12th Street" paymentOption.City = "Columbus" paymentOption.State = "CA" paymentOption.ZipCode = "31909" 'Create payment plan Dim paymentPlan = customerAccount.CreatePaymentPlan() 'code is optinal; if you specify the value, make sure the code is unique paymentPlan.Code = "vb.pp-2" 'all amounts are in cents paymentPlan.Amount = 1000 'Item Codes must be setup in portal prior to being used paymentPlan.ItemCode = "Membership" paymentPlan.Type = PaymentPlanTypes.Perpetual 'Billing Cycle codes must be setup in portal prior to being used paymentPlan.BillingCycleCode = "W01" 'Specify desired billing date; if nothing specified, next billing date of the selected cycle assumed. 'paymentPlan.FirstBillingDate = paymentPlan.PaymentOption = paymentOption 'Create invoice for downpayment Dim revenueTransaction = customerAccount.CreateRevenueTransaction() 'code is optinal; if you specify the value, make sure the code is unique revenueTransaction.Code = "vb.rt-2" 'll amounts are in cents revenueTransaction.Amount = 5000 'Item Codes must be setup in portal prior to being used revenueTransaction.ItemCode = "Membership" 'Type of transaction revenueTransaction.AccountActivityType = AccountActivityTypes.Invoice 'Create payment for downpayment Dim transaction = customerAccount.CreateAssetTransaction() 'code is optinal; if you specify the value, make sure the code is unique transaction.Code = "vb.at-2" 'all amounts are in cents transaction.Amount = 5000 transaction.TransactionType = AssetTransactionTypes.Visa 'Credit card number to charge transaction.AccountNumber = "4111111111111111" 'Credit card expiration date transaction.Accessory = "1209" 'Type of transaction transaction.AccountActivityType = AccountActivityTypes.Payment 'Add processing specific info (for better qualification rates Dim captureInfo = transaction.CaptureInfo captureInfo.HolderName = "John Smith" captureInfo.City = "Columbus" captureInfo.State = "CA" captureInfo.Street = "233 12th Street" captureInfo.ZipCode = "31909" captureInfo.Phone = "2129856472" captureInfo.Email = "test@yahoo.com" captureInfo.Cvv2 = "999" 'Mark object for persistence _session.Save(customerAccount) 'Synchronize changes with the server Try _session.Synchronize() Catch ex As Exception 'Be sure to properly handle exception, this is just a sample solution Console.WriteLine(ex.Message) Exit Sub End Try 'Get info from customer account Console.WriteLine(customerAccount.Code) Console.WriteLine(customerAccount.FirstName) Console.WriteLine(customerAccount.LastName) Console.WriteLine(customerAccount.CreateDate) 'Get info from payment option Console.WriteLine(paymentOption.Code) Console.WriteLine(paymentOption.Accessory) Console.WriteLine(paymentOption.Number) Console.WriteLine(paymentOption.CreateDate) 'Get info from payment plan Console.WriteLine(paymentPlan.Code) Console.WriteLine(paymentPlan.FirstBillingDate) Console.WriteLine(paymentPlan.BillingCycleCode) Console.WriteLine(paymentPlan.CreateDate) 'Get info from revenue transaction Console.WriteLine(revenueTransaction.Code) Console.WriteLine(revenueTransaction.Amount) Console.WriteLine(revenueTransaction.AccountActivityType) Console.WriteLine(revenueTransaction.CreateDate) 'Get info from asset transaction Console.WriteLine(transaction.Code) Console.WriteLine(transaction.Accessory) Console.WriteLine(transaction.AccountNumber) Console.WriteLine(transaction.CreateDate) 'Get info from capture info Console.WriteLine(captureInfo.ReturnType) Console.WriteLine(captureInfo.ApprovalCode) Console.WriteLine(captureInfo.ReferenceNumber) 'logout _session.Logout() End Sub End Module