/// <summary> /// Check if this is a special response /// If a special response then call the special response handler to modify the response xml /// </summary> /// <param name="responseData">The PaymentItems response string xml data</param> /// <returns>The response string xml data, modified if a special response else the inputed xml data</returns> public XmlDocument SpecialResponse(XmlDocument response, string noun, string verb, ServerStores serverStores) { MoneyTransactionLogging moneyLog = new MoneyTransactionLogging(); Dictionary <string, string> specialResponses = new Dictionary <string, string>(); specialResponses.Add("GetUserInventory", "HangoutUsers"); specialResponses.Add("PurchaseGameCurrencyPayPal", "HangoutPurchase"); specialResponses.Add("PurchaseGameCurrencyCreditCard", "HangoutPurchase"); specialResponses.Add("PurchaseItems", "HangoutUsers"); string value = SpecialCommand(noun, verb, specialResponses); switch (value) { case "GetUserInventory": response = PaymentItemsSortFilter.AddItemsToUserInventory(response, serverStores); break; case "PurchaseItems": response = PaymentItemsSortFilter.AddAssetsToPurchaseResponse(response, serverStores); break; case "PurchaseGameCurrencyPayPal": moneyLog.PayPalLogResponse(response, "InProgress"); break; case "PurchaseGameCurrencyCreditCard": moneyLog.CreditCardLogResponse(response); break; } return(response); }
public string PayPalCallBack(string xmlInfo, string baseServicesRoot) { string response = ""; try { XmlDocument callBackInfo = new XmlDocument(); callBackInfo.LoadXml(xmlInfo); MoneyTransactionLogging moneyLog = new MoneyTransactionLogging(); moneyLog.PayPalLogResponse(callBackInfo, "CallBackBegin"); XmlDocument callBackResponse = ProcessCallBack(xmlInfo, baseServicesRoot); moneyLog.PayPalLogResponse(callBackResponse, "CallBackComplete"); response = parseCallBackResponse(callBackResponse); } catch (Exception ex) { mErrorLogger.Error("PayPalCallBack Error", ex); } return(response); }
public void PurchaseGameCurrencyZong(string piUserId, string hangoutUserId, string sessionGuid, string emailAddress, string offerDesc, string transactionRef, string ipAddress, string baseServicesRoot) { NameValueCollection logInfo = new NameValueCollection(); logInfo.Add("userId", piUserId); logInfo.Add("transactionRef", transactionRef); logInfo.Add("externalTxnId", Guid.NewGuid().ToString()); logInfo.Add("offerId", offerDesc); logInfo.Add("ipAddress", ipAddress); MoneyTransactionLogging moneyLog = new MoneyTransactionLogging(); moneyLog.LogMoneyPaymentCommand(hangoutUserId, sessionGuid, logInfo, emailAddress, "Zong"); }
public string PurchaseGameCurrencyCreditCard(string transactionId, string piUserId, string hangoutUserId, string sessionGuid, string emailAddress, string offerId, CreditCardInfo creditCardInfo, string ipAddress, string baseServicesRoot) { PaymentCommand paymentCommand = CreatePurchaseGameCurrencyCreditCard(transactionId, piUserId, offerId, creditCardInfo, ipAddress); MoneyTransactionLogging moneyLog = new MoneyTransactionLogging(); moneyLog.LogMoneyPaymentCommand(hangoutUserId, sessionGuid, paymentCommand.Parameters, emailAddress, "CreditCard"); XmlDocument xmlResponse = ProcessPaymentItem(paymentCommand, baseServicesRoot); moneyLog.CreditCardLogResponse(xmlResponse); return(ParseCreditCardResult(xmlResponse)); }
public string PurchaseGameCurrencyPayPal(string piUserId, string hangoutUserId, string sessionGuid, string emailAddress, string offerId, string ipAddress, string baseServicesRoot) { PaymentCommand paymentCommand = CreatePurchaseGameCurrencyPayPal(piUserId, offerId, ipAddress); MoneyTransactionLogging moneyLog = new MoneyTransactionLogging(); moneyLog.LogMoneyPaymentCommand(hangoutUserId, sessionGuid, paymentCommand.Parameters, emailAddress, "Paypal"); XmlDocument xmlResponse = ProcessPaymentItem(paymentCommand, baseServicesRoot); moneyLog.PayPalLogResponse(xmlResponse, "InProgress"); string paypalURL = xmlResponse.SelectSingleNode("/Response/paypalURL").InnerText; return(paypalURL); }
public string GambitCallBack(string xmlInfo, string baseServicesRoot) { string response = ""; try { XmlDocument callBackInfo = new XmlDocument(); callBackInfo.LoadXml(xmlInfo); MoneyTransactionLogging moneyLog = new MoneyTransactionLogging(); moneyLog.GambitLogResponse(callBackInfo, "CallBackBegin"); response = GambitAddMoneyToAccount(callBackInfo, baseServicesRoot); moneyLog.GambitLogResponse(callBackInfo, response); } catch (Exception ex) { mErrorLogger.Error("GambitCallBack Error", ex); } return(response); }
/// <summary> /// Parse the client PaymentItems Command /// Converts the client PaymentItems command to a PaymentItems command /// </summary> /// <param name="clientCommand">Client PaymentItems command</param> /// <returns>PaymentItems command</returns> private PaymentCommand ParseClientPaymentCommand(PaymentCommand clientCommand) { MoneyTransactionLogging moneyLog = new MoneyTransactionLogging(); PaymentCommand paymentCommand = null; switch (clientCommand.Verb) { case "GetUserBalance": paymentCommand = CreateSimpleCommand("HangoutUsers", "GetUserBalance", clientCommand.Parameters); break; case "AddVirtualCoinForUser": paymentCommand = AddVirtualCoinForUser(clientCommand.Parameters); break; case "GetUserInventory": paymentCommand = GetUserInventory(clientCommand.Parameters); break; case "GetStoreInventory": paymentCommand = GetStoreInventory(clientCommand.Parameters); break; case "PurchaseOffers": paymentCommand = CreateSimpleCommand("HangoutPurchase", "PurchaseCashOffers", clientCommand.Parameters); break; case "PurchaseCoinOffers": paymentCommand = CreateSimpleCommand("HangoutPurchase", "PurchaseCoinOffers", clientCommand.Parameters); break; case "PurchaseItems": paymentCommand = PurchaseItems(clientCommand.Parameters, false); break; case "PurchaseItemsGift": paymentCommand = PurchaseItems(clientCommand.Parameters, true); break; case "PurchaseGameCurrencyPayPal": paymentCommand = PurchaseGameCurrencyPayPal(clientCommand.Parameters); moneyLog.LogMoneyPaymentCommand("", "", paymentCommand.Parameters, "", "Paypal"); break; case "PurchaseGameCurrencyCreditCard": paymentCommand = PurchaseGameCurrencyCreditCard(clientCommand.Parameters); moneyLog.LogMoneyPaymentCommand("", "", paymentCommand.Parameters, "", "CreditCard"); break; case "HealthCheck": paymentCommand = new PaymentCommand(); paymentCommand.Noun = "HangoutInfo"; paymentCommand.Verb = "HealthCheck"; break; case "SecurePaymentInfo": paymentCommand = new PaymentCommand(); paymentCommand.Noun = "HangoutUsers"; paymentCommand.Verb = "SecurePaymentInfo"; break; default: StateServerAssert.Assert(new System.Exception("Invalid Payment Items Command")); break; } return(paymentCommand); }
private void CallLogEvent(string externalTransactionId, string moneyType) { MoneyTransactionLogging transaction = new MoneyTransactionLogging(); transaction.NotifyClientComplete(externalTransactionId, moneyType); }