Display Information

This guide shows how to display information to your customers using the card reader screen.

Getting Started

The following Graph QL API mutations can be used to display text on the reader screen for your customers. This can be used for a range of business logic from displaying cart items, showing a shipping address confirmation (Note: you can also leverage Custom Prompts for a more automated version of this), or even a plain text welcome message.

Information Displays will not block subsequent reader interactions, meaning you can make repetitive display requests without first canceling a previous one. You can also make a requestChargeFromInStoreReader call while the reader is displaying information, and it will transition into a checkout flow.

The response of these API requests will include a contextId which can be used to cancel the information display.

Information Display requests will stay on the screen for 120 seconds or until canceled or overwritten by a subsequent reader interaction.

Request Text Display

This mutation will allow you to push plain text to the screen. This could be used for something like a shipping address confirmation, as shown in the below picture. The Braintree GraphQL API docs contain additional information about character limitations and formatting your request Text Display mutation.

Up to 255 characters of text can be displayed using this mutation

As of version 5.2.0 requestTextDisplay now supports the title, alignment, waitForNextRequest, displayTimeoutAPI variable fields

mutation RequestTextDisplayFromInStoreReader($input: RequestTextDisplayFromInStoreReaderInput!) { 
    requestTextDisplayFromInStoreReader(input: $input) { 
        clientMutationId 
        id 
        reader { 
           id 
           name
           status 
        } 
        status 
    } 
}

Request Line Item Display

This mutation can be called each time the POS software adds an item to display the running cart totals to the customer.

As items are added, a scrolling container will automatically move to keep the most recently added items in view.

Adding new items to the display will require the POS to send all items in the cart and new running totals after each update.

Up to 249 items can be displayed using this mutation.

The displayItems are used for display formatting purposes only and are not passed downstream to the processors or saved in relation to the transaction. All calculations must be performed on the POS. Additional information about character limitations and formatting your mutation can be found in our Braintree GraphQL API docs.

mutation RequestItemDisplayFromInStoreReader($input: RequestItemDisplayFromInStoreReaderInput!) { 
    requestItemDisplayFromInStoreReader(input: $input) { 
        clientMutationId 
        id 
        reader { 
            id 
            name 
            status
        } 
        status 
    } 
}

Cancel Information Display

This mutation will allow you to cancel an information display and return to the screensaver.

mutation RequestCancelFromInStoreReader(
  $input: RequestCancelFromInStoreReaderInput!
) {
  requestCancelFromInStoreReader(input: $input) {
    id
    status
    reader {
      id
      name
      status
    }
  }
}

Last updated