EFT / POS terminals

Every terminal, every store, one screen

A dead terminal at a busy till is a queue, an abandoned basket, and a store manager phoning head office. Across thirty sites, the problem is not fixing it — it is knowing which one, and knowing before the call.

What you see

Your whole estate at once, with the detail available when you need to drill in.

  • Per-terminal online / offline state across every store, on one screen and on a map.
  • Transaction volume and value by store, terminal, and date range.
  • Payment method breakdown from the payment type on each transaction.
  • Declines and refunds tracked as their own statuses, not lumped in with sales.
  • Error events with your own codes, so a comms failure and a printer fault are distinguishable.

What PulseGrid receives — and what it does not

This matters for anyone whose terminals fall in PCI scope, so it is worth stating plainly rather than burying.

A transaction event carries an amount, a currency, a status, an optional payment type, an optional product name and quantity, and a timestamp. That is the shape of the data model. There is no field for a card number, a cardholder name, an expiry, or a CVV, and nothing in the ingest API accepts them.

PulseGrid is deliberately built to monitor the fact that a payment happened, not to touch its contents. Your acquirer and payment application keep that responsibility.

How it connects

PulseGrid does not talk to your hardware directly. Your software — whatever runs on the machine, or the middleware behind it — posts events to a REST API as they happen. That means no gateway to install, no agent to maintain, and no vendor lock on the device side.

The whole integration is five steps, and most teams have the first events flowing in an afternoon:

  • Create an org API key in the dashboard’s Developer settings.
  • Exchange it for a short-lived JWT at POST /api/v1/auth/token.
  • Create a location — a site, a store, a depot.
  • Provision terminals in bulk; each one comes back with its own ingest key.
  • Post transactions, heartbeats and errors using that key in the X-Api-Key header.

Built for multiple sites and multiple people

Terminals belong to locations, and locations belong to your organisation, so a franchise group or a retail chain sees the estate rolled up rather than site by site.

Invite your team with Owner, Admin and Member roles. Every figure is reported in one currency you set for the organisation, stamped at the moment each event is ingested — so a multi-country estate does not silently mix units in the same total.

Common questions

Does PulseGrid store card data?

No. The transaction event model has fields for amount, currency, status, payment type, product name, quantity and timestamp. There is no field for a card number, cardholder name, expiry or CVV, and the ingest API will not accept them. PulseGrid monitors that a payment occurred; it never handles its contents.

Does it replace my payment provider?

No. PulseGrid does not process payments, settle funds or route authorisations. It is a monitoring and reporting layer that sits alongside whatever you already use.

Can I see one store rather than the whole estate?

Yes. Terminals roll up into locations and locations into your organisation, so you can look at the whole estate, one store, or one terminal, and filter analytics by location and date range.

What happens when a terminal goes offline?

It flips to offline once it has missed the heartbeat window you set for your organisation, and an email alert fires. You can set alert preferences per terminal so a known-flaky unit does not drown out the rest.

How do we handle stores in different currencies?

Each organisation reports in a single currency, set by you and stamped on every event at ingest. That keeps totals meaningful instead of silently adding different units together.

See it with your own devices

Start free with three terminals. No card required, and the developer console has a simulator so you can watch events land before touching hardware.

Other setups