Receipts
The EPAS implementation in the terminal provides the receipt contents are separate data elements, rather than as a pre-formatted block of text. The reasons for this include:
- Receipt printers are not limited to fixed-width character sets, so aligning text elements is not a simpler matter of adding spaces.
- Even if using a fixed-width font, receipt printer widths vary from device to device.
- A pre-formatted receipt does not allow for receipt elements to be printed in different fonts, e.g. larger or bold text to show the transaction type and amount.
- • Merchants may wish to use electronic receipts, and therefore need access to individual data elements rather than a pre-formatted receipt.
The terminal will issue separate receipts for the customer and merchant, where required. Each receipt is provided by a call to the PrintReceipt method.
Recommendations
The biggest challenge in receipt handling is in dealing with all the different receipt rules, layouts and contents that may occur. It is strongly recommended to study the Cardholder and Operator Interface specification (document ref 2). This document can be provided by Westpay. Section 8 of that document is dedicated to receipt layouts and contents and it is worth becoming familiar with the receipt layouts and the different factors that are involved.
Note, however, that the CHAOI specification is quite old now, and does not contain information relating to contactless card use or off-terminal transaction flows.
This section of the API specification aims to explain what data is provided and what it means. The construction of receipts, however, is beyond the scope of this document.
The ReceiptData class is provided by the EPAS Client Library, and it contains all the data required to generate a transaction receipt. Most of the data is contained in other classes. See ReceiptData class for more information.
Note: The GenerateSimpleReceipt method is intended only for development and debug purposes. The requirements on receipt contents change according to location, environment, and issuer / processor requirements. Developers using the EPAS Client Library should implement the receipt layout that is required for the situation in which the library will be used.