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;
        }
 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...
 }