private static void ForceWithPreauth(int ticketId)
        {
            // Force preauth payment
            Debug.Assert(PreauthDataCache.ContainsKey(ticketId));
            var preauthData = GetPreauthData(ticketId);

            using (var sm = new SecureStringToStringMarshaler(preauthData.SwipeData))
            {
                // access swipedata as demonstrated here
                InteractionService.UserIntraction.GiveFeedback("Force:\r" + sm.String);
                // *------------------------
                // force with preauth data;
                // *------------------------
            }
            preauthData.SwipeData.Clear(); // we don't need swipedata anymore...
        }
        private static decimal Preauth(SecureString swipeData, Ticket ticket, decimal tenderedAmount, decimal gratuity)
        {
            // preauthPayment

            if (gratuity > 0 && Settings.GratuityService != null) // add gratuity amount to ticket
            {
                ticket.AddTaxService(Settings.GratuityService.Id, Settings.GratuityService.CalculationMethod, gratuity);
            }

            using (var sm = new SecureStringToStringMarshaler(swipeData))
            {
                // access swipedata as demonstrated here
                InteractionService.UserIntraction.GiveFeedback(string.Format("Amount:{0}\r\rPreauth:\r{1}", ticket.GetRemainingAmount(), sm.String));
                // *------------------------
                // Preauth Here
                // *------------------------
            }
            AddPreauthData(ticket.Id, swipeData, "SAMPLE MERCHANT AUTH CODE", tenderedAmount, gratuity);
            return(tenderedAmount + gratuity);
        }