Integrated Receipts

You are ready to start developing your integrated receipt feature now that you have successfully configured your POS to initiate and process requests through iClient in the test environment. Before you begin, please have a look at the certification criteria, which provides a checklist of the minimum requirements for the certification of integrated receipts with Tyro.

Certification Criteria Document

warning

The receipt block returned by the iClient must be printed or stored in the POS journal without any modification.

Given below are the function definitions, example code, and interactive working demos for the integrated receipt feature.

Overview

Tyro iClient offers the ability for the POS to be able to provide an improved customer experience around EFTPOS receipt printing by allowing the POS the print the Tyro EFTPOS receipts. When initiating a transaction, the POS will pass in a JSON object with the various request parameters for the transaction, the integratedReceipt request parameter from the requestParams object of the initiatePurchase() function is used to specify the printing source.

When integratedReceipt is set to ‘false’, the Tyro Terminal will do all of the receipt printing and no receipt data will be made available to the POS.

When integratedReceipt is set to true, iClient will use the receiptCallback to return receipt data that is to be printed during the course of a transaction to the POS. When the callback is called, it will pass in a JSON object with receipt data in it, when the receiptCallback is called, this is the signal for the POS to immediately print the merchant copy contained in the object.

In some circumstances, receiptCallback will be called more than once, at the conclusion of the transaction, the transactionCompleteCallback will be called with the result of the transaction and other meta data related to the transaction. At this point a customer copy needs to be printed. Ideally, the customer copy can be added to (or embedded within) the POS sales receipt.

Specification

Parameter Definition Purpose Functions where parameter is used
integratedReceipt - Boolean (true or false) A boolean flag specifying whether integrated receipt printing is on or off. The integratedReceipt parameter is present in the requestParamsobject of the following functions, as shown in the below table.
Function Description Is Parameter Required?
initiatePurchase The function used to initiate a purchase. Required
initiateRefund The function used to initiate a refund. Required
initiateOpenTab The function used to open a tab. Required
initiateOpenPreAuth The function used to open a pre-auth. Required
info

transactionCallbacks (Object): The set of callback functions to provide feedback and the transaction result, please refer to the Transaction Callbacks section for more details.

Demo

Demo - JS Fiddle

JS Fiddle

Please don't click on the Save button if you make any changes in the JS Fiddle sample app. Instead, please press run if you have made any changes. If you click on save, it may break the functionality of the JS Fiddle.

Making the request

The POS sets the parameters that comprise the requestParams object as per the requirements of the specific transaction request, for use of the Integrated Receipt boolean the following must be set:

  • The integratedReceipt boolean to indicate whether the POS or the Tyro terminal is responsible for printing the receipts returned during the course of the transactions. Please note that the receipt data will not be returned to the POS if this is set to ‘false'.

Example

Given below is an example request for a $10.0 purchase transaction where integrated receipts are turned on i.e. the receipts are being printed through the POS printer.

The receiptCallback and the transactionCompleteCallback implementations are also specified in separate functions, these functions are formatting and printing the soft copies of the merchant and customer copies respectively.

Copy
Copied
var amount = '1000';

function doPurchase(amount) {
    iclient.initiatePurchase({
        amount: amount,
        cashout: "0",
        enableSurcharge: true,
        integratedReceipt: true
    }, {
        receiptCallback: receiptCallbackImpl,
        transactionCompleteCallback: transactionCompleteCallbackImpl
    });
}

Using Tyro Data on POS Tax invoice

Surcharging:

If you are implementing our Dynamic Surcharging feature the surcharge must be included in tax invoice so the card user is aware of the full charges to their card. The surcharge amount must be recorded as a separate line item and can be retrieved in the Transaction Complete Callback.

Tipping:

If you have implemented our Tipping feature then the same applies as with our surcharging feature. The tipping amount must be included in the tax invoice so that the card user is aware of the full charges and it must be recorded as a separate line item. Tips are optionally added by the card user and the tip amount can be retrieved from the transaction complete callback.

Tax Invoice Example

Below is an example of a tax invoice for a purchase transaction that shows a tip amount and a surcharge amount as a line item.

Tax Invoice

Dynamic Currency Conversion (DCC) receipt requirements

Dynamic Currency Conversion (DCC) receipt requirements

Dynamic Currency Conversion (DCC) allows Mastercard and Visa international cardholders to complete payment in their card’s currency with a given transparent exchange rate at the moment of the transaction. If DCC is enabled on the merchant's Tyro EFTPOS machine and a foreign currency credit card is used, the EFTPOS machine will offer the customer the choice of processing the transaction in AUD or in the card’s currency. The same rules apply to DCC receipts as normal receipts but a DCC receipt is much larger than a normal receipt (1200 characters in total) as it contains the terms-and-conditions of the DCC transaction, which must all be printed.

Please note that for Dynamic Currency Conversion transactions the following disclosures must be present in-full on the receipts printed:

  • Local transaction Amount
  • Local Currency Symbol
  • DCC transaction Amount
  • DCC Currency Symbol
  • Exchange rate
  • Commission/Fee
  • The Words "Transaction Currency"
  • Proof of the Cardholder's Choice
  • Statement indicating the Cardholder was offered a choice
  • Statement indicating who is providing DCC

All of the above information items are included in the receipt raw receipt data that is returned in the API response in the receiptCallback and the TransactionCompleteCallback. Please ensure that the entire contents of the receipt data are printed out and no part is left out, edited, and/or amended in any way.

If the integrated receipts are disabled or not developed then the customer copy for the transaction must be printed through the terminal and presented to the cardholder by the merchant.

An example of a DCC receipt is given below.

Copy
Copied
       CUSTOMER COPY       

       Merchant 99921       
       Address line 1       
       Address line 2       

        Tyro EFTPOS         

Visa
Card: XXXXXXXXXXXXX7508(s)

Purchase     AUD     $112.00

     Transaction amount     
         EUR 37.56          
       Exchange rate        
      1 AUD = 1.1 EUR       

With Dynamic currency
conversion, I have been
offered by the merchant a
choice of currencies for
payment, Australian Dollars
or my home currency. The
payment in my home currency
at the point of sale is
converted at the Pure
Commerce provided wholesale
rate including a 5% mark-up.

This Dynamic Currency
Conversion is not associated
or endorsed by VISA.

Alternatively I can pay in
Australian Dollars which is
later converted into my home
currency at a rate selected
by my issuing bank.

I understand that my
selected transaction
currency is final.

The cardholder expressly
agrees to the transaction
receipt information by
marking the accept box
below.

            [x]             

APPROVED                  00

Terminal ID: 1
Transaction Ref: 257248
Authorisation No: E73642
17 Feb 2024 at 06:40 PM
Result: APPROVED
Card type: Visa
Trans ref: 257248
Auth code: E73642
Action code: 00

Receipt Printing Efficiencies

Many merchants would like to be able to minimise the amount of paper that is wasted by printing receipts that merchants and customers don't want - particularly for businesses like quick service restaurants. Here are the rules around receipt printing and options that exist for minimising receipt printing: Minimising merchant copies

Merchants are required to keep EFTPOS receipts where a signature was needed to authorise the transaction. These receipts must be kept for 120 days in the event of a chargeback being initiated by the card holder. If a chargeback is received by us, we ask the merchant for a copy of the receipt showing the signature. For all other cases (e.g. PIN, Tap and Go etc) we do not need to ask merchants for copies of receipts unless a signature was needed. So there is no need to print unnecessary merchant receipts but be aware that many merchants still like all merchant copies to be printed so a setting in the POS for this option is preferable. Minimising customer copies

Merchants are required to provide customers with a copy of the EFTPOS receipt (or at least the option of getting a receipt). Depending on the environment, it may be suitable to add it to the end of the sales receipt and give the customer a combined sales receipt and EFTPOS receipt (much like the ones that are provided at Woolworths or Coles). In other environments, it may be worthwhile to ask the customer if they would like a copy of the EFTPOS receipt and build the question into the POS workflow. The receipt could be stored and re-printed on demand if that was appropriate.

Please refer to Transaction Callbacks for handling the response.

Copyright © Tyro Payments 2019-2022. All right reserved.