using System;
using System.Diagnostics; using System.Linq;
using Blackbaud.AppFx.WebAPI.ServiceProxy;
namespace CreditCardVault
{
class Program
{
static void Main(string[] args) { // Build credit card info CreditCardInfo ccInfo = new CreditCardInfo(); ccInfo.CardHolder = "John Doe"; ccInfo.CardNumber = "4111111111111111"; ccInfo.ExpirationDate = new CreditCardFuzzyDate() { Year = 2020, Month = 6 }; //ValidFrom and IssueNumber are only required for UK credit cards ccInfo.ValidFrom = new CreditCardFuzzyDate() { Year = 2012, Month = 12 }; ccInfo.IssueNumber = "ABC"; // Build request CreditCardVaultRequest ccReq = new CreditCardVaultRequest(); ccReq.ClientAppInfo = new ClientAppInfoHeader(); ccReq.ClientAppInfo.ClientAppName = "Credit Card Vault Test"; ccReq.ClientAppInfo.REDatabaseToUse = "BBInfinity"; ccReq.CreditCards = new CreditCardInfo[] { ccInfo }; // Build appfx webservice and send request using (AppFxWebService svc = new AppFxWebService()) { svc.Url = "http://localhost/bbappfx.spdev/appfxwebservice.asmx"; svc.Credentials = new System.Net.NetworkCredential("John.Smith", "password", "Blackbaud"); try { CreditCardVaultReply ccReply = svc.CreditCardVault(ccReq); if (ccReply.CreditCardResponses[0].Status == CreditCardVaultStatus.Success) { Console.WriteLine("Success - {0}", ccReply.CreditCardResponses[0].Token); } else { Console.WriteLine("Error - {0}", ccReply.CreditCardResponses[0].ErrorMessage); } } catch (System.Net.WebException ex) { Console.WriteLine("Error encountered invoking endpoint - {0}", ex.Message); } } } } }