Skip to main content
Version: 4.0

Getting Started with Push to Terminal

1. What is Push to Terminal?

Push to Terminal allows a merchant to send a payment request directly to a specific device via Firebase push notification. Instead of the customer scanning a QR code or opening an applink, the merchant selects a device from their list and pushes the payment to it.

The device receives the push notification, opens the Halo.Go app, and begins processing the payment automatically.

2. Prerequisites

  1. Register on the Merchant Portal and retrieve your Merchant ID and API Key.
  2. At least one device must be registered via POST /devices with a valid Firebase token and friendly name.
  3. The Firebase token is obtained when the Halo.Go app is installed and initialized on the device.

3. How It Works

Push to Terminal has two parts:

  1. Device Management -- Merchant registers devices via POST /devices with the device installation ID, Firebase token, and a friendly name. Devices can be listed, updated, and removed.
  2. Push Payment -- Merchant calls POST /consumer/push with the device ID, amount, currency, and reference. The backend sends a push notification to the device. If push fails, the merchant can use the applink URL / QR code already returned in the transaction API response as an alternate payment method.

4. Authentication

All endpoints require authenticated access. See Authentication for more details.

You can authenticate using either:

  • API Key via the x-api-key header
  • JWT via the Authorization: Bearer <token> header

Both can be retrieved from the Merchant Portal.

5. Next Steps

See the Integration Guide for detailed API documentation with request/response examples.