Transaction Requests and Responses for pay at table

This section lists the typical transaction requests to EVTRequest Server and responses from the Hospitality Server.

The response message can vary according to the circumstances of the transaction, and not all fields shown in the example will be returned at all times.

Examples for different transaction types:

Non transaction type specific examples:

Transaction Type Examples

Sale

Request:

Copied!
1=REF_1
2=0
3=12
97=2
99=0

Response Without Gratuity:

Copied!
7=01012004
29=A0000000043060
6=MP92  v20
5=679999XXXXXXXXX0927
4=010687
14=2
1=5
22=Kensington & Chelsea 2 EN4 8QZ
12=21249872
23=Royal Borough
28=PGTR500863241
13=22980012
8=07122017
3=1
21=1
9=130459
2=0
34=PLEASE DEBIT MY ACCOUNT
33=PLEASE KEEP THIS RECEIPT FOR YOUR RECORDS
36=36
37=0101
38=1200
41=0
30=1
31=E8 00
32=42 40 00 80 00
97=2
60=009
98=REF_1
99=0

Response With Gratuity:

Copied!
7=30121899
6=Visa
5=454305XXXXXX6721
4=0B70E3
14=1
1=2
22=Kensington & Chelsea 2 EN4 8QZ
12=21249872
23=Royal Borough
28=PGTR500843239
13=22980012
8=06122017
3=1
21=1
9=154337
2=0
34=PLEASE DEBIT MY ACCOUNT
33=PLEASE KEEP THIS RECEIPT FOR YOUR RECORDS
36=27
37=0101
38=1400
40=200
41=0
97=2
60=004
98=REF_1
99=0

Refund

Request:

Copied!
1=REF_2
2=20
3=12
97=2
99=0

Response:

Copied!
7=30121899
6=Visa
5=454305XXXXXX6721
4=12063
14=8
1=2
22=Kensington & Chelsea 2 EN4 8QZ
12=21249872
23=Royal Borough
28=PGTR500844888
13=22980012
8=06122017
3=2
21=5
9=160534
2=20
34=PLEASE CREDIT MY ACCOUNT
33=PLEASE KEEP THIS RECEIPT FOR YOUR RECORDS
36=31
37=0101
38=1200
41=0
97=2
60=004
98=REF_2
99=0

Cancel

The Cancel request can be used to stop previously authorised transaction from being charged to the card. The Cancel request is only successful if the transaction is not yet settled by the Worldpay Total central service.

Request:

Copied!
1=REF_5
2=3
5=679999XXXXXXXXX0927
6=0101
13=PGTR500863244
97=1
99=0

Response:

Copied!
1=0
13=22980012
3=1
2=3
41=0
97=1
98=REF_5
99=0

Sale with Invoice Content

The new field (98) supports invoice content that should be within delimiter parameters {invoice content}.

Request:

Copied!
1=2213
2=0
3=10.99
98= {Demo Store
----------
www.worldpaydemo.com
0125678906
123 Demo Street,
London
----------------
Receipt/ Tax Invoice
INV#:INV0001
Date#:2017-06-26
Time#:15:00:11
1 Rice GBP10.23
1 Veg B GBP17.23
------------
Sub T GBP27.46
------------
Tax GBP2.12
==============
Total GBP29.48
Cash GBP10.00
==============
TO PAY GBP19.48}
97=56
99=0

Invoice content should not contain these characters:

& < > ; !

Note: Currently currency sign is not supported with invoice content.

Cash at Table

This request is same as sale request for card payments. Receipts (merchant and customer) is different from card payment as it contains 'cash tender amount' and 'Total sale amount'.

Request:

Copied!
1=12
2=0
3=35
97=4
99=0

Response:

Copied!
5=000000XXXXXX0000
1=21
22=Kensington & Chelsea 2 EN4 8QZ
12=21249872
23=Royal Borough
13=22980012
8=13112017
3=2
21=1
9=090312
2=0
36=134
38=3500
41=0
97=4
98=12
99=0

Merchant receipt:

Copied!
MERCHANT RECEIPT
ROYAL BOROUGH
KENSINGTON & CHELSEA 2 EN4 8QZ
13/11/2017 09:03:12
RECEIPT NO.:134
TABLE : 4
MID:21249872 TID:22980012
XXXX XXXX XXXX 0000
CASH
SALE TOTAL GBP35.00
CASH TENDER GBP50.00
CHANGE GBP15.00
PLEASE KEEP THIS RECEIPT FOR YOUR
RECORDS

Customer receipt:

Copied!
CUSTOMER RECEIPT
ROYAL BOROUGH
KENSINGTON & CHELSEA 2 EN4 8QZ
13/11/2017 09:03:12
RECEIPT NO.:134
TABLE : 4
MID:XXX49872 TID:XXXX0012
XXXX XXXX XXXX 0000
CASH
SALE TOTAL GBP35.00
CASH TENDER GBP50.00
CHANGE GBP15.00
PLEASE KEEP THIS RECEIPT FOR YOUR
RECORDS

Card not Present

Card not present (CNP) refers to a purchase a consumer makes without physically presenting his or her credit or debit card at the time of purchase.

Card not present required following details to perform transaction:

  • CARD NUMBER

  • EXPIRY DATE

  • CVV

  • ADDRESS

  • ZIP CODE/ POST CODE

CNP transaction input values like card number, ADDRESS, and ZIP CODE/POST CODE are provided through PED.

Limitations and Known Facts with CNP Mode:

  • CNP transaction are support only in no table mode. (Pay Now option from PED)

  • Split transaction is not supported in CNP.

  • Gratuity and donation not supported with CNP transactions.

  • When no AVS rules is configured (AVS details mandatory & Apply AVS confirmation rules both are ) the application ask for address after key in card details .

  • Alphanumeric input values are accepted by the PED for Address and Postcode.

  • When both checkboxes (AVS Details Mandatory & Apply AVS Confirmation Rules) are unchecked, then application prompts to enter address details after key in card details.

CNP sale request:

Copied!
1=1
2=0
3=12
101=INST1
12=1
99=0

CNP sale response:

Copied!
101=INST1
7=30121899
6=Mastercard
5=545454XXXXXX5454
4=000333
14=7
1=81
22=Kinetic Business Centre Theobald Street Elstree , WD6 4PJ
12=79808991
23=YESpay Global Payments Agent
28=PGTR500958935
13=22980071
8=27022018
3=1
21=3
9=160538
2=0
34=PLEASE DEBIT MY ACCOUNT
33=PLEASE KEEP THIS RECEIPT FOR YOUR RECORDS
35=222800
36=177
37=0101
38=1200
41=0
61=500001160708AB130
59=0000000000000000000000000000000000000000
60=005
98=1
99=0

CNP refund request:

Copied!
1=2214
2=20
3=12
12=1
101=INST1
99=0

CNP refund response:

Copied!
101=INST1
7=30121899
6=Mastercard
5=545454XXXXXX5454
4=12063
14=7
1=81
22=Kinetic Business Centre Theobald Street Elstree , WD6 4PJ
12=79808991
23=YESpay Global Payments Agent
28=PGTR500958939
13=22980071
8=27022018
3=2
21=5
9=160834
2=20
34=PLEASE CREDIT MY ACCOUNT
33=PLEASE KEEP THIS RECEIPT FOR YOUR RECORDS
36=179
37=0101
38=1200
41=0
60=005
98=2214
99=0

CNP cancel request:

Copied!
1=2214
2=3
5=545454XXXXXX5454
6=0101
13=PGTR500958935
101=INST1
99=0

CNP cancel response:

Copied!
101=INST1
1=0
13=22980071
3=1
2=3
41=0
98=2214
99=0

Non transaction type specific examples

Transaction Polling

Transaction polling can be used to retrieve output responses of previous transactions in case they have not been deleted from the queue.

Request:

Copied!
1=REF_POLL_REQUEST
2=40
3=12.00
97=2
99=0

Response:

Copied!
7=30121899
6=Maestro
5=679999XXXXXXXXX0927
4=12063
14=8
1=2
22=Kensington & Chelsea 2 EN4 8QZ
12=21249872
23=Royal Borough
28=PGTR500863243
13=22980012
8=07122017
3=2
21=3
9=130834
2=20
34=PLEASE CREDIT MY ACCOUNT
33=PLEASE KEEP THIS RECEIPT FOR YOUR RECORDS
36=38
37=0101
38=1200
41=0
97=2
60=009
98=REF_2
99=0

Poll Request for Close Table

This request provides list of tables requested to be closed by operator (waiter). Hospitality application sends all tables closed in response after the last poll request. POS can send polling request to hospitality application within interval of x seconds.

This functionality is available if ‘Remote table closure’ flag is enabled from YESEFTConfig file.

Request:

Copied!
1=12
2=42
99=0

Response (No table Available):

Copied!
2=42
3=47
98=12
99=0

Response (Closed Tables Present):

Copied!
2=42
3=0
53=[12=CLOSED,10=CLOSED]
98=12
99=0

Waiter ID Validation

This request is to send result after validating ‘Waiter ID’ received in response of Poll Request for Close Table/Waiter ID from Hospitality Application (Waiter ID in attribute 105).

If 'Enable Waiter ID' flag is enabled from YESEFTConfig file then hospitality application sends 'Waiter ID' and 'Instance ID' of PED in response of 'close table polling' request. So that POS application can determine who is logged into which device at a given time.

Request from POS to poll close table/waiter ID :

Copied!
1=12
2=42
99=0

Response from hospitality application for close table polling request :

Copied!
2=4253=[12=CLOSED,366=CLOSED]  <<Field is optional and will be sent when 'remote table closure' functionality is enabled>>
105=[WAITERID1:INST1,WAITERID2:INST2] <<WAITERID1 is the value of 'Waiter ID' and 'INST1' is the value of instance ID of PED>>
98=12
99=0

POS send response after validating 'Waiter ID':

Copied!
1=13
2=42
106=[WAITERID1:VALID,WAITERID2:INVALID]
99=0

User flow diagram when POS sends 'close transaction polling' and 'validating Waiter ID' request both to Hospitality application

user_flow.png

Close Table Poll Request for Specific Tables

This request provides details for tables requested to be closed by waiter, the POS can query a specific table's status.

Request:

Copied!
1=REF_CLOSE_TABLE
2=42
76=[10,12,13]
99=0

Response (No table Closed):

Copied!
2=42
3=47
98=REF_CLOSE_TABLE
99=0

Response (Some table Closed) :

Copied!
2=42
3=0
53=[10=CLOSED,12=CLOSED]
98=REF_CLOSE_TABLE
99=0

Response (All table Closed):

Copied!
2=42
3=0
53=[10=CLOSED,12=CLOSED,13=CLOSED]
98=REF_CLOSE_TABLE
99=0

Delete Sale Request from Queue

This request enables the POS to delete payment requests with status 'PENDING' from hospitality application's queue.

SALE Request:

Copied!
1=1
2=0
3=12
97=1
99=0

DELETE FROM QUEUE Request:

Copied!
1=12
2=41
97=1
99=0

SALE Response:

Copied!
2=41
3=46
97=1
98=1
99=0

Close Transaction

This request will close transactions with status ‘PARTIALLY COMPLETE’ and ‘PENDING’ from hospitality application's queue. It will mark transactions as ‘COMPLETE’ in queue. This request is also supported for No Table transactions.

Request:

Copied!
1=222
2=43 
97=1
99=0

Response (Successfully Closed):

Copied!
2=43
3=0
97=1
98=222
99=0

Response (Transaction formerly completed):

Copied!
2=43
3=49
97=1
98=222
99=0

Response (Cancel transaction):

Copied!
2=43
3=9
97=1
98=222
99=0

Response (Transaction in progress):

Copied!
2=43
3=48
97=1
98=222
99=0

Response (Transaction not found in queue):

Copied!
2=43
3=47 
97=1
98=222
99=0

Charging a Token

Transaction type 12 can be used for charging a token. Mandatory elements required are Token Reference and amount.

Request:

Copied!
1=21
2=12
3=10.00
19=94968136710DE18
101= INST5
 ** INSTANT NO should be any numeric whole number value between 1 to 999 e.g. INST1.
99=0

Response:

Copied!
101=INST5
7=01012004
29=A0000000041010
6=MasterCard
5=541333XXXXXX0516
4=005380
14=2
1=5
22=Checknet House 153 East Barnet Road Barnet Herts EN4 8QZ
12=6818780
23=YESpay JCB Agent
28=PGTR250505819
13=22980058
8=23042018
3=1
21=4
9=181942
2=0
34=PLEASE DEBIT MY ACCOUNT
33=PLEASE KEEP THIS RECEIPT FOR YOUR RECORDS
36=4
37=0101
38=1000
41=0
30=49
31=E8 00 
32=04 00 00 80 00 
61=94968136710DE18
59=0000000000000000000000000000000000000000
60=005
98=21
99=0

Charging an Account Verification Token

Transaction type 12 can be used for charging a token. Mandatory elements required are Token Reference and amount. This functionality only works with 'No Table' transactions (Pay Now) in pay@table mode.

Request:

Copied!
1=ref_1
2=12
3=10
19=99679999117659280507
103=N
101=INST1 << ** INSTANCE NO. should be any numeric whole number value between 1 to 99 with prefix INST e.g. INST1.>>
99=0

Response:

Copied!
1=ref_1
2=12
3=10
19=99679999117659280507
103=N
101=INST1
99=0
7=30121899
6=Maestro
4=001035
1=81
22=153 Checknet House East Barnet Road Barnet , EN4 8QZ
12=21249873
23=YESpay Demo
28=PGTR500026219
13=22980018
8=10042019
3=1
21=6
9=131720
2=12
34=PLEASE DEBIT MY ACCOUNT
33=PLEASE KEEP THIS RECEIPT FOR YOUR RECORDS
36=157
38=1000
41=0
61=99679999117659280507
59=0000000000000000000000000000000000000000
98=ref_1
99=0

Refund a Token

Transaction type 13 can be used for refunding via token. A refund via token can be performed for a previously completed sale transaction or a sale performed with a token.

Mandatory elements required for the request are Amount and Token. Optionally the PGTR of the previously completed sale transaction may be provided.

When PGTR is provided, the refund is validated against the previously completed sale transaction. Multiple refunds can be performed in the referenced transaction, however the sum total of all the refunds has to be equal to or less than the sale amount.

Request:

Copied!
1=3101
2=13
3=10
13=PGTR61734250 (optional)
101=INST5
** INSTANT NO should be any numeric whole number value between 1 to 999 e.g. INST1.
19=99413733084112837780
99=0

Response:

Copied!
101=INST5 
7=30121899 
6=Visa 
4=10067 
1=81 
22=153 Checknet House East Barnet Road Barnet Herts EN4 8QZ 
12=21249872 
23=YESpay Demo 
28=PGTR100000882 
13=22980012 
8=26062018 
3=1 
21=6 
9=131656 
2=13 
34=PLEASE CREDIT MY ACCOUNT
33=PLEASE KEEP THIS RECEIPT FOR YOUR RECORDS 
36=42 
38=1000 
41=0 
61=99413733084112837780 
59=0000000000000000000000000000000000000000 
80=000000000042 
98=21210 
99=0

Cashback

When card and Merchant both are applicable to offer cashback then PED prompts for cashback offer. If the cardholder selects YES then, hospitality application sends an acknowledgment request to POS and awaits for cashback amount to be received from POS.

Timeout of receiving cashback amount is 180 secs and if amount is not received within desired time then hospitality application process transaction with original amount. If cashback amount is invalid or exceeds the maximum cashback limit then Hospitality application sends same request to POS 2 more times for correcting amount.

This functionality only works with 'No Table' transactions (Pay Now) in pay@table mode.

Request from Hospitality application :

Copied!
2=63
3= 100.00 <<  Maximum cashback amount limit.>>
101=INST1 <<  INSTANCE NO. should be any numeric whole number value between 1 to 99 with prefix INST e.g. INST1.>>
99=0

Response from POS :

Copied!
1=ref_1 <<  Transaction Reference. >>
2=64
4=50.00 <<  Cashback Amount.>>
101=INST1 << ** INSTANCE NO. should be any numeric whole number value between 1 to 99 with prefix INST e.g. INST1.>>
99=0

Sending signature verification message to POS

Hospitality application sends a signature verification message to POS on 10000 port. This functionality only works with 'No Table' transactions (Pay Now) in pay@table mode.

Request from Hospitality application :

Copied!
2=65
101=INST1 <<Instance Number should be any numeric whole number value between 1 to 99 with prefix INST>>
99=0

Response from POS :

Copied!
1=ref_1 <<  Transaction Reference. >>
1=REF
2=66
108=0 <<  0 - Accept , 1 - Reject.>>
101=INST1 << ** INSTANCE NO. should be any numeric whole number value between 1 to 99 with prefix INST e.g. INST1.>>
99=0

Transaction level configuration of Cashback, Gratuity and Donation

Merchants can control behaviour of Cashback, Gratuity and Donation at transaction level via sending below values in attribute 114 :

  • C – Representing Cashback [only applicable for 'No Table' transactions (Pay Now) in pay@table mode]
  • G – Representing Gratuity
  • D – Representing Donation
  • N - Represents merchant did not want to prompt for any one of the above

POS application can avail this functionality for respective payment configuration only if it is configured at TID/MID level.

Request from POS application :

Copied!
1=1212
2=0
3=1.1
114=CDG
101=INST1 << ** INSTANCE NO. should be any numeric whole number value between 1 to 99 with prefix INST e.g. INST1.>>
99=0

Response from Hospitality application :

Copied!
101=INST1 << ** INSTANCE NO. should be any numeric whole number value between 1 to 99 with prefix INST e.g. INST1.>>
7=01012004
29=A0000000043060
6=Maestro
5=679999XXXXXXXXX0010
4=005388
14=9
1=5
22=153 Checknet House East Barnet Road Barnet , EN4 8QZ
12=21249872
23=YESpay Demo
28=PGTR6070005848
13=22980012
8=17022020
3=1
21=2
9=164235
2=0
34=PLEASE DEBIT MY ACCOUNT
33=PLEASE KEEP THIS RECEIPT FOR YOUR RECORDS
36=168
37=1214
38=300
39=100
40=50
41=0
30=13
31=EC 00
32=08 40 80 80 00
61=99679999108643400010
59=0000000000000000000000000000000000000000
74=40
60=009
98=1212
99=0

Transaction behaviour will be according to the following rules and all other combination apart from mentioned below will be rejected by application :

Txn level attribute's (114) value in input requestResult for cashbackResult for gratuityResult for donation
CDGPrompt for Cashback if allowed from MID (Merchant estate) & card bothPrompt for Gratuity if allowed for the TID/Instance (Predefined or custom)Prompt for Donation if allowed from MID (Merchant estate)
CDPrompt for Cashback if allowed from MID (Merchant estate) & card bothDo not offer gratuityPrompt for Donation if allowed from MID (Merchant estate)
CGPrompt for Cashback if allowed from MID (Merchant estate) & card bothPrompt for Gratuity if allowed for the TID/InstanceDo not offer Donation
DGDo not offer CashbackPrompt for Gratuity if allowed for the TID/Instance (Predefined or custom)Prompt for Donation if allowed from MID (Merchant estate)
CPrompt for Cashback if allowed from MID (Merchant estate) & card bothDo not offer gratuityDo not offer Donation
DDo not offer CashbackDo not offer gratuityPrompt for Donation if allowed from MID (Merchant estate)
GDo not offer CashbackPrompt for Gratuity if allowed for the TID/Instance. (Predefined or custom)Do not offer Donation
NDo not offer CashbackDo not offer gratuityDo not offer Donation

Fixed Gratuity

Merchants can send a fixed gratuity amount as a part of the sale transaction in attribute 115. The maximum value allowed for fixed gratuity is 9999.99. POS application must send value ‘G’ in attribute 114 of input requests along with attribute 115 which represents the gratuity amount to process this transaction.

POS application can avail this functionality irrespective of the gratuity configuration at TID level. This functionality only works with 'No Table' transactions (Pay Now) in pay@table mode.

Request from POS application :

Copied!
1=1212
2=0
3=2
114=G
115=1
101=INST1 << ** INSTANCE NO. should be any numeric whole number value between 1 to 99 with prefix INST e.g. INST1.>>
99=0

Response from Hospitality application :

Copied!
101=INST1 << ** INSTANCE NO. should be any numeric whole number value between 1 to 99 with prefix INST e.g. INST1.>>
7=01012004
29=A0000000043060
6=Maestro
5=679999XXXXXXXXX0010
4=005698
14=9
1=5
22=153 Checknet House East Barnet Road Barnet , EN4 8QZ
12=21249872
23=YESpay Demo
28=PGTR6070005905
13=22980012
8=18022020
3=1
21=1
9=122009
2=0
34=PLEASE DEBIT MY ACCOUNT
33=PLEASE KEEP THIS RECEIPT FOR YOUR RECORDS
36=170
37=1214
38=300
40=100
41=0
30=13
31=EC 00
32=08 40 80 80 00
61=99679999108643400010
59=0000000000000000000000000000000000000000
60=009
98=1212
99=0

Transaction behaviour will be according to the following rules and all other combination apart from mentioned below will be rejected by application :

Txn level attribute's (114) in input requestFixed gratuity attribute's (115) value in input requestResult for cashbackResult for gratuityResult for donation
CDGNumber format 9999.99Prompt for Cashback if allowed from MID (Merchant estate) & card bothDisplay new gratuity screen before donation prompt if allowed from MID (Merchant estate) otherwise display new gratuity screen before card tap that display:
1. Sale amount
2. Gratuity amount
3. Total amount (Gratuity + sale)
as an information to the cardholder
Prompt for Donation if allowed from MID (Merchant estate)
CGNumber format 9999.99Prompt for Cashback if allowed from MID (Merchant estate) & card bothDisplay new gratuity screen before card tap that display:
1. Sale amount
2. Gratuity amount
3. Total amount (Gratuity + sale)
as an information to the cardholder
Do not offer Donation
DGNumber format 9999.99Do not offer CashbackDisplay new gratuity screen before donation prompt if allowed from MID (Merchant estate) otherwise display new gratuity screen before card tap that display:
1. Sale amount
2. Gratuity amount
3. Total amount (Gratuity + sale)
as an information to the cardholder
Prompt for Donation if allowed from MID (Merchant estate)
GNumber format 9999.99Do not offer CashbackDisplay new gratuity screen before card tap that display:
1. Sale amount
2. Gratuity amount
3. Total amount (Gratuity + sale)
as an information to the cardholder
Do not offer Donation

Updating payment request/billing items :

Merchants can update sale requests that already exists in the Hospitality queue via sending attribute '113' with value 'U' in input request.

Merchants can update payment requests in queue with status ‘Partially complete’ and ‘Pending’. Billing items (attribute 98) and sale amount (attribute 3) both can be updated using this functionality.

Request from POS application :

Copied!
1=REF_123
2=0
113=U
3=14
97=2
99=0

Response from Hospitality application :

Copied!
7=01072009
29=A0000000032010
6=ELECTRON DE VISA
5=476173XXXXXX0010
4=06969E
14=1
1=5
22=153 Checknet House East Barnet Road Barnet , EN4 8QZ
12=21249873
23=YESpay Demo
28=PGTR6070005935
13=22980018
8=18022020
3=1
21=1
9=145432
2=0
34=PLEASE DEBIT MY ACCOUNT
33=PLEASE KEEP THIS RECEIPT FOR YOUR RECORDS
36=1
37=1222
38=1400
41=0
30=1
31=E8 00
32=02 00 00 80 00
97=2
61=99476173085340560010
59=0000000000000000000000000000000000000000
60=004
98=REF_123
99=0