Print Request Message (Tran Type 36-45)

The Print Request message allows devices with integrated printers running the standard (non-Pay@Table) Simplify application to print receipts. Simplify will accept a Print Request message when the PIN Pad is in the Closed/Idle state. For all other states, the Simplify response will indicate that Simplify is busy (field 5110 = 2).

Maximum overall message size is 4K bytes, including all formatting and function characters.

Print data is sent in fields 5107 (Receipt 1) and 5108 (Receipt 2). ). Text must be sent in blocks of no more than 58 bytes. ASCII characters 127-255 can be printed using UTF-8 encoding. See Format table for Fields 5107/5108 for details.

The Print Request message is currently supported on Move 5000 PIN Pads.

5107/5108 Format (Request)

Note: terms enclosed by brackets ([ ]) below are not meant to be taken literally.

API Field #Description
5107Receipt 1 encoding flag (optional), commands and print data
Formatting rules are as follows:
  • A flag can be sent at the start of this field to indicate ISO8859-1 or UTF8 encoding. If present, flag must be followed by # as delimiter.
    • 0 - ISO8859-1 (default)
    • 1 – UFT8
  • Print data must be formatted as follows:
    [FORMAT command][print data]#
    • A FORMAT command takes the form ~~FORMATabcde#, where:<
      • a = Font (1=Monospace, 2=Ingenico proportional default)
      • b = Scale (1-7=xxSmall, xSmall, Small, Medium, Large, xLarge, xxLarge)
      • c = Style – Normal, Bold (1 - 2) (Bold supported only with Monospace)
      • d = Alignment – Left-justified, Center-justified, Right-justified (1 – 3)
      • e = Reverse – Normal, Inverted (1 - 2) (Black foreground, white background / White foreground, black background)
    • Formatting defined by a FORMAT command will be used until a new FORMAT command is sent or the print job completes.
    • [print data] consists of one or more print blocks, containing up to 58 bytes each, separated by #. Data after a # is printed on a new line (## first prints a blank line).
    • /n can be used to start a new line within a print block.
    • Use ## at the end of [print data] to print a blank line after the data.
  • ACTION commands can be included in this field. These commands take the form ~~[ACTION]#. Available ACTION commands are as follows:
    • ~~BEEP# – Calls beep command.
    • ~~EJECT# – Sends four line feeds for tear-off
    • ~~DISPLAYccc…# – Sends the specified text (ccc…) to the PIN Pad display (replaces default display for current PIN Pad state). Use /n to start new line.
    • ~~PAUSEnn# – Pauses printing for nn seconds. If no nn, pause until Enter is pressed.
    • ~~SIGNATURE# – Prints signature line.
  • Using two pound signs (##) before [print data] or at the end of an ACTION command will print a blank line before printing the data or performing the action:
    • ~~FORMATabcde##[print data]#
    • ~~[ACTION]##
5108Receipt 2 print data and commands
Same format as API 5107.

Sample Messages

Request (to demonstrate available formatting)

API Field #, ValueDescription
0001,36Transaction Type. A value of 36 indicates a Non-Financial transaction
0011,xxx..User Data. See Simplify-Controlled Field Definitions.
5107, [see value below]Receipt 1 print data and commands
(see 5107/5108 format table above)
5111, Printing ReceiptMessage displayed on PIN Pad during printing.

5107,~~FORMAT16221#SAMPLE PRINT MESSAGES#~~FORMATx41xx##Normal Style Monospace Centered#~~FORMATxx2xx#Bold Style Monospace Centered#~~FORMATxx1x2#Inverted Monospace Centered#~~FORMATxx1x1#~~BEEP##~~PAUSE#~~DISPLAYPress Enter to Continue#~~FORMAT2511x#Normal Style Proportional Left#~~FORMATxx1x2#Inverted Proportional Left#~~FORMAT14121##~~SIGNATURE#~~EJECT#

After receiving the above request, Simplify will print the following:

sample showing available formatting

Request (to print Merchant and Customer Receipts)

API Field #, ValueDescription
0001,36Transaction Type. A value of 36 indicates a Non-Financial transaction
0011,xxx..User Data See Simplify-Controlled Field Definitions.
5107,[see value below]Receipt 1 print data and commands
(see format table above)
5108,[see value below]Receipt 2 print data and commands
(see format table above)
5111, Printing ReceiptMessage displayed on PIN Pad during printing.

5107,~~DISPLAYPrinting Receipt#~~FORMAT26121#Simplify Receipt Example#~~FORMAT25121#1493 Hacienda Dr, Pleasanton##Merchant Copy#~~FORMAT15221##~~FORMAT26121#Subtotal: 26.00##~~FORMAT25111#Merchant ID : 7734#Terminal ID : TSTLA3#Card No. : XXXXXXXXXXXX0002#Expiry Date: 12/22#Card Type : VISA#Trans Type : SALE#Trans Time : 10/15/2019 08:39:31#Trace No. : refnum.#RRN : 100161000312#Auth Code : 000052##App Label : Personal Account#AID : A000000025010801#AC : 52A80ACE8E0D9CA4##AMOUNT : USD26.00#APPROVAL##~~FORMAT14121#~~SIGNATURE#~~EJECT##~~PAUSE#~~DISPLAYTear Receipt press ENTER#~~PAUSE5#

5108,~~FORMAT26121#Simplify Receipt Example#~~FORMAT25121#1493 Hacienda Dr, Pleasanton##Customer Copy###~~FORMAT25111#Merchant ID : 7734#Terminal ID : TSTLA3#Card No. : XXXXXXXXXXXX0002#Expiry Date: 12/22#Card Type : VISA#Trans Type : SALE#Trans Time : 10/15/2019 08:39:31#Trace No. : refnum.#RRN : 100161000312#Auth Code : 000052##App Label : Personal Account#AID : A000000025010801#AC : 52A80ACE8E0D9CA4##AMOUNT : USD26.00#APPROVAL##~~FORMAT25122#Thank you for your patronage#~~FORMAT25121##~~EJECT#

After receiving the above request, Simplify will print the following receipts:

sample merchant receiptsample customer receipt

Response

An example of a possible Print Request response message (from Simplify to the POS) is:

API Field #, ValueDescription
0001,36Transaction Type. A value of 36 indicates a Non- Financial transaction
0011,xxx..User Data. See Simplify-Controlled Field Definitions.
5110,00Response Code (00 = Success; 01 = Error; 02 = Busy)