Printless for developers

Go Printless button

Add Printless to your site in one line.

Drop a button on any page. Your customer taps it, enters their phone, and instantly gets your print — a receipt, token, ticket or invoice — in the Printless app or over WhatsApp. No printer, no paper.

↑ Live demo — try it. (No real print is sent.)

One line of HTML

Load the script once, then place a button anywhere with your publishable key and a template reference. That's it — the button renders itself and handles the phone prompt, delivery and status.

<script src="https://js.printless.app/button.js" async></script>

<div class="printless-button"
     data-printless-key="pk_live_your_publishable_key"
     data-printless-template="tmpl_your_template"></div>

How it works

1

Create a publishable key

In the Portal Developers page, generate a pk_live_ key locked to your website's domain. It's safe to put in public HTML.

2

Register a template

Define the print once (type, title, content) with your secret key. You get a tmpl_ reference to point the button at.

3

Drop the button

Paste the snippet. On tap, Printless collects the phone and delivers the print — in-app, or WhatsApp for new customers.

Button attributes

Set these on the button element. Only the key and template are required.

AttributeDescription
data-printless-key requiredYour publishable key (pk_live_…). Origin-locked, create-only.
data-printless-template requiredThe template reference (tmpl_…) to issue.
data-printless-labelButton text. Default Go Printless.
data-printless-mobilePre-fill the customer's phone (skips typing).
data-printless-variablesJSON object filling {{placeholders}} in the template, e.g. {"order":"A-91"}.
data-printless-themelight for a white button on dark backgrounds. Default is brand purple.
data-printless-sizecompact for a smaller pill.

You can also render programmatically: Printless.render('#el', { key, template }), or open the flow directly with Printless.open({ key, template }).