Pay at Table Post Payment message

In this section you will learn how to process a Pay at Table Post Payment message

Pay at Table Post Payment Overview

The Pay at Table Post Payment message enables the results of the payment taken on an allocated wireless Pin Entry Device to be sent to the merchant system.

🚧

Key points for a Post Payment

  • The merchant system is responsible for storing and keeping track of this data

  • The merchant system is responsible for closing a Check once the outstanding balance had been successfully completed

How to process a PayAtTablePostPaymentRequest message

ANYpay POS sends a PayAtTablePostPaymentRequest message to the merchants system once a payment has been processed on an allocated Wireless PIN Entry Device.

Section PayAtTablePostPaymentRequest Element describes the elements required to build a PayAtTablePostPaymentRequest message.

An example of a PayAtTablePostPaymentRequest message can be seen below.

<?xml version="1.0" encoding="utf-16"?>
<PayAtTablePostPaymentRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://servebase.com/2009/06/pedframework">
  <CheckNumber>1001</CheckNumber>
  <TableNumber></TableNumber>  
  <TransactionType>Sale</TransactionType>
  <TransactionAmount Currency="GBP">40.00</TransactionAmount>
  <GratuityAmount Currency="GBP">10.00</GratuityAmount>
  <TransactionDateTime>2018-01-01 12:15:48<TransactionDateTime>
  <CaptureMethod requiresSignature="True">Icc<CaptureMethod>
  <CardNumber>444433******1111</CardNumber>
  <ExpiryDate year="10" month="8" />
  <TokenisedCardNumber>9999338965961111</TokenisedCardNumber>
  <CardScheme code="VIS" creditDebitIndicator="CREDIT">Visa</CardScheme>
  <MerchantId>21000000</MerchantId>
  <TerminalId>200000000</TerminalId>
  <AuthorityCode>096392</AuthorityCode>
  <SessionId>22f643e3-21ce-409e-a1d3-1bc67349e8c2</SessionId>
</PayAtTablePostPaymentRequest>

How to respond with a PayAtTablePostPaymentResponse message

The merchant system returns a PayAtTablePostPaymentResponse message which reports the processing status of the PayAtTablePostPaymentRequest message including the Itemized Receipt information that is to be printed on an allocated Wireless PIN Entry Device.

❗️

Key elements of a PayAtTablePostPaymentResponse message

  • Failure to successfully process and / or store the PayAtTablePostPaymentRequest MUST result in a ResponseCode of Error and a valid FaultResponseCode being returned.

  • If a ResponseCode of Error is returned AND the ReversePostPaymentFailure flag is enabled for the merchant then a Reversal will be invoked to cancel the transaction.

Section PayAtTablePostPaymentResponse Element describes the elements required to build a PayAtTablePostPaymentResponse message.

An example of a PayAtTablePostPaymentResponse message can be seen below.

<?xml version="1.0" encoding="utf-16"?>
<PayAtTablePostPaymentResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://servebase.com/2009/06/pedframework">
  <ResponseCode>Success</ResponseCode>
  <FaultResponseCode>0</FaultResponseCode>
  <ResponseMessage>Success</ResponseMessage>
  <OutstandingBalanceAmountDue>100.00</OutstandingBalanceAmountDue>
  <ReceiptPrintData>
    <Line><Text align="center" bold="true" size="Large">PXP Demo</Text></Line>
    <Line><Text align="center">05/05/2018 15:34</Text></Line>
    <Line><Text align="center">VAT: 123 456 789</Text></Line>
    <Line><Text align="left">----------------------------</Text></Line> 
    <Line><Text align="left" size="Medium">CHECK 1001</Text></line>
    <Line><Text align="left">----------------------------</Text></Line>
    <Line><Text align="left">1 Turkey Burger       £10.00</Text></Line>
    <Line><Text align="left">2 Fries               £10.00</Text></Line>
    <Line><Text align="left">----------------------------</Text></Line>
    <Line><Text align="left">Net Total:            £20.00</Text></Line>
    <Line><Text align="left">VAT @ 20%             £24.00</Text></Line>
    <Line><Text align="left">Total                 £24.00</Text></Line>        
    <Line><Text align="left">Mastercard            £24.00</Text></Line>
    <Line><Text align="left">------- Check Closed -------</Text></Line>
    <Line><Text align="center">Thank You for your custom</Text></Line>
  </ReceiptPrintData>
</PayAtTablePostPaymentResponse>
<?xml version="1.0" encoding="utf-16"?>
<PayAtTablePostPaymentResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://servebase.com/2009/06/pedframework">
  <ResponseCode>Error</ResponseCode>
  <FaultResponseCode>3</FaultResponseCode>
  <ResponseMessage>Unable to close check 1001</ResponseMessage>
</PayAtTablePostPaymentResponse>
<?xml version="1.0" encoding="utf-16"?>
<PayAtTablePostPaymentResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://servebase.com/2009/06/pedframework">
  <ResponseCode>Error</ResponseCode>
  <FaultResponseCode>7</FaultResponseCode>
  <ResponseMessage>General Error</ResponseMessage>
</PayAtTablePostPaymentResponse>