ZAPPER
Version 1.2
August 2016
Pascal Kimmel
Author: Pascal Kimmel | Version 1.2 | 16/8/2016 | Page 1 / 8
TABLE OF CONTENTS
Introduction ............................................................................................................................................................ 3
Terms .................................................................................................................................................................. 3
Scenarios ............................................................................................................................................................. 3
Configuration .......................................................................................................................................................... 5
Backoffice ............................................................................................................................................................ 5
Enable TPAPI ....................................................................................................................................................... 5
Adding the Bills Handler Driver ........................................................................................................................... 6
QR code commands for Bixolon printers ............................................................................................................ 7
Testing ..................................................................................................................................................................... 8
Logging .................................................................................................................................................................... 8
Cancel Zapper payment .......................................................................................................................................... 8
Author: Pascal Kimmel | Version 1.2 | 16/8/2016 | Page 2 / 8
INTRODUCTION
Zapper allows to pay the bill using a mobile phone with special Zapper application by reading a QR code printed
on check (proforma).
TERMS





QR code
 Special kind 2D of barcode printed on a check. Some POS printers still does not support them
Zapper
 3rd party solution which provides host server and mobile application, allowing to process
payments from mobile phone
Zapper Payment
 Information about certain bill is paid by Zapper payment system
Zapper Service
 Zapper web-service
UBL Zapper task
 Special process within UBL which communicates with Zapper Service and processes Zapper
payments
SCENARIOS




Check is requested by guest
 Proforma printed with QR code on it, which is needed for processing payment with Zapper
app
 See Printer Drivers to configure printer driver to print QR-codes.
Customer makes a payment by Zapper payment system
 Customer scans QR-code on a proforma with his Zapper mobile app
Automatical payment processing
 Configured on 1 only PC
 unTill listens in background for Zapper Payments which is received from Zapper Service
 unTill closes the bill automatically when payment processed successfully, and prints bill
Handling split bill functionality
 Client may choose to split bill with his Zapper app. In this case several clients may use their
Zapper apps to pay the same proforma. Example:
 Proforma total 30 euro printed
 Guest 1 clicks "Split" in his Zapper app, choose split between 3, pay for 1 - unTill
prints bill with payment "Zapper 10 euro"
 Guest 2 clicks "Split" in his Zapper app, choose split between 3, pay for 1 - unTill
prints bill with 2 x payments "Zapper 10 euro"
 Guest 3 clicks "Split" in his Zapper app, choose split between 3, pay for 1 - unTill
prints bill with 3 x payments "Zapper 10 euro", table closed
 Split bill functionality can be enabled or disabled by "Zapper Bills Handler" driver setting
called "Split bill"
 Split bill by item doesn't work because it is not implemented yet on Zapper side
Author: Pascal Kimmel | Version 1.2 | 16/8/2016 | Page 3 / 8






Reopen bill
 Not available by design. Reopen is made by Zapper operators manually by client request, we
cannot handle it automatically. That's why when you try to reopen "Zapper" payment it fails
with error in unTill.
Manual payment attempt from POS
 Zapper payment is not allowed for manual payment from POS (because requires ZapperID
and other fields to be provided by TPAPI)
Pair (Merchant Id, Site Id) is used on more than one unTill databases (installations, clients etc.)
 Each Zapper payment will be received by each database. Each database will skip the Zapper
payment if according opened bill is not found.
 To force Zapper to cancel sending a Zapper payment - list its ids at untill.ini [debug]
ZapperPaymentIdsToExpire (see below)
Any Zapper-related setting is changed at BO
 Changes are applied immediately. No restart need.
 See log messages at trace.log.
A received Zapper Payment is regarded to bill which is not yet present in the database (e.g. sync is not
completed yet or sync failure)
 The Payment will be ignored and received again next time until it is processed or forcibly
cancelled by unTill Admin
Failed to close bill (e.g. connection failure)
 The Zapper Payment will be received again
Author: Pascal Kimmel | Version 1.2 | 16/8/2016 | Page 4 / 8
CONFIGURATION
BACKOFFICE









Add a Payment type "Zapper"
Configure printer driver to print QR-codes
 See example at Printer commands for Bixolon printers
Proforma ticket must include a QR-code for Zapper:
 Add hidden dataset field "Bill / Proforma Zapper QR Code", assign identifier "qr"
 Add field "Barcode"
 Expression="qr"
 Standard: QR Code
 Size: 3
 Model: 2
 ECL: H
Bill ticket must include result fields for Zapper payment:
 "Payment / (Zapper) Customer Name"
 "Payment / (Zapper) Zapper ID" - a unique identifier of Zapper payment
Zapper bills handler driver - configured on each terminal which prints QR-codes.
There is a flag in parameters called "Process payments on this PC" which must be enabled on 1 PC
only. The same PC must have TPAPI enabled and configured.
 Use "Split bill" checkbox to allow or disallow possibility to split bills in Zapper app
Use "Restaurant Settings / Block Proforma" setting to prevent changing bill after proforma has been
printed - this is recommended by Zapper to avoid multiple proformas printed with different amount
encoded with QR-code
Restaurant Settings / Automation user - must be specified
TPAPI required in license
ENABLE TPAPI
To enable the TPAPI interface, Untill.ini must contain the following information:
[common]
soapport=3063
[TPAPI]
UntillDatabaseName=[Untill_Database_Name]
On=1
Where [Untill_Database_Name] is a short name of the unTill database, f.e. Demo.gdb
When the TPAPI settings have been changed in Untill.ini, a restart of the unTill Server is required.
Author: Pascal Kimmel | Version 1.2 | 16/8/2016 | Page 5 / 8
ADDING THE BILLS HANDLER DRIVER
Navigate to Common Data - Hardware - Computers and open the properties of the PC. On the second tab (2
Devices) add a new device:
Enter the Merchant Id and the Site Id. When this PC is responsible for processing the Zapper payments, enable
the checkbox “Process payments on this PC” and click Ok to confirm. At this point, a verification code will be
sent which needs to be entered at the “Verification Code” field:
Enter the verification code and click Ok to save the settings.
Author: Pascal Kimmel | Version 1.2 | 16/8/2016 | Page 6 / 8
QR CODE COMMANDS FOR BIXOLON PRINTERS
Command description
Command
QR code data
029/040/107/lo(s+3)/hi(s+3)/049/080/048/n
QR code error correctil level L
029/040/107/003/000/049/069/048
QR code error correctil level M 029/040/107/003/000/049/069/049
QR code error correctil level Q 029/040/107/003/000/049/069/050
QR code error correctil level H 029/040/107/003/000/049/069/051
QR code size
029/040/107/003/000/049/067/n
QR code model 1
029/040/107/004/000/049/065/049/000
QR code model 2
029/040/107/004/000/049/065/050/000
QR code print
029/040/107/003/000/049/081/048
Author: Pascal Kimmel | Version 1.2 | 16/8/2016 | Page 7 / 8
TESTING
When using a Test Merchant, please add the following card in the Zapper app to test the integration:
LOGGING



trace.log
 UBL Zapper service ready or not (logged once)
 Payment cannot be processed due of various reasons (payment is processed already, bill is
closed already and so on)
 Zapper connection restored\failed (logged once)
misc.log
 Common log of Zapper payment processing workflow
except.log
 Payment processing errors
CANCEL ZAPPER PAYMENT
If a Zapper payment sending need to be forcibly cancelled then list its ID(’s) in the list below in Untill.ini. Zapper
Payments ID’s could be found in misc.log
[debug]
ZapperPaymentIdsToExpire=123, 456, 789
Author: Pascal Kimmel | Version 1.2 | 16/8/2016 | Page 8 / 8
Download PDF
Similar pages