From Intrannuity
Download Source File
using System;
using System.Collections.Generic;
using iBilling.Client;
namespace iBilling.Samples
{
public class Scenario9
{
public static void Main(string[] args){
//Set up clients' settings;
Dictionary<string, object> config = new Dictionary<string, object>();
config[SessionConnection.PROCESSOR_HOST] = "http://server.ibillingclient.org/ibilling/xmlhttps";
config["debug"] = true;
//Login;
Session session = Session.Login(2000, "welcome", config);
//Find customer account;
CustomerAccount customerAccount = session.LoadCustomerAccount("csharp.ca-2");
//Create invoice1;
RevenueTransaction invoice1 = customerAccount.CreateRevenueTransaction();
//code is optinal; if you specify the value, make sure the code is unique;
invoice1.Code = "csharp.rt-9-1";
//all amounts are in cents;
invoice1.Amount = 2000;
//Item Codes must be setup in portal prior to being used;
invoice1.ItemCode = "T-Shirt";
//Type of transaction;
invoice1.AccountActivityType = AccountActivityTypes.Invoice;
//Create payment1;
AssetTransaction payment1 = customerAccount.CreateAssetTransaction();
//code is optinal; if you specify the value, make sure the code is unique;
payment1.Code = "csharp.at-9-1";
//all amounts are in cents;
payment1.Amount = 2000;
payment1.TransactionType = AssetTransactionTypes.Visa;
payment1.AccountActivityType = AccountActivityTypes.Payment;
//Credit card number to charge;
payment1.AccountNumber = "4111111111111111";
//Credit card expiration date;
payment1.Accessory = "1209";
//Add processing specific info (for better qualification rates);
CaptureInfo captureInfo1 = payment1.CaptureInfo;
captureInfo1.HolderName = "John Smith";
captureInfo1.City = "Columbus";
captureInfo1.State = "CA";
captureInfo1.Street = "233 12th Street";
captureInfo1.ZipCode = "31909";
captureInfo1.Phone = "2129856472";
captureInfo1.Email = "test@yahoo.com";
captureInfo1.Cvv2 = "999";
//Create invoice2;
RevenueTransaction invoice2 = customerAccount.CreateRevenueTransaction();
//code is optinal; if you specify the value, make sure the code is unique;
invoice2.Code = "csharp.rt-9-2";
//all amounts are in cents;
invoice2.Amount = 1500;
//Item Codes must be setup in portal prior to being used;
invoice2.ItemCode = "T-Shirt";
//Type of transaction;
invoice2.AccountActivityType = AccountActivityTypes.Invoice;
//Create payment2;
AssetTransaction payment2 = customerAccount.CreateAssetTransaction();
//code is optinal; if you specify the value, make sure the code is unique;
payment2.Code = "csharp.at-9-2";
///all amounts are in cents;
payment2.Amount = 1500;
payment2.TransactionType = AssetTransactionTypes.Visa;
payment2.AccountActivityType = AccountActivityTypes.Payment;
//Credit card number to charge;
payment2.AccountNumber = "4111111111111111";
//Credit card expiration date;
payment2.Accessory = "1209";
//Add processing specific info (for better qualification rates);
CaptureInfo captureInfo2 = payment2.CaptureInfo;
captureInfo2.HolderName = "John Smith";
captureInfo2.City = "Columbus";
captureInfo2.State = "CA";
captureInfo2.Street = "233 12th Street";
captureInfo2.ZipCode = "31909";
captureInfo2.Phone = "2129856472";
captureInfo2.Email = "test@yahoo.com";
captureInfo2.Cvv2 = "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;
Console.WriteLine(ex.Message);
return ;
}
//Logout;
session.Logout();
}
}
}