/// <summary> /// Masks the NVP request /// </summary> /// <param name="ParmList">Param List to be masked</param> /// <returns>Masked Param List</returns> internal static String MaskNVPRequest(String ParmList) { String LogParmList = ParmList; //Mask ACCT if present LogParmList = PayflowUtility.LocateValueForName(LogParmList, PayflowConstants.PARAM_ACCT, true); //Mask EXPDATE if present //LogParmList = PayflowUtility.LocateValueForName(LogParmList, PayflowConstants.PARAM_EXPDATE, true); //Mask SWIPE if present LogParmList = PayflowUtility.LocateValueForName(LogParmList, PayflowConstants.PARAM_SWIPE, true); //Mask MICR if present LogParmList = PayflowUtility.LocateValueForName(LogParmList, PayflowConstants.PARAM_MICR, true); //Mask CVV2 if present LogParmList = PayflowUtility.LocateValueForName(LogParmList, PayflowConstants.PARAM_CVV2, true); //Mask PWD LogParmList = PayflowUtility.LocateValueForName(LogParmList, PayflowConstants.PARAM_PWD, true); //Mask DL if present LogParmList = PayflowUtility.LocateValueForName(LogParmList, PayflowConstants.PARAM_DL, true); //Mask SS if present LogParmList = PayflowUtility.LocateValueForName(LogParmList, PayflowConstants.PARAM_SS, true); //Mask DOB if present LogParmList = PayflowUtility.LocateValueForName(LogParmList, PayflowConstants.PARAM_DOB, true); //Mask MAGTEKPWD if present LogParmList = PayflowUtility.LocateValueForName(LogParmList, PayflowConstants.MAGTEK_PARAM_MAGTEKPWD, true); //Mask VIT_OSNAME if present //LogParmList = PayflowUtility.LocateValueForName(LogParmList, PayflowConstants.PARAM_VIT_OSNAME, true); //Mask VIT_OSARCH if present //LogParmList = PayflowUtility.LocateValueForName(LogParmList, PayflowConstants.PARAM_VIT_OSARCH, true); //Mask VIT_OSVERSION if present //LogParmList = PayflowUtility.LocateValueForName(LogParmList, PayflowConstants.PARAM_VIT_OSVERSION, true); //Mask VIT_SDKRUNTIMEVERSION if present //LogParmList = PayflowUtility.LocateValueForName(LogParmList, PayflowConstants.PARAM_VIT_SDKRUNTIMEVERSION, true); //Mask VIT_PROXY if present //LogParmList = PayflowUtility.LocateValueForName(LogParmList, PayflowConstants.PARAM_VIT_PROXY, true); return(LogParmList); }
internal static ArrayList AlignContext(Context Context, bool IsXmlPayRequest) { ArrayList Errors = Context.GetErrors(); ArrayList RetVal = new ArrayList(); int ErrorCount = Errors.Count; int Index; for (Index = 0; Index < ErrorCount; Index++) { ErrorObject Error = (ErrorObject)Errors[Index]; String MessageCode = Error.MessageCode; if (Error != null) { if (MessageCode != null && MessageCode.Length > 0) { bool Msg1012 = false; bool Msg1013 = false; bool Msg1015 = false; bool Msg1016 = false; if ("MSG_1012".Equals(MessageCode)) { Msg1012 = true; } else if ("MSG_1013".Equals(MessageCode)) { Msg1013 = true; } else if ("MSG_1015".Equals(MessageCode)) { Msg1015 = true; } else if ("MSG_1016".Equals(MessageCode)) { Msg1016 = true; } if (IsXmlPayRequest) { if (Msg1013 || Msg1016) { RetVal.Add(Error); } else { ErrorObject NewError = null; try { if (Msg1012) { ArrayList MsgParams = Error.MessageParams; String[] NewMsgParams = new String[] { (String)MsgParams[0], (String)MsgParams[1] }; NewError = new ErrorObject(Error.SeverityLevel, "MSG_1013", NewMsgParams, Error.ErrorStackTrace); } else if (Msg1015) { ArrayList MsgParams = Error.MessageParams; String[] NewMsgParams = new String[] { (String)MsgParams[0], (String)MsgParams[1] }; NewError = new ErrorObject(Error.SeverityLevel, "MSG_1016", NewMsgParams, Error.ErrorStackTrace); } else { String ErrMessage = Error.ToString(); NewError = PayflowUtility.PopulateCommError(PayflowConstants.E_UNKNOWN_STATE, null, Error.SeverityLevel, true, ErrMessage); } } catch { NewError = null; } if (NewError != null) { RetVal.Add(NewError); } } } else { if (Msg1012 || Msg1015) { RetVal.Add(Error); } else { ErrorObject NewError = null; try { if (Msg1013) { ArrayList MsgParams = Error.MessageParams; String[] NewMsgParams = new String[] { (String)MsgParams[2], (String)MsgParams[3] }; NewError = new ErrorObject(Error.SeverityLevel, "MSG_1012", NewMsgParams, Error.ErrorStackTrace); } else if (Msg1016) { ArrayList MsgParams = Error.MessageParams; String[] NewMsgParams = new String[] { (String)MsgParams[1], (String)MsgParams[2] }; NewError = new ErrorObject(Error.SeverityLevel, "MSG_1015", NewMsgParams, Error.ErrorStackTrace); } else { String ErrMessage = Error.ToString(); NewError = PayflowUtility.PopulateCommError(PayflowConstants.E_UNKNOWN_STATE, null, Error.SeverityLevel, false, ErrMessage); } } catch { NewError = null; } if (NewError != null) { RetVal.Add(NewError); } } } } else { ErrorObject NewError = null; try { String ErrMessage = Error.ToString(); if (ErrMessage != null && ErrMessage.Length > 0) { String Result = PayflowConstants.EMPTY_STRING; String RespMsg = PayflowConstants.EMPTY_STRING; bool ErrIsXmlPay = (ErrMessage.IndexOf(PayflowConstants.XML_RESP_ID) >= 0); //Check whether the error string is in nvp format // or xml pay format. if (ErrIsXmlPay) { //Try to get values in nodes Result, RespMsg Result = PayflowUtility.GetXmlPayNodeValue(ErrMessage, PayflowConstants.XML_PARAM_RESULT); RespMsg = PayflowUtility.GetXmlPayNodeValue(ErrMessage, PayflowConstants.XML_PARAM_MESSAGE); } else { //Try to get RESULT , RESPMSG from the error if // available. Result = PayflowUtility.LocateValueForName(ErrMessage, PayflowConstants.PARAM_RESULT, false); RespMsg = PayflowUtility.LocateValueForName(ErrMessage, PayflowConstants.PARAM_RESPMSG, false); } if (Result != null && Result.Length > 0 && RespMsg != null && RespMsg.Length > 0) { StringBuilder NewErrMessage = new StringBuilder(""); if (IsXmlPayRequest && !ErrIsXmlPay) { NewErrMessage = new StringBuilder("<XMLPayResponse xmlns='http://www.paypal.com/XMLPay'"); NewErrMessage.Append("><ResponseData><TransactionResults><TransactionResult><Result>"); NewErrMessage.Append(Result); NewErrMessage.Append("</Result><Message>"); NewErrMessage.Append(RespMsg); NewErrMessage.Append("</Message></TransactionResult></TransactionResults></ResponseData></XMLPayResponse>"); NewError = new ErrorObject(Error.SeverityLevel, "", NewErrMessage.ToString()); } else if (!IsXmlPayRequest && ErrIsXmlPay) { NewErrMessage = new StringBuilder(PayflowConstants.PARAM_RESULT); NewErrMessage.Append(PayflowConstants.SEPARATOR_NVP); NewErrMessage.Append(Result); NewErrMessage.Append(PayflowConstants.DELIMITER_NVP); NewErrMessage.Append(PayflowConstants.PARAM_RESPMSG); NewErrMessage.Append(PayflowConstants.SEPARATOR_NVP); NewErrMessage.Append(RespMsg); NewError = new ErrorObject(Error.SeverityLevel, "", NewErrMessage.ToString()); } else { NewError = new ErrorObject(Error.SeverityLevel, "", ErrMessage); } } else { StringBuilder NewErrMessage = new StringBuilder(""); if (IsXmlPayRequest) { NewErrMessage = new StringBuilder("<XMLPayResponse xmlns='http://www.paypal.com/XMLPay'"); NewErrMessage.Append("><ResponseData><TransactionResults><TransactionResult><Result>"); NewErrMessage.Append((String)PayflowConstants.CommErrorCodes[PayflowConstants.E_UNKNOWN_STATE]); NewErrMessage.Append("</Result><Message>"); NewErrMessage.Append((String)PayflowConstants.CommErrorMessages[PayflowConstants.E_UNKNOWN_STATE] + " " + ErrMessage); NewErrMessage.Append("</Message></TransactionResult></TransactionResults></ResponseData></XMLPayResponse>"); } else { NewErrMessage = new StringBuilder(PayflowConstants.PARAM_RESULT); NewErrMessage.Append(PayflowConstants.SEPARATOR_NVP); NewErrMessage.Append((String)PayflowConstants.CommErrorCodes[PayflowConstants.E_UNKNOWN_STATE]); NewErrMessage.Append(PayflowConstants.DELIMITER_NVP); NewErrMessage.Append(PayflowConstants.PARAM_RESPMSG); NewErrMessage.Append(PayflowConstants.SEPARATOR_NVP); NewErrMessage.Append((String)PayflowConstants.CommErrorMessages[PayflowConstants.E_UNKNOWN_STATE] + " " + ErrMessage); } NewError = new ErrorObject(Error.SeverityLevel, "", NewErrMessage.ToString()); } } } catch { NewError = null; } if (NewError != null) { RetVal.Add(NewError); } } } } return(RetVal); }