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 15const 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
Continue reading
Automate Cheque Processing with Azimut’s AI-Powered Software
AI-powered cheque processing software: automate OCR, validation, and clearance.
What Is Pre-Staging? Preparing Self-Service Transactions Before the Kiosk
Pre-staging prepares part of a self-service transaction before the customer reaches the kiosk, so the session …
The Next Telecom Kiosk Has a Face — and an Engine Behind It
How the Azimut SDK powers every function an avatar kiosk needs.