Accepting Transactions

After a cashier scans items and finalizes an order on the POS, the system sends a transaction request using Tap's APIs. This request immediately alerts the linked payment terminal, displaying the transaction details for the customer to review and authorize payment.

Pre-Integration Checklist

Before starting the integration, please verify the following:

  1. The merchant has been successfully onboarded to your POS platform.
  2. Your POS system has received the required merchant and terminal details from the webhook event.

Integration Steps

  1. Call the Create Intent API.
  2. In the request, include:
    • The merchant, terminal details, and provider_id obtained from the Connect webhook event.
    • The relevant order information.

Payment Request Handling

If the payment terminal is available and not processing another transaction, it will accept the new payment request and return a successful response with an INITIATED status. However, if the terminal is already handling an active transaction, the Create Intent API will return a FAILED status along with a descriptive message explaining the reason.

Once the customer completes the transaction on the terminal, Tap will automatically send the final transaction status to your POS system via the configured POST webhook URL.

Canceling a POS Transaction

After checkout is completed and a transaction is initiated, a customer may choose to pay with cash instead, or the cashier might experience a system error or connectivity issue. In any such scenario, the POS system can cancel the transaction before its status is finalized.

When a cancellation is requested, the system notifies the linked terminal using the corresponding transaction ID, enabling the cashier to cancel the transaction directly from the POS interface.


Before proceeding with cancellation, ensure that:_

  1. The merchant has been successfully onboarded to your POS platform.
  2. The POS system has obtained the merchant and terminal details from the webhook event.
  3. An Intent ID has been generated and is in the INITIATED status.

Integration Steps

To cancel a transaction:

  1. Call the Cancel Intent API.
  2. Pass the intent_id that was returned from the original Create Intent request.