Hi All,
It has been a while since I have been here. Things were status quo for so long, but I need some help. I am not good with XML. We just installed PayPros system with the add-in written by New West. It uses the Magtek IPAD with signature capture. This is a secure token based system and will support EMV. The problem: The add-in uses a hook that takes over a credit card payment. In RMS these payments are set as OTHER', not credit card. The provided receipt template prints the captured signature , payment amount and authorization perfectly on the regular customer receipt. It does not print this information on the 'Credit Card' signature receipt that we would normally keep. PayPros workaround is to turn off the ' CC Sigature' property of the receipt and print 2 copies of the regular receipt. The problem is that this prints 2 receipts for every type of transaction. I would like to fix the receipt template (if possible) to print the CC signature section for 'other' payments and then set print copies back to 1. I tried to copy the working XML from the Totals section to the Credit Card section. I changed the condition test of Tender.Descriptor.TenderType to tenderOther and the code seems to execute. I get a <Picture> token not recognized error. I am not getting the authorization either. My assumption is that Session.Variable6 is the auth info and Session.Variable7 is the signature file name. Here is XML for the Credit card section which is the problem. Below it is the WORKING Transaction Totals section with the information I need. Obviously I am missing something in the XML or about how the Session variables work. Any help would be greatly appreciated!
============================= SUB: PrintCreditCard ============================= --> <SUB name="PrintCreditCardSlip"> <IF> <CONDITION> ShowCCSignature & (Transaction.Type <> transactionAbortedTransaction) </CONDITION> <THEN> <FOR each="tender"> <IF> <CONDITION> (Tender.AmountIn <> 0 | Tender.AmountOut <> 0) & (Tender.Descriptor.RequireSig | Tender.Descriptor.TenderType = tenderCreditCard) </CONDITION> <THEN> <CALL> "PrintHeader" </CALL> <!-- show transaction date/time/number --> <TABLE> <BORDER> tbNone </BORDER> <FONT> "Small" </FONT> <COLUMNHEADER> <ALIGNMENT> "<~" </ALIGNMENT> <WIDTH> PageWidth * 0.50 </WIDTH> <TEXT> "" </TEXT> </COLUMNHEADER> <COLUMNHEADER> <ALIGNMENT> "<~" </ALIGNMENT> <WIDTH> PageWidth * 0.50 </WIDTH> <TEXT> "" </TEXT> </COLUMNHEADER> <IF> <CONDITION> Transaction.ReceiptReferenceNumber </CONDITION> <THEN> <ROW> Transaction.ReceiptReferenceNumberCaption ":|" Transaction.ReceiptReferenceNumber </ROW> </THEN> </IF> <ROW> Transaction.ReceiptTransactionNumberCaption ":|" Transaction.ReceiptTransactionNumber </ROW> <IF> <CONDITION> Len(Customer.AccountNumber) </CONDITION> <THEN> <ROW> "Account #:|" Customer.AccountNumber </ROW> </THEN> </IF> <ROW> "Date: " Transaction.Date "|Time: " Transaction.Time </ROW> <ROW> "Cashier: " Cashier.Number "|Register #: " Register.Number </ROW> <ROW/> </TABLE> <SET name="SigAmountOut" type="vbcurrency"> Tender.AmountOut * -1.0 </SET> <TABLE> <BORDER> tbNone </BORDER> <FONT> "Small" </FONT> <COLUMNHEADER> <ALIGNMENT> ">" </ALIGNMENT> <WIDTH> PageWidth </WIDTH> </COLUMNHEADER> <IF><CONDITION> Tender.Descriptor.TenderType = tenderOther </CONDITION> <THEN> <ROW> Session.Variable6 </ROW> </THEN> </IF> </TABLE> <IF><CONDITION> LEN(Session.Variable7) </CONDITION> <THEN> <PICTURE> <FILENAME> Session.Variable7 </FILENAME> <!-- <TOP> PaperHeight - MarginBottom - 1.15 </TOP> --> <WIDTH> PageWidth * .65 </WIDTH> <LEFT> MarginLeft + .4 </LEFT> <HEIGHT> .85 </HEIGHT> </PICTURE> <TABLE> <BORDER> tbNone </BORDER> <FONT> "Small" </FONT> <COLUMNHEADER> <ALIGNMENT> "<~" </ALIGNMENT> <WIDTH> PageWidth </WIDTH> </COLUMNHEADER> <ROW> "X__________________________________" </ROW> <ROW> "I AGREE TO PAY ABOVE TOTAL AMOUNT" </ROW> <ROW> "ACCORDING TO CARD ISSUER AGREEMENT" </ROW> <ROW></ROW> <ROW></ROW> </TABLE> </THEN> </IF> <CALL> "PrintFooter" </CALL> <NEWPAGE> <PAPERCUTPERCENT> CCPaperCutPercent </PAPERCUTPERCENT> </NEWPAGE> </THEN> </IF> </FOR> </THEN> </IF> </SUB> <!-- <!-- ============================= Transaction Totals ============================= --> <IF> <CONDITION> Transaction.Type <> transactionDrop & Transaction.Type <> transactionPayout & Transaction.Type <> transactionNoSale & Transaction.Type <> transactionAccountPayment </CONDITION> <THEN> <IF> <CONDITION> Transaction.Type <> transactionAbortedTransaction </CONDITION> <THEN> <TABLE> <FONT> "Small" </FONT> <BORDER> tbNone </BORDER> <COLUMNHEADER> <ALIGNMENT> ">~" </ALIGNMENT> <WIDTH> PageWidth * 0.72 </WIDTH> </COLUMNHEADER> <COLUMNHEADER> <ALIGNMENT> ">~" </ALIGNMENT> <WIDTH> PageWidth * 0.28 </WIDTH> <TEXT> "=================" </TEXT> </COLUMNHEADER> <ROW> "Sub Total|" Transaction.SubTotal </ROW> <IF> <CONDITION> ShowTaxDetails </CONDITION> <THEN> <FOR each="SalesTaxes"> <IF> <CONDITION> Transaction.SalesTaxes.ShowOnReceipt & Transaction.SalesTaxes.IsTransactionMember </CONDITION> <THEN> <ROW> Transaction.SalesTaxes.Description "|" Transaction.SalesTaxes.Total </ROW> </THEN> </IF> </FOR> </THEN> <ELSE> <ROW> "Sales Tax|" Transaction.SalesTax </ROW> </ELSE> </IF> <IF> <CONDITION> Shipping.Charge </CONDITION> <THEN> <ROW> Shipping.Carrier "|" Shipping.Charge </ROW> <ROW> Shipping.Service "|" </ROW> <ROW> Shipping.TrackingNumber "|" </ROW> </THEN> </IF> <IF> <CONDITION> Transaction.DebitSurcharge </CONDITION> <THEN> <ROW> "Debit Surcharges|" Transaction.DebitSurcharge </ROW> </THEN> </IF> <IF> <CONDITION> Transaction.CashBackSurcharge </CONDITION> <THEN> <ROW> "Cash Back Surcharges|" Transaction.CashBackSurcharge </ROW> </THEN> </IF> <ROW> "Total|" Transaction.Total </ROW> <ROW></ROW> <IF> <CONDITION> (Transaction.TotalDue <> Transaction.Total) </CONDITION> <THEN> <ROW> "Deposit Payment|" Transaction.Deposit </ROW> <ROW> "Total Purchased|" Transaction.TotalPurchased </ROW> <ROW> "Total Due|" Transaction.TotalDue </ROW> <ROW></ROW> </THEN> </IF> <FOR each="tender"> <IF> <CONDITION> Tender.AmountIn <> 0 | Tender.AmountInRounding <> 0 </CONDITION> <THEN> <IF> <CONDITION> Tender.Descriptor.TenderType = tenderAccount </CONDITION> <THEN> <ROW> Tender.Descriptor.Description "|" Tender.AmountIn </ROW> </THEN> <ELSE> <IF> <CONDITION> ShowTipLine </CONDITION> <THEN> <ROW> Tender.Descriptor.Description " Tendered|"</ROW> </THEN> <ELSE> <ROW> Tender.Descriptor.Description " Tendered|" Tender.AmountIn </ROW> </ELSE> </IF> </ELSE> </IF> <IF> <CONDITION> Tender.Descriptor.TenderType = tenderCreditCard | Tender.Descriptor.TenderType = tenderDebitCard </CONDITION> <THEN> <ROW> "Card: " Tender.AccountNumberMasked "|" </ROW> <ROW> "Auth: " Tender.ApprovalCode "|" </ROW> </THEN> </IF> <IF> <CONDITION> Tender.Descriptor.TenderType = tenderVoucher </CONDITION> <THEN> <ROW> "Number:" Tender.VoucherNumber "|" </ROW> <ROW> "Previous Balance|" Tender.VoucherPreviousBalance </ROW> <ROW> "New Balance|" Tender.VoucherNewBalance </ROW> <ROW></ROW> </THEN> </IF> <IF> <CONDITION> (Tender.Descriptor.TenderType = tenderAccount) & ShowAccountBalance </CONDITION> <THEN> <SET name="NewAccountBalance" type="vbcurrency"> Customer.AccountBalance + Tender.AmountIn - Tender.AmountOut </SET> <ROW> "Previous Balance|" Customer.AccountBalance </ROW> <ROW> "New Balance|" NewAccountBalance </ROW> <ROW></ROW> </THEN> </IF> <IF> <CONDITION> Tender.AmountInRounding <> 0 </CONDITION> <THEN> <ROW> "Roundoff " Tender.Descriptor.Description "|" Tender.AmountInRounding </ROW> </THEN> </IF> </THEN> </IF> </FOR> <IF> <CONDITION> Transaction.TotalTenderOut </CONDITION> <THEN> <FOR each="tender"> <IF> <CONDITION> Tender.AmountOut <> 0 | Tender.AmountOutRounding <> 0 </CONDITION> <THEN> <IF> <CONDITION> ShowTipLine</CONDITION> <THEN> <ROW> "" </ROW> </THEN> <ELSE> <ROW> "Change " Tender.Descriptor.Description "|" Tender.AmountOut </ROW> </ELSE> </IF> <IF> <CONDITION> Tender.Descriptor.TenderType = tenderCreditCard | Tender.Descriptor.TenderType = tenderDebitCard </CONDITION> <THEN> <ROW> "Card: " Tender.AccountNumberMasked "|" </ROW> <ROW> "Auth: " Tender.ApprovalCode "|" </ROW> </THEN> </IF> <IF> <CONDITION> (Tender.Descriptor.TenderType = tenderAccount) & ShowAccountBalance </CONDITION> <THEN> <SET name="NewAccountBalance" type="vbcurrency"> Customer.AccountBalance + Tender.AmountIn - Tender.AmountOut </SET> <ROW> "Previous Balance|" Customer.AccountBalance </ROW> <ROW> "New Balance|" NewAccountBalance </ROW> <ROW></ROW> </THEN> </IF> <IF> <CONDITION> Tender.AmountOutRounding <> 0 </CONDITION> <THEN> <ROW> "Roundoff " Tender.Descriptor.Description "|" Tender.AmountOutRounding </ROW> </THEN> </IF> <IF> <CONDITION>TENDER.DESCRIPTOR.TENDERTYPE = tenderVoucher</CONDITION> <THEN> <ROW> Tender.Descriptor.TenderItemLookupCode ":" TENDER.VOUCHERNUMBER "|" </ROW> <ROW> "Previous Balance|" Tender.VoucherPreviousBalance </ROW> <ROW> "New Balance|" Tender.VoucherNewBalance </ROW> <ROW></ROW> </THEN> </IF> </THEN> </IF> </FOR> </THEN> <ELSE> <ROW> "Change Due|" Transaction.TotalTenderOut </ROW> </ELSE> </IF> <IF> <CONDITION> (Transaction.TotalDue <> Transaction.Total) </CONDITION> <THEN> <ROW></ROW> <ROW> "Remaining Deposit|" Transaction.DepositTotal </ROW> <ROW> "New Balance|" Transaction.OrderBalanceNew </ROW> </THEN> </IF> <ROW></ROW> <IF> <CONDITION> ShowTipLine </CONDITION> <THEN> <ROW> "" </ROW> <ROW> "Tip:|__________" </ROW> <ROW> "" </ROW> <ROW> "Total:|__________" </ROW> </THEN> </IF> </TABLE> <TABLE> <BORDER> tbNone </BORDER> <FONT> "Small" </FONT> <COLUMNHEADER> <ALIGNMENT> ">" </ALIGNMENT> <WIDTH> PageWidth </WIDTH> </COLUMNHEADER> <IF><CONDITION> Tender.Descriptor.TenderType = tenderOther </CONDITION> <THEN> <ROW> Session.Variable6 </ROW> </THEN> </IF> </TABLE> <IF><CONDITION> LEN(Session.Variable7) </CONDITION> <THEN> <PICTURE> <FILENAME> Session.Variable7 </FILENAME> <!-- <TOP> PaperHeight - MarginBottom - 1.15 </TOP> --> <WIDTH> PageWidth * .65 </WIDTH> <LEFT> MarginLeft + .4 </LEFT> <HEIGHT> .85 </HEIGHT> </PICTURE> <TABLE> <BORDER> tbNone </BORDER> <FONT> "Small" </FONT> <COLUMNHEADER> <ALIGNMENT> "<~" </ALIGNMENT> <WIDTH> PageWidth </WIDTH> </COLUMNHEADER> <ROW> "X__________________________________" </ROW> <ROW> "I AGREE TO PAY ABOVE TOTAL AMOUNT" </ROW> <ROW> "ACCORDING TO CARD ISSUER AGREEMENT" </ROW> <ROW></ROW> <ROW></ROW> </TABLE> </THEN> </IF> </THEN> <ELSE> <TABLE> <FONT> "Small" </FONT> <BORDER> tbNone </BORDER> <COLUMNHEADER> <ALIGNMENT> "<~" </ALIGNMENT> <WIDTH> PageWidth </WIDTH> </COLUMNHEADER> <ROW></ROW> <ROW> "Transaction cancelled..." </ROW> <ROW></ROW> <ROW></ROW> </TABLE> </ELSE> </IF> </THEN> </IF> </SUB>
*This post is locked for comments