/// <summary> /// Retreives the PurchaseRecurringInfo object data from the Parameters Dictionary /// </summary> /// <param name="Parameters"></param> /// <returns>PurchaseRecurringInfo object</returns> private PurchaseRecurringInfo GetPurchaseRecurringInfoParamaters(NameValueCollection Parameters) { PurchaseRecurringInfo purchaseRecurringInfo = new PurchaseRecurringInfo(); purchaseRecurringInfo.BillingDescription = GetValue(Parameters, "billingDescription", ""); purchaseRecurringInfo.StartDate = GetValue(Parameters, "startDate", ""); purchaseRecurringInfo.NumPayments = GetValue(Parameters, "numPayments", ""); purchaseRecurringInfo.PayFrequency = GetValue(Parameters, "payFrequency", ""); return(purchaseRecurringInfo); }
/// <summary> /// Implements call to Twofish method purchase/creditCard to complete a recurring credit card purchase /// Recurring purchase of a foreign exchange offer /// </summary> /// <param name="userId">userId, IPAddress, SecureKey (optional)</param> /// <param name="purchaseInfo">OfferId, ExternalTxnId, Token, PayerId</param> /// <param name="creditCardInfo">CreditCardnumber, CreditCardtype, ExpireDate, SecurityCode, FirstName, MiddleName, LastName, Address, City, StateProvince, ZipCode, CountryCode, PhoneNumber</param> /// <param name="recurringInfo">StartDate, NumPayments, PayFrequency</param> /// <param name="commmonKeyValue">Twofish REST service common values</param> /// <param name="baseAddress">Twofish REST service base address</param> /// <returns>XML document containing recurring credit card purchase results</returns> public XmlDocument PurchaseCreditCardRecurring(UserId userId, PurchaseInfo purchaseInfo, CreditCardInfo creditCardInfo, PurchaseRecurringInfo recurringInfo, CommmonKeyValues commmonKeyValue, BaseAddress baseAddress) { ServiceHandler rest = new ServiceHandler(baseAddress.BaseAddressValue); Dictionary <string, string> keyValues = commmonKeyValue.GetCommmonInfo(false); keyValues.Add("userId", userId.ToString()); keyValues.Add("ipAddress", userId.IPAddress); keyValues.Add("secureKey", userId.SecureKey); keyValues.Add("offerId", purchaseInfo.OfferId); keyValues.Add("externalTxnId", purchaseInfo.ExternalTxnId); keyValues.Add("cc.number", creditCardInfo.CreditCardnumber); keyValues.Add("cc.type", creditCardInfo.CreditCardtype); keyValues.Add("cc.expDate", creditCardInfo.ExpireDate); keyValues.Add("cc.securityCode", creditCardInfo.SecurityCode); keyValues.Add("cc.firstName", creditCardInfo.FirstName); keyValues.Add("cc.middleName", creditCardInfo.MiddleName); keyValues.Add("cc.surname", creditCardInfo.LastName); keyValues.Add("cc.address", creditCardInfo.Address); keyValues.Add("cc.city", creditCardInfo.City); keyValues.Add("cc.stateProvince", creditCardInfo.StateProvince); keyValues.Add("cc.zip", creditCardInfo.ZipCode); keyValues.Add("cc.countryCode", creditCardInfo.CountryCode); keyValues.Add("cc.phoneNumber", creditCardInfo.PhoneNumber); keyValues.Add("startDateString", recurringInfo.StartDate); keyValues.Add("numPayments", recurringInfo.NumPayments); keyValues.Add("payFrequency", recurringInfo.PayFrequency); //Do not log the credit card number in plain text string[] itemsToEncrypt = new string[] { "cc.number", "cc.securityCode" }; DebugLogEncryptList("PurchaseCreditCard", keyValues, itemsToEncrypt); return(rest.PostXMLRequest("purchase/creditCardRecurring", keyValues)); }
/// <summary> /// Implements call to Twofish method purchase/paypal/recurring to complete the Paypal recurring payment purchase checkout process /// This is called from the Paypal callback method /// </summary> /// <param name="userId">userId, IPAddress</param> /// <param name="purchaseInfo">OfferId, ExternalTxnId, Token, PayerId</param> /// <param name="recurringInfo">BillingDescription, StartDate, NumPayments, PayFrequency</param> /// <param name="commmonKeyValue">Twofish REST service common values</param> /// <param name="baseAddress">Twofish REST service base address</param> /// <returns>XML document containing recurring purchase results</returns> public XmlDocument PayPalRecurringPurchase(UserId userId, PurchaseInfo purchaseInfo, PurchaseRecurringInfo recurringInfo, CommmonKeyValues commmonKeyValue, BaseAddress baseAddress) { ServiceHandler rest = new ServiceHandler(baseAddress.BaseAddressValue); Dictionary <string, string> keyValues = commmonKeyValue.GetCommmonInfo(false); keyValues.Add("userId", userId.ToString()); keyValues.Add("offerId", purchaseInfo.OfferId); keyValues.Add("externalTxnId", purchaseInfo.ExternalTxnId); keyValues.Add("token", purchaseInfo.Token); keyValues.Add("payerId", purchaseInfo.PayerId); keyValues.Add("ipAddress", userId.IPAddress); keyValues.Add("billingDescription", recurringInfo.BillingDescription); keyValues.Add("startDateString", recurringInfo.StartDate); keyValues.Add("numPayments", recurringInfo.NumPayments); keyValues.Add("payFrequency", recurringInfo.PayFrequency); DebugLog("PayPalRecurringPurchase", keyValues); return(rest.PostXMLRequest("purchase/paypal/recurring", keyValues)); }