Azimut SDK

Thermal Receipt Printing API: Integration Guide for Self-Service Kiosks

Published: 07/06/2026

A self-service kiosk generates a receipt at the end of almost every session — SIM activation confirmation, cash deposit slip, bill payment receipt, queue ticket, KYC acknowledgment. Without a receipt printer, the transaction is invisible to the customer.

The Azimut Thermal Printing API is the SDK layer that handles that output. The application submits a print job as a structured payload; the API translates it into printer commands, manages device state, and returns a pass-or-fail result. No driver code, no ESC/POS command tables, no paper-jam recovery logic in the application.

What the API Covers

The Thermal Printing API treats the receipt printer as a first-class device in the SDK's hardware model, alongside cash acceptors, biometric scanners, and card terminals. The API exposes three operations that cover every print-required kiosk flow.

Print a document — The application sends a structured payload — transaction reference, timestamp, amount, line items, barcode data — and the API renders it to the printer's native format. The application does not build ESC/POS command bytes or manage paper width.

Check device readiness — Before a print-required flow starts, the API reports whether the printer is online, has paper loaded, and has no active faults. Paper-low and cover-open states are surfaced before the customer reaches the print step, not after the print fails.

Log the outcome — Every print job returns a result — success, failure, timeout, or paper-jam — that is logged against the transaction record and reported to the management portal. Operations teams see print fault rates per device across the fleet without visiting the kiosk.

The same API contract works across printer models from different vendors. The application calls the same method whether the kiosk has a 58mm or 80mm thermal printer. The SDK handles the protocol translation.

Where the API Runs in Production

Receipt printing is the most frequently executed device action in the SDK's deployed base. Every completed kiosk session across the following deployments generates at least one print job through this API.

du (UAE) — 200+ kiosks print SIM registration confirmations and service receipts. The API handles print volume across the full fleet, with per-device health monitoring surfacing paper-low and fault states before they affect customer sessions.

Bank Alfalah (Pakistan) — Cash deposit, cheque deposit, and bill payment receipts at Digital Branch kiosks. Each transaction prints a customer receipt that includes the transaction reference, deposited amount, account number mask, and timestamp.

Bank Al Habib (Pakistan) — Live production CDM deployments use the same API for receipt printing at session close on every cash and cheque deposit transaction.

Developer Integration Shape

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 const printer = await sdk.devices.receiptPrinter.status(); if (!printer.ready) { await sdk.alerts.raise("receipt_printer_unavailable", { kioskId, reason: printer.reason, }); return; } const result = await sdk.devices.receiptPrinter.print({ template: "bill-payment-confirmation", transactionId, values: { amount, accountReference, paidAt }, });

Related Pages

Thermal Receipt Printing API: Integration Guide for Self-Service Kiosks | Azimut SDK