iVendNextDevelopers Request a sandbox

11. Payments, fiscal and hardware

For: a builder whose customer asks for a payment method, a fiscal country or a device. Reference implementation: for the one thing a partner can build here today, an outside fiscal service's result on the sale, Shipping your own data in a manifest (the fiscal_readers kind) and chapter 7. Payments have no recipe: nothing in them is open to a partner yet. For hardware only A receipt laid out for your market applies.

The short answer

The customer asks for Today
A card or other payment connector Ours. We build and install every payment connector. A partner's own connector waits on a gateway contract we are still specifying.
Their own wallet or loyalty scheme spent at the till Not covered yet. The wallet on the tender screen has not shipped.
A country's tax clearance The country apps we ship are ours. An outside fiscal service may record its result through a declared fiscal reader: live, below.
A QR code or fiscal mark on the receipt Not covered yet.
A printer, label printer or other device The print routes below are ours. A device driver stays ours.

When to use it

Read this chapter when a quote includes money moving, a tax authority or a device. It tells you what to promise (very little, today) and the one door that is open: the fiscal reader.

Payments

What we provide. One payments core and one thin connector for each payment gateway, each connector passing our conformance kit.

A site takes one card connector at a time. That limit stays until it is lifted; a customer with two card providers on one site cannot have both.

Your own payment connector: decided, not specified or built. A builder will be able to write a payment connector that runs on the builder's own server and talks to our payments core through a published gateway contract: authorise, capture, void, refund, status and reconcile. It would be built in the builder's own editor, tested on a sandbox, pass our payments conformance kit, and run in one pilot store before going live. Card numbers would never pass in clear through our system or the builder's. The builder may sell it to its own customers, or through our marketplace once one exists. Not yet: its specification is still owed (chapter 9); a terminal wired to the counter, which needs a driver on the till device, comes in a second phase. Do not start building against it, and do not promise a date.

Your wallet on the tender screen: not covered yet. A customer's own wallet or loyalty scheme, spent at the till as its own payment method (the cashier taps it, sees the balance and what this sale may use, enters an amount), is specified and not released (chapter 9). What works today is the other half: earning on your side after the sale. Your service follows the event feed (chapter 5), reads the booked invoice and adds the customer's points in your own system. Spending them at the till does not work yet.

Fiscal and e-invoicing

The till never talks to a tax authority. A country's fiscal app, or an outside service, clears or reports each sale and records the result on the sale. The till reads the result and decides whether the receipt may print as a tax document.

Steps: an outside fiscal service

  1. The shop turns on Clearance required for its country. Without it the product refuses the reader: the receipts would print at once with no tax receipt number. This is done in the shop, before the install.
  2. Your manifest declares the result fields and the reader (chapter 7, the fiscal_readers kind). The status, the tax receipt number and, if you have one, the QR are three different fields on the sale. Each is No Copy, allowed on submit, and at a permission level above 1 (never 0, never 1, never 9) that no other role may write. The map says what each value your service writes means, once each: cleared, reported or pending. Never not fiscal: that is the till's own classification, and it releases the receipt.
  3. The shop switches the reader on, adds the role's sale rights and makes your service's key. The reader is installed switched off. The service's user holds one role, its own writer role, and nothing else. The installer gives that role rights only at the result fields' own level, so the shop adds the role's ordinary rights on the sale (read, write and submit) and generates the user's key (chapter 7 lists the steps).
  4. Your service writes its result with its own key, by saving the submitted sale through the API with every result field filled, every time. A value counts only when the sale was last saved by one of the reader's declared writer users.
  5. What the cashier sees. From the moment a sale for a company your service serves is booked, it waits as pending: "Waiting for the tax receipt number … ask the back office." A cleared or reported result releases the receipt.

To change fiscal service, let waiting sales clear first, then repoint the one reader.

The kit has tried this route only with a test script standing in for the fiscal service. No tax authority was reached.

What is refused, and why

Hardware

What we provide. Four ways to print: a network printer, the device's own print dialog, a helper app, and the counter printer on wired tills. Receipt formats and customer-display templates are configuration (chapter 4); a receipt laid out for your market is a recipe (A receipt laid out for your market).

Not covered yet. A QR code or fiscal mark on the receipt, a WhatsApp receipt, and labels printed from the till or Handheld are specified and not released (chapter 9). Labels today go through a desktop utility. A device driver stays ours: a builder cannot add one.

The kit has not yet run the counter printer or the helper app on real hardware.

When your service is down, and when the till is offline

Technical notes

What the kit has proven

What it has not

Sources

See also

4. Configure first · 5. Outside apps and the event feed · 7. Manifests · 9. The extension points · 16. Possible, not possible, limits

This page in the kit