Example #1
0
        /// <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);
        }
Example #2
0
        /// <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));
        }
Example #3
0
        /// <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));
        }