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