Skip to main content

Payment Terminal Application

The Payment Terminal Application is our Android payment application which provides the In-Store Payments API to accept point-of-sale (POS) payments consistently across payment terminals. This solution moves you away from dependency on terminal manufacturer-provided software to our card-present software that supports:

  • Multiple market segments
  • Traditional SMB stand-alone payment terminals
  • Large enterprise direct solutions
  • Consistency across payment terminal platforms

The following workflow shows how a semi-integrated POS on a separate device communicates to the payment terminal through the Payment Terminal Application. 

POS Client workflow through the Chase Payment App payment terminal
Note

TMS and the TMS Agent are our Terminal Management Service and Agent which we use to manage and update payment terminal devices remotely.

The following workflow, with a semi-integrated POS on the same device as Payment Terminal Application, shows how our TMS Agent runs alongside Payment Terminal Application and facilitates OS, application, and configuration updates to the payment terminal device.

workflow diagram of POS application service mode

How it works

How to process a POS payment with the Payment Terminal Application using WebSockets:

  1. Your POS application initiates the transaction request with Payment Terminal Application. Transaction operation requests are synchronous where you receive the full response before you initiate a new request.
  2. Payment Terminal Application accepts the request which is either a simple or a complex operation.
    1.  Simple operations have one request and one response message. The response message uses the same operation value as the request.
    2. Complex operations have one request and multiple response messages. Depending on the type of request, Payment Terminal Application sends notification messages before the final response. The last response message uses the same value in the field operation as the request which signals that the operation is complete.
  3. When you receive the final response, proceed appropriately within your POS to complete the transaction with the cardholder.
Note

Payment Terminal Application runs an internal server to maintain connection with the POS application. The Payment Terminal Application supports JSON for requests, responses, and messages.

API operations

Implement the following set of messages to control transaction flows.

Payment Terminal Application API operations
API operation Semi-integrated On-Device Integration
Transaction Yes Yes
GetTransactions Yes No
SetParameter Yes Yes
GetParameter Yes Yes
Display Yes No
PrintText Yes No
Status Yes Yes
Cancel Yes No
Restart Yes Yes
GetSignature Yes Yes
PrintLastReceipt Yes Yes
LastTransaction Yes Yes
GetInformation Yes Yes
ReadCard Yes Yes
LineItems Yes No

Semi-integrated versus on-device integration

In semi-integrated setup, your POS runs on an external device connected to our payment terminal device.

In on-device integration setup, your POS application runs alongside our Payment Terminal Application on the same device. Your POS application drives the user experience for all user interactions outside of the payment flow. To process a transaction, UI control switches from the POS to the Payment Terminal Application and back.

For both semi-integrated and on-device integration, use the WebSocket API for communication.

User interface

The user interface is mainly supported by the display, keyboard and audio cues when applicable.

Accessibility requirements

The user interface is aligned with the best practices for accessibility, ensuring that both visual and audio elements are used in a consistent manner to facilitate navigation and usability. Payment Terminal Application is ADA (US) and OADA (Canada) compliant.

Idle screen

For POS solutions on a separate device: If no connection exists, the Payment Terminal Application displays the idle screen with the following message: Waiting for POS Connection 

After your POS connects, the Payment Terminal Application displays a blank screen with a logo and is ready to accept a command from the POS.

Refer to the following example images of the idle screen.

Side-by-side view of semi-integrated idle screens

For on-device integration: The idle screen is not applicable as Payment Terminal Application runs in the background. Your POS manages the display of the device outside of a payment flow.

Audio cues

Payment Terminal Application uses audible cues during a transaction for card read success or failure and for transaction outcome (approved or declined).

The following table describes the various audio cues:

Payment terminal audio cues
Audio cue Description
Success tone Single beep with a duration of 500 ms and an approximate frequency of 1500 Hz.
Alert tone Double beep with a duration of 200 ms, an approximate frequency of 750 Hz, and a gap between beeps of 200 ms.
Attention tone Repeated beep, as long as attention is required, with a duration of 200 ms and an approximate frequency of 1500 Hz. For example, prompts the user to remove their card.