#include "stdafx.h" using namespace System; using namespace System::Collections::Generic; using namespace iBilling::Client; int Scenario5(array ^args) { //Set up clients' settings; Dictionary^ config = gcnew 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("cpp.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 = "cpp.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 0; } //Logout; session->Logout(); return 0; }