///<summary>Updates one PayConnectResponseWeb in the database.</summary> public static void Update(PayConnectResponseWeb payConnectResponseWeb) { string command = "UPDATE payconnectresponseweb SET " + "PatNum = " + POut.Long(payConnectResponseWeb.PatNum) + ", " + "PayNum = " + POut.Long(payConnectResponseWeb.PayNum) + ", " + "CCSource = " + POut.Int((int)payConnectResponseWeb.CCSource) + ", " + "Amount = '" + POut.Double(payConnectResponseWeb.Amount) + "', " + "PayNote = '" + POut.String(payConnectResponseWeb.PayNote) + "', " + "AccountToken = '" + POut.String(payConnectResponseWeb.AccountToken) + "', " + "PayToken = '" + POut.String(payConnectResponseWeb.PayToken) + "', " + "ProcessingStatus = '" + POut.String(payConnectResponseWeb.ProcessingStatus.ToString()) + "', " //DateTimeEntry not allowed to change + "DateTimePending = " + POut.DateT(payConnectResponseWeb.DateTimePending) + ", " + "DateTimeCompleted = " + POut.DateT(payConnectResponseWeb.DateTimeCompleted) + ", " + "DateTimeExpired = " + POut.DateT(payConnectResponseWeb.DateTimeExpired) + ", " + "DateTimeLastError = " + POut.DateT(payConnectResponseWeb.DateTimeLastError) + ", " + "LastResponseStr = " + DbHelper.ParamChar + "paramLastResponseStr, " + "IsTokenSaved = " + POut.Bool(payConnectResponseWeb.IsTokenSaved) + ", " + "PaymentToken = '" + POut.String(payConnectResponseWeb.PaymentToken) + "', " + "ExpDateToken = '" + POut.String(payConnectResponseWeb.ExpDateToken) + "', " + "RefNumber = '" + POut.String(payConnectResponseWeb.RefNumber) + "', " + "TransType = '" + POut.String(payConnectResponseWeb.TransType.ToString()) + "' " + "WHERE PayConnectResponseWebNum = " + POut.Long(payConnectResponseWeb.PayConnectResponseWebNum); if (payConnectResponseWeb.LastResponseStr == null) { payConnectResponseWeb.LastResponseStr = ""; } OdSqlParameter paramLastResponseStr = new OdSqlParameter("paramLastResponseStr", OdDbType.Text, POut.StringParam(payConnectResponseWeb.LastResponseStr)); Db.NonQ(command, paramLastResponseStr); }
///<summary>Converts a DataTable to a list of objects.</summary> public static List <PayConnectResponseWeb> TableToList(DataTable table) { List <PayConnectResponseWeb> retVal = new List <PayConnectResponseWeb>(); PayConnectResponseWeb payConnectResponseWeb; foreach (DataRow row in table.Rows) { payConnectResponseWeb = new PayConnectResponseWeb(); payConnectResponseWeb.PayConnectResponseWebNum = PIn.Long(row["PayConnectResponseWebNum"].ToString()); payConnectResponseWeb.PatNum = PIn.Long(row["PatNum"].ToString()); payConnectResponseWeb.PayNum = PIn.Long(row["PayNum"].ToString()); payConnectResponseWeb.CCSource = (OpenDentBusiness.CreditCardSource)PIn.Int(row["CCSource"].ToString()); payConnectResponseWeb.Amount = PIn.Double(row["Amount"].ToString()); payConnectResponseWeb.PayNote = PIn.String(row["PayNote"].ToString()); payConnectResponseWeb.AccountToken = PIn.String(row["AccountToken"].ToString()); payConnectResponseWeb.PayToken = PIn.String(row["PayToken"].ToString()); string processingStatus = row["ProcessingStatus"].ToString(); if (processingStatus == "") { payConnectResponseWeb.ProcessingStatus = (OpenDentBusiness.PayConnectWebStatus) 0; } else { try{ payConnectResponseWeb.ProcessingStatus = (OpenDentBusiness.PayConnectWebStatus)Enum.Parse(typeof(OpenDentBusiness.PayConnectWebStatus), processingStatus); } catch { payConnectResponseWeb.ProcessingStatus = (OpenDentBusiness.PayConnectWebStatus) 0; } } payConnectResponseWeb.DateTimeEntry = PIn.DateT(row["DateTimeEntry"].ToString()); payConnectResponseWeb.DateTimePending = PIn.DateT(row["DateTimePending"].ToString()); payConnectResponseWeb.DateTimeCompleted = PIn.DateT(row["DateTimeCompleted"].ToString()); payConnectResponseWeb.DateTimeExpired = PIn.DateT(row["DateTimeExpired"].ToString()); payConnectResponseWeb.DateTimeLastError = PIn.DateT(row["DateTimeLastError"].ToString()); payConnectResponseWeb.LastResponseStr = PIn.String(row["LastResponseStr"].ToString()); payConnectResponseWeb.IsTokenSaved = PIn.Bool(row["IsTokenSaved"].ToString()); payConnectResponseWeb.PaymentToken = PIn.String(row["PaymentToken"].ToString()); payConnectResponseWeb.ExpDateToken = PIn.String(row["ExpDateToken"].ToString()); payConnectResponseWeb.RefNumber = PIn.String(row["RefNumber"].ToString()); string transType = row["TransType"].ToString(); if (transType == "") { payConnectResponseWeb.TransType = (OpenDentBusiness.PayConnectService.transType) 0; } else { try{ payConnectResponseWeb.TransType = (OpenDentBusiness.PayConnectService.transType)Enum.Parse(typeof(OpenDentBusiness.PayConnectService.transType), transType); } catch { payConnectResponseWeb.TransType = (OpenDentBusiness.PayConnectService.transType) 0; } } retVal.Add(payConnectResponseWeb); } return(retVal); }
///<summary>Inserts one PayConnectResponseWeb into the database. Provides option to use the existing priKey. Doesn't use the cache.</summary> public static long InsertNoCache(PayConnectResponseWeb payConnectResponseWeb, bool useExistingPK) { bool isRandomKeys = Prefs.GetBoolNoCache(PrefName.RandomPrimaryKeys); string command = "INSERT INTO payconnectresponseweb ("; if (!useExistingPK && isRandomKeys) { payConnectResponseWeb.PayConnectResponseWebNum = ReplicationServers.GetKeyNoCache("payconnectresponseweb", "PayConnectResponseWebNum"); } if (isRandomKeys || useExistingPK) { command += "PayConnectResponseWebNum,"; } command += "PatNum,PayNum,CCSource,Amount,PayNote,AccountToken,PayToken,ProcessingStatus,DateTimeEntry,DateTimePending,DateTimeCompleted,DateTimeExpired,DateTimeLastError,LastResponseStr,IsTokenSaved,PaymentToken,ExpDateToken,RefNumber,TransType) VALUES("; if (isRandomKeys || useExistingPK) { command += POut.Long(payConnectResponseWeb.PayConnectResponseWebNum) + ","; } command += POut.Long(payConnectResponseWeb.PatNum) + "," + POut.Long(payConnectResponseWeb.PayNum) + "," + POut.Int((int)payConnectResponseWeb.CCSource) + "," + "'" + POut.Double(payConnectResponseWeb.Amount) + "'," + "'" + POut.String(payConnectResponseWeb.PayNote) + "'," + "'" + POut.String(payConnectResponseWeb.AccountToken) + "'," + "'" + POut.String(payConnectResponseWeb.PayToken) + "'," + "'" + POut.String(payConnectResponseWeb.ProcessingStatus.ToString()) + "'," + DbHelper.Now() + "," + POut.DateT(payConnectResponseWeb.DateTimePending) + "," + POut.DateT(payConnectResponseWeb.DateTimeCompleted) + "," + POut.DateT(payConnectResponseWeb.DateTimeExpired) + "," + POut.DateT(payConnectResponseWeb.DateTimeLastError) + "," + DbHelper.ParamChar + "paramLastResponseStr," + POut.Bool(payConnectResponseWeb.IsTokenSaved) + "," + "'" + POut.String(payConnectResponseWeb.PaymentToken) + "'," + "'" + POut.String(payConnectResponseWeb.ExpDateToken) + "'," + "'" + POut.String(payConnectResponseWeb.RefNumber) + "')" + "'" + POut.String(payConnectResponseWeb.TransType.ToString()) + "')"; if (payConnectResponseWeb.LastResponseStr == null) { payConnectResponseWeb.LastResponseStr = ""; } OdSqlParameter paramLastResponseStr = new OdSqlParameter("paramLastResponseStr", OdDbType.Text, POut.StringParam(payConnectResponseWeb.LastResponseStr)); if (useExistingPK || isRandomKeys) { Db.NonQ(command, paramLastResponseStr); } else { payConnectResponseWeb.PayConnectResponseWebNum = Db.NonQ(command, true, "PayConnectResponseWebNum", "payConnectResponseWeb", paramLastResponseStr); } return(payConnectResponseWeb.PayConnectResponseWebNum); }
private void processReturnToolStripMenuItem_Click(object sender, EventArgs e) { if (!Security.IsAuthorized(Permissions.PaymentCreate)) { return; } if (gridMain.SelectedIndices.Length < 1) { return; } if (IsXWebTransaction(gridMain.SelectedIndices[0])) { long patNum = PIn.Long(_tableTrans.Rows[gridMain.SelectedIndices[0]]["PatNum"].ToString()); string alias = _tableTrans.Rows[gridMain.SelectedIndices[0]]["Alias"].ToString(); List <CreditCard> listCards = CreditCards.GetCardsByToken(alias, new List <CreditCardSource> { CreditCardSource.XWeb, CreditCardSource.XWebPortalLogin }); if (listCards.Count == 0) { MsgBox.Show(this, "This credit card is no longer stored in the database. Return cannot be processed."); return; } if (listCards.Count > 1) { MsgBox.Show(this, "There is more than one card in the database with this token. Return cannot be processed due to the risk of charging the " + "incorrect card."); return; } FormXWeb FormXW = new FormXWeb(patNum, listCards.FirstOrDefault(), XWebTransactionType.CreditReturnTransaction, createPayment: true); FormXW.LockCardInfo = true; if (FormXW.ShowDialog() == DialogResult.OK) { FillGrid(); } } else { Payment payment = Payments.GetPayment(PIn.Long(_tableTrans.Rows[gridMain.SelectedIndices[0]]["PaymentNum"].ToString())); PayConnectResponseWeb pcResponseWeb = PayConnectResponseWebs.GetOne(PIn.Long(_tableTrans.Rows[gridMain.SelectedIndices[0]]["ResponseNum"].ToString())); decimal amt = PIn.Decimal(_tableTrans.Rows[gridMain.SelectedIndices[0]]["Amount"].ToString()); string refNum = _tableTrans.Rows[gridMain.SelectedIndices[0]]["TransactionID"].ToString(); //This is actually PayConnectResponseWeb.RefNumber, it's just stored in the TransactionID column if (!PayConnectL.VoidOrRefundPayConnectPortalTransaction(pcResponseWeb, payment, PayConnectService.transType.RETURN, refNum, amt)) { return; } MsgBox.Show("Return successful."); FillGrid(); } }
private void voidPaymentToolStripMenuItem_Click(object sender, EventArgs e) { if (!Security.IsAuthorized(Permissions.PaymentCreate)) { return; } if (gridMain.SelectedIndices.Length < 1 || !MsgBox.Show(this, MsgBoxButtons.YesNo, "Void this payment?")) { return; } try { Cursor = Cursors.WaitCursor; if (IsXWebTransaction(gridMain.SelectedIndices[0])) { long patNum = PIn.Long(_tableTrans.Rows[gridMain.SelectedIndices[0]]["PatNum"].ToString()); long responseNum = PIn.Long(_tableTrans.Rows[gridMain.SelectedIndices[0]]["ResponseNum"].ToString()); string payNote = Lan.g(this, "Void XWeb payment made from within Open Dental") + "\r\n" + Lan.g(this, "Amount:") + " " + PIn.Double(_tableTrans.Rows[gridMain.SelectedIndices[0]]["Amount"].ToString()).ToString("f") + "\r\n" + Lan.g(this, "Transaction ID:") + " " + _tableTrans.Rows[gridMain.SelectedIndices[0]]["TransactionID"].ToString() + "\r\n" + Lan.g(this, "Card Number:") + " " + _tableTrans.Rows[gridMain.SelectedIndices[0]]["MaskedAcctNum"].ToString() + "\r\n" + Lan.g(this, "Processed:") + " " + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString(); XWebs.VoidPayment(patNum, payNote, responseNum); } else { Payment payment = Payments.GetPayment(PIn.Long(_tableTrans.Rows[gridMain.SelectedIndices[0]]["PaymentNum"].ToString())); PayConnectResponseWeb pcResponseWeb = PayConnectResponseWebs.GetOne(PIn.Long(_tableTrans.Rows[gridMain.SelectedIndices[0]]["ResponseNum"].ToString())); decimal amt = PIn.Decimal(_tableTrans.Rows[gridMain.SelectedIndices[0]]["Amount"].ToString()); string refNum = _tableTrans.Rows[gridMain.SelectedIndices[0]]["TransactionID"].ToString(); //This is actually PayConnectResponseWeb.RefNumber, it's just stored in the TransactionID column if (!PayConnectL.VoidOrRefundPayConnectPortalTransaction(pcResponseWeb, payment, PayConnectService.transType.VOID, refNum, amt)) { Cursor = Cursors.Default; return; } } Cursor = Cursors.Default; MsgBox.Show(this, "Void successful"); FillGrid(); } catch (ODException ex) { Cursor = Cursors.Default; MessageBox.Show(ex.Message); } }
/// <summary>Only used to void or refund transactions from PayConnectPortal. Creates new cloned payment and paysplits for the refund or void. /// Returns true if the transaction was successful, otherwise false.</summary public static bool VoidOrRefundPayConnectPortalTransaction(PayConnectResponseWeb pcResponseWeb, Payment payment, PayConnectService.transType transType, string refNum, decimal amount) { if (!transType.In(PayConnectService.transType.RETURN, PayConnectService.transType.VOID)) { return(false); } List <PaySplit> listPaySplits = PaySplits.GetForPayment(payment.PayNum); PayConnectService.creditCardRequest _payConnectRequest = new PayConnectService.creditCardRequest(); PayConnectResponse response = null; string receiptStr = ""; _payConnectRequest.TransType = transType; _payConnectRequest.RefNumber = refNum; _payConnectRequest.Amount = amount; PayConnectService.transResponse transResponse = PayConnect.ProcessCreditCard(_payConnectRequest, payment.ClinicNum, x => MsgBox.Show(x)); response = new PayConnectResponse(transResponse, _payConnectRequest); receiptStr = PayConnect.BuildReceiptString(_payConnectRequest, transResponse, null, payment.ClinicNum); if (response == null || response.StatusCode != "0") //error in transaction { return(false); } //Record a new payment for the voided transaction Payment clonePayment = payment.Clone(); clonePayment.PayAmt *= -1; //The negated amount of the original payment clonePayment.PayDate = DateTime.Now; clonePayment.Receipt = receiptStr; clonePayment.PayNote = Lan.g("PayConnectL", "Transaction Type") + ": " + Enum.GetName(typeof(PayConnectService.transType), transType) + Environment.NewLine + Lan.g("PayConnectL", "Status") + ": " + response.Description + Environment.NewLine + Lan.g("PayConnectL", "Amount") + ": " + clonePayment.PayAmt + Environment.NewLine + Lan.g("PayConnectL", "Auth Code") + ": " + response.AuthCode + Environment.NewLine + Lan.g("PayConnectL", "Ref Number") + ": " + response.RefNumber; clonePayment.PaymentSource = pcResponseWeb.CCSource; clonePayment.ProcessStatus = ProcessStat.OfficeProcessed; clonePayment.PayNum = Payments.Insert(clonePayment); List <PaySplit> listClonedPaySplits = new List <PaySplit>(); foreach (PaySplit paySplit in listPaySplits) { PaySplit copy = paySplit.Copy(); copy.SplitAmt *= -1; copy.PayNum = clonePayment.PayNum; copy.DatePay = clonePayment.PayDate; listClonedPaySplits.Add(copy); } PaySplits.InsertMany(listClonedPaySplits); PayConnectResponseWeb newPCResponseWeb = new PayConnectResponseWeb() { PatNum = payment.PatNum, PayNum = clonePayment.PayNum, CCSource = pcResponseWeb.CCSource, Amount = clonePayment.PayAmt, PayNote = Lan.g("PayConnectL", clonePayment.PayNote + Environment.NewLine + "From within Open Dental Proper."), ProcessingStatus = PayConnectWebStatus.Completed, DateTimeEntry = DateTime.Now, DateTimeCompleted = DateTime.Now, IsTokenSaved = false, RefNumber = transResponse.RefNumber, TransType = transType, PaymentToken = pcResponseWeb.PaymentToken, }; PayConnectResponseWebs.Insert(newPCResponseWeb); SecurityLogs.MakeLogEntry(Permissions.PaymentCreate, clonePayment.PatNum, Patients.GetLim(clonePayment.PatNum).GetNameLF() + ", " + clonePayment.PayAmt.ToString("c")); return(true); }
///<summary>Returns true if Update(PayConnectResponseWeb,PayConnectResponseWeb) would make changes to the database. ///Does not make any changes to the database and can be called before remoting role is checked.</summary> public static bool UpdateComparison(PayConnectResponseWeb payConnectResponseWeb, PayConnectResponseWeb oldPayConnectResponseWeb) { if (payConnectResponseWeb.PatNum != oldPayConnectResponseWeb.PatNum) { return(true); } if (payConnectResponseWeb.PayNum != oldPayConnectResponseWeb.PayNum) { return(true); } if (payConnectResponseWeb.CCSource != oldPayConnectResponseWeb.CCSource) { return(true); } if (payConnectResponseWeb.Amount != oldPayConnectResponseWeb.Amount) { return(true); } if (payConnectResponseWeb.PayNote != oldPayConnectResponseWeb.PayNote) { return(true); } if (payConnectResponseWeb.AccountToken != oldPayConnectResponseWeb.AccountToken) { return(true); } if (payConnectResponseWeb.PayToken != oldPayConnectResponseWeb.PayToken) { return(true); } if (payConnectResponseWeb.ProcessingStatus != oldPayConnectResponseWeb.ProcessingStatus) { return(true); } //DateTimeEntry not allowed to change if (payConnectResponseWeb.DateTimePending != oldPayConnectResponseWeb.DateTimePending) { return(true); } if (payConnectResponseWeb.DateTimeCompleted != oldPayConnectResponseWeb.DateTimeCompleted) { return(true); } if (payConnectResponseWeb.DateTimeExpired != oldPayConnectResponseWeb.DateTimeExpired) { return(true); } if (payConnectResponseWeb.DateTimeLastError != oldPayConnectResponseWeb.DateTimeLastError) { return(true); } if (payConnectResponseWeb.LastResponseStr != oldPayConnectResponseWeb.LastResponseStr) { return(true); } if (payConnectResponseWeb.IsTokenSaved != oldPayConnectResponseWeb.IsTokenSaved) { return(true); } if (payConnectResponseWeb.PaymentToken != oldPayConnectResponseWeb.PaymentToken) { return(true); } if (payConnectResponseWeb.ExpDateToken != oldPayConnectResponseWeb.ExpDateToken) { return(true); } if (payConnectResponseWeb.RefNumber != oldPayConnectResponseWeb.RefNumber) { return(true); } if (payConnectResponseWeb.TransType != oldPayConnectResponseWeb.TransType) { return(true); } return(false); }
///<summary>Updates one PayConnectResponseWeb in the database. Uses an old object to compare to, and only alters changed fields. This prevents collisions and concurrency problems in heavily used tables. Returns true if an update occurred.</summary> public static bool Update(PayConnectResponseWeb payConnectResponseWeb, PayConnectResponseWeb oldPayConnectResponseWeb) { string command = ""; if (payConnectResponseWeb.PatNum != oldPayConnectResponseWeb.PatNum) { if (command != "") { command += ","; } command += "PatNum = " + POut.Long(payConnectResponseWeb.PatNum) + ""; } if (payConnectResponseWeb.PayNum != oldPayConnectResponseWeb.PayNum) { if (command != "") { command += ","; } command += "PayNum = " + POut.Long(payConnectResponseWeb.PayNum) + ""; } if (payConnectResponseWeb.CCSource != oldPayConnectResponseWeb.CCSource) { if (command != "") { command += ","; } command += "CCSource = " + POut.Int((int)payConnectResponseWeb.CCSource) + ""; } if (payConnectResponseWeb.Amount != oldPayConnectResponseWeb.Amount) { if (command != "") { command += ","; } command += "Amount = '" + POut.Double(payConnectResponseWeb.Amount) + "'"; } if (payConnectResponseWeb.PayNote != oldPayConnectResponseWeb.PayNote) { if (command != "") { command += ","; } command += "PayNote = '" + POut.String(payConnectResponseWeb.PayNote) + "'"; } if (payConnectResponseWeb.AccountToken != oldPayConnectResponseWeb.AccountToken) { if (command != "") { command += ","; } command += "AccountToken = '" + POut.String(payConnectResponseWeb.AccountToken) + "'"; } if (payConnectResponseWeb.PayToken != oldPayConnectResponseWeb.PayToken) { if (command != "") { command += ","; } command += "PayToken = '" + POut.String(payConnectResponseWeb.PayToken) + "'"; } if (payConnectResponseWeb.ProcessingStatus != oldPayConnectResponseWeb.ProcessingStatus) { if (command != "") { command += ","; } command += "ProcessingStatus = '" + POut.String(payConnectResponseWeb.ProcessingStatus.ToString()) + "'"; } //DateTimeEntry not allowed to change if (payConnectResponseWeb.DateTimePending != oldPayConnectResponseWeb.DateTimePending) { if (command != "") { command += ","; } command += "DateTimePending = " + POut.DateT(payConnectResponseWeb.DateTimePending) + ""; } if (payConnectResponseWeb.DateTimeCompleted != oldPayConnectResponseWeb.DateTimeCompleted) { if (command != "") { command += ","; } command += "DateTimeCompleted = " + POut.DateT(payConnectResponseWeb.DateTimeCompleted) + ""; } if (payConnectResponseWeb.DateTimeExpired != oldPayConnectResponseWeb.DateTimeExpired) { if (command != "") { command += ","; } command += "DateTimeExpired = " + POut.DateT(payConnectResponseWeb.DateTimeExpired) + ""; } if (payConnectResponseWeb.DateTimeLastError != oldPayConnectResponseWeb.DateTimeLastError) { if (command != "") { command += ","; } command += "DateTimeLastError = " + POut.DateT(payConnectResponseWeb.DateTimeLastError) + ""; } if (payConnectResponseWeb.LastResponseStr != oldPayConnectResponseWeb.LastResponseStr) { if (command != "") { command += ","; } command += "LastResponseStr = " + DbHelper.ParamChar + "paramLastResponseStr"; } if (payConnectResponseWeb.IsTokenSaved != oldPayConnectResponseWeb.IsTokenSaved) { if (command != "") { command += ","; } command += "IsTokenSaved = " + POut.Bool(payConnectResponseWeb.IsTokenSaved) + ""; } if (payConnectResponseWeb.PaymentToken != oldPayConnectResponseWeb.PaymentToken) { if (command != "") { command += ","; } command += "PaymentToken = '" + POut.String(payConnectResponseWeb.PaymentToken) + "'"; } if (payConnectResponseWeb.ExpDateToken != oldPayConnectResponseWeb.ExpDateToken) { if (command != "") { command += ","; } command += "ExpDateToken = '" + POut.String(payConnectResponseWeb.ExpDateToken) + "'"; } if (payConnectResponseWeb.RefNumber != oldPayConnectResponseWeb.RefNumber) { if (command != "") { command += ","; } command += "RefNumber = '" + POut.String(payConnectResponseWeb.RefNumber) + "'"; } if (payConnectResponseWeb.TransType != oldPayConnectResponseWeb.TransType) { if (command != "") { command += ","; } command += "TransType = '" + POut.String(payConnectResponseWeb.TransType.ToString()) + "'"; } if (command == "") { return(false); } if (payConnectResponseWeb.LastResponseStr == null) { payConnectResponseWeb.LastResponseStr = ""; } OdSqlParameter paramLastResponseStr = new OdSqlParameter("paramLastResponseStr", OdDbType.Text, POut.StringParam(payConnectResponseWeb.LastResponseStr)); command = "UPDATE payconnectresponseweb SET " + command + " WHERE PayConnectResponseWebNum = " + POut.Long(payConnectResponseWeb.PayConnectResponseWebNum); Db.NonQ(command, paramLastResponseStr); return(true); }
///<summary>Inserts one PayConnectResponseWeb into the database. Returns the new priKey. Doesn't use the cache.</summary> public static long InsertNoCache(PayConnectResponseWeb payConnectResponseWeb) { return(InsertNoCache(payConnectResponseWeb, false)); }