using System; using System.Collections.Generic; using iBilling.Client; namespace iBilling.Samples { public class Scenario5 { public static void Main(string[] args){ //Set up clients' settings; Dictionary config = new Dictionary(); config[SessionConnection.PROCESSOR_HOST] = "http://server.ibillingclient.org/ibilling/xmlhttps"; config["debug"] = true; //Login; Session session = Session.Login(2000, "welcome", config); //execute find payment plan; PaymentPlan paymentPlan = session.LoadPaymentPlan("csharp.pp-3"); Charge charge = paymentPlan.Charges[1]; charge.IsPrepaid = true; //get customer account; CustomerAccount customerAccount = paymentPlan.CustomerAccount; //Create payment for downpayment; AssetTransaction transaction = customerAccount.CreateAssetTransaction(); //code is optinal; if you specify the value, make sure the code is unique; transaction.Code = "csharp.at-5"; //all amounts are in cents; transaction.Amount = 3000; //Type of transaction; transaction.AccountActivityType = AccountActivityTypes.Payment; transaction.TransactionType = AssetTransactionTypes.Check; //check number; transaction.AccountNumber = "10100125687"; transaction.IsPrepayment = true; transaction.DueDate = charge.BillingDate; //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(); } } }