Transaction requests and responses of pay at counter

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=556
2=0
3=10
107=INST1 << ** INSTANCE NO should be any numeric whole number value between 1 to 99 with prefix INST e.g. INST1.>>
99=0

Response Without Gratuity:

Copied!
107=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=MP16 v2 2
5=679999XXXXXXXXX0166
4=128177
14=2
1=5
22=153 Checknet House East Barnet Road Barnet Herts EN4 8QZ
12=21249872
23=YESpay Demo
28=PGTR1100234118
13=22980018
8=22042019
3=1
21=9
9=102757
2=0
34=PLEASE DEBIT MY ACCOUNT
33=PLEASE KEEP THIS RECEIPT FOR YOUR RECORDS
36=197
37=1225
38=1000
41=0
30=1
31=E8 00
32=02 00 00 80 00
61=99679999032002770166
59=0000000000000000000000000000000000000000
60=009
80=000000000197
98=556
99=0

Response With Gratuity:

Copied!
107=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=MP16 v2 2
5=679999XXXXXXXXX0166
4=128177
14=2
1=5
22=153 Checknet House East Barnet Road Barnet Herts EN4 8QZ
12=21249872
23=YESpay Demo
28=PGTR1100234117
13=22980018
8=22042019
3=1
21=8
9=102541
2=0
34=PLEASE DEBIT MY ACCOUNT
33=PLEASE KEEP THIS RECEIPT FOR YOUR RECORDS
36=196
37=1225
38=1200
40=200
41=0
30=1
31=E8 00
32=02 00 00 80 00
61=99679999032002770166
59=0000000000000000000000000000000000000000
60=009
80=000000000196
98=555
99=0

Refund

Request:

Copied!
1=557
2=20
3=5
107=INST1 << ** INSTANCE NO should be any numeric whole number value between 1 to 99 with prefix INST e.g. INST1.>>
99=0

Response:

Copied!
107=INST1
7=30121899
6=Maestro
5=679999XXXXXXXXX0166
4=05166
14=8
1=2
22=153 Checknet House East Barnet Road Barnet Herts EN4 8QZ
12=21249872
23=YESpay Demo
28=PGTR1100234119
13=22980018
8=22042019
3=2
21=10
9=103131
2=20
34=PLEASE CREDIT MY ACCOUNT
33=PLEASE KEEP THIS RECEIPT FOR YOUR RECORDS
36=198
37=1225
38=500
41=0
59=0000000000000000000000000000000000000000
60=009
80=000000000198
98=557
99=0

Cancel

The Cancel request can be used to stop a 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=557
2=3
5=679999XXXXXXXXX0166
6=1225
13=PGTR1100234118
107=INST1 << ** INSTANCE NO. should be any numeric whole number value between 1 to 99 with prefix INST e.g. INST1.>>
99=0

Response:

Copied!
107=INST1
1=0
13=22980018
3=1
2=3
41=0
98=557
99=0

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 are provided through PED. Following are PED input screens shots that describe CNP flow on PED.

Limitations and Known Facts with CNP Mode:

  • Gratuity not supported with CNP transactions.

  • 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=1221
2=0
3=37.95
12=1
107=INST1 << ** INSTANCE NO. should be any numeric whole number value between 1 to 99 with prefix INST e.g. INST1.>>
99=0

CNP sale response:

Copied!
107=INST1 << ** INSTANCE NO should be any numeric whole number value between 1 to 99 with prefix INST e.g. INST1.>>
7=30121899
6=MasterCard
5=545460XXXXXX6213
4=128177
14=7
1=81
22=153 Checknet House East Barnet Road Barnet , EN4 8QZ
12=21249873
23=YESpay Demo
28=PGTR1100234126
13=22980018
8=22042019
3=1
21=2
9=134218
2=0
34=PLEASE DEBIT MY ACCOUNT
33=PLEASE KEEP THIS RECEIPT FOR YOUR RECORDS
36=120
37=0220
38=3795
41=0
61=99545460137685386213
59=0000000000000000000000000000000000000000
60=005
80=000000000120
98=1221
99=0

CNP refund request:

Copied!
1=1221
2=20
3=37.95
12=1
107=INST1 << ** INSTANCE NO. should be any numeric whole number value between 1 to 99 with prefix INST e.g. INST1.>>
99=0

CNP refund response:

Copied!
107=INST1 << ** INSTANCE NO should be any numeric whole number value between 1 to 99 with prefix INST e.g. INST1.>>
7=30121899
6=MasterCard
5=545460XXXXXX6213
4=37979
14=7
1=81
22=153 Checknet House East Barnet Road Barnet , EN4 8QZ
12=21249873
23=YESpay Demo
28=PGTR1000170287
13=22980018
8=22042019
3=2
21=1
9=121849
2=20
34=PLEASE CREDIT MY ACCOUNT
33=PLEASE KEEP THIS RECEIPT FOR YOUR RECORDS
36=113
37=0220
38=3795
41=0
59=0000000000000000000000000000000000000000
60=005
80=000000000113
98=1221
99=0

CNP cancel request:

Copied!
1=1221
2=3
5=545460XXXXXX6213
6=0220
13=PGTR1100234126
107=INST1 << ** INSTANCE NO. should be any numeric whole number value between 1 to 99 with prefix INST e.g. INST1.>>
99=0

CNP cancel response:

Copied!
107=INST1 << ** INSTANCE NO should be any numeric whole number value between 1 to 99 with prefix INST e.g. INST1.>>
1=0
13=22980018
3=1
2=3
41=0
98=1221
99=0

Non transaction type specific examples

Charging a Token

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

Request:

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

Response:

Copied!
107=INST1 << ** INSTANCE NO should be any numeric whole number value between 1 to 99 with prefix INST e.g. INST1.>>
7=30121899
6=MasterCard
4=128177
1=81
22=153 Checknet House East Barnet Road Barnet , EN4 8QZ
12=21249873
23=YESpay Demo
28=PGTR1100234131
13=22980018
8=22042019
3=1
21=7
9=140136
2=12
34=PLEASE DEBIT MY ACCOUNT
33=PLEASE KEEP THIS RECEIPT FOR YOUR RECORDS
36=125
38=1000
41=0
61=99545460137685386213
59=0000000000000000000000000000000000000000
98=1221
80=001103079656
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.

Request:

Copied!
1=ref_1
2=12
3=10
19=99679999117659280507
103=N
107=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
107=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=1221
2=13
3=10
19=99545460137685386213
107=INST1 << ** INSTANCE NO. should be any numeric whole number value between 1 to 99 with prefix INST e.g. INST1.>>
99=0

Response:

Copied!
107=INST1 << ** INSTANCE NO should be any numeric whole number value between 1 to 99 with prefix INST e.g. INST1.>>
7=30121899
6=MasterCard
4=10083
1=81
22=153 Checknet House East Barnet Road Barnet , EN4 8QZ
12=21249873
23=YESpay Demo
28=PGTR1100234132
13=22980018
8=22042019
3=1
21=8
9=140244
2=13
34=PLEASE CREDIT MY ACCOUNT
33=PLEASE KEEP THIS RECEIPT FOR YOUR RECORDS
36=126
38=1000
41=0
61=99545460137685386213
59=0000000000000000000000000000000000000000
98=1221
80=000000000126
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.

The timeout for receiving cashback amount is 180 secs and if the amount is not received within time, then the transaction will be processed with the original amount. If the cashback amount is invalid or exceeds the maximum cashback limit, then the Hospitality application will send same request 2 more times to correct amount.

Request from Hospitality application :

Copied!
2=63
3= 100.00 <<  Maximum cashback amount limit.>>
107=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.>>
107=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.

Request from Hospitality application :

Copied!
2=65
107=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. >>
1=REF
2=66
108=0 <<  0 - Accept , 1 - Reject.>>
107=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
  • 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
107=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!
107=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.

Request from POS application :

Copied!
1=1212
2=0
3=2
114=G
115=1
107=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!
107=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

Get pinpad serial number

The Hospitality application has functionality to get the Pinpad serial number (PTID) of the connected PED. This is only applicable for P400 PEDs and in pay-at-counter scenarios.

The Hospitality application returns a serial number (PTID) as part of attribute '76' in response to the POS application. This serial number appears on the back of PED.

Request from POS application :

Copied!
1=12345
2=26
107=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!
107=INST1 << ** INSTANCE NO. should be any numeric whole number value between 1 to 99 with prefix INST e.g. INST1.>>
1=0
13=22980012
3=10
2=26
41=0
76=23424610
98=12345
99=0

Check Pinpad Connection

The Check pinpad connection request can be used to check the PED is connected with HPA application or not. There are only two states which are returned in the result, they are the pinpad is connected (120) and pinpad is not connected (119).

Request from POS application :

Copied!
1= ref_1
2=24
107=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!
107=INST1 << ** INSTANCE NO. should be any numeric whole number value between 1 to 99 with prefix INST e.g. INST1.>>
1=0
13=22980012
3=120
2=24
41=0
98=ref_1
99=0

X Report

The X Report returns the current transaction totals in the terminal batch in an XML format. This is an online function only. If the network is not available then the transaction will be cancelled and no report data will be returned in response.

Copied!
1=1221
2=36
107=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!
107=INST1 << ** INSTANCE NO. should be any numeric whole number value between 1 to 99 with prefix INST e.g. INST1.>>
1=0
13=22980018
2=36
41=0
19=0
18=1000
17=0
16=5
25=500004569
48=
Copied!
<BatchReport>
 <FCR>500004569</FCR>
 <ReportDate>17052019</ReportDate>
 <Report>
  <CardScheme>Visa</CardScheme>
  <CreditCount>0</CreditCount>
  <CreditTotals>0</CreditTotals>
  <DebitCount>1</DebitCount>
  <DebitTotals>1000</DebitTotals>
 </Report>
</BatchReport>

Copied!
98=1221 99=0

Z Report

The Z Report returns the current transaction totals from the terminal batch in an XML format and also closes the terminal batch. This is an online function only. If network is not available then transaction will be cancelled and no report data will be returned in response.

Copied!
1=1221
2=37
107=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!
107=INST1 << ** INSTANCE NO. should be any numeric whole number value between 1 to 99 with prefix INST e.g. INST1.>>
1=0
13=22980018
2=37
41=0
19=0
18=8000
17=0
16=5
25=500004590
48=
Copied!
<BatchReport> <FCR>500004590</FCR> <ReportDate>17052019</ReportDate> <Report> <CardScheme>Visa</CardScheme> <CreditCount>0</CreditCount> <CreditTotals>0</CreditTotals> <DebitCount>1</DebitCount> <DebitTotals>2000</DebitTotals> </Report> <Report> <CardScheme>MasterCard</CardScheme> <CreditCount>0</CreditCount> <CreditTotals>0</CreditTotals> <DebitCount>2</DebitCount> <DebitTotals>2000</DebitTotals> </Report> <Report> <CardScheme>Mastro</CardScheme> <CreditCount>0</CreditCount> <CreditTotals>0</CreditTotals> <DebitCount>2</DebitCount> <DebitTotals>4000</DebitTotals> </Report> </BatchReport>

Copied!
98=1221 99=0