Go Printless button
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.
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>
In the Portal Developers page, generate a pk_live_ key locked to your website's domain. It's safe to put in public HTML.
Define the print once (type, title, content) with your secret key. You get a tmpl_ reference to point the button at.
Paste the snippet. On tap, Printless collects the phone and delivers the print — in-app, or WhatsApp for new customers.
Set these on the button element. Only the key and template are required.
| Attribute | Description |
|---|---|
data-printless-key required | Your publishable key (pk_live_…). Origin-locked, create-only. |
data-printless-template required | The template reference (tmpl_…) to issue. |
data-printless-label | Button text. Default Go Printless. |
data-printless-mobile | Pre-fill the customer's phone (skips typing). |
data-printless-variables | JSON object filling {{placeholders}} in the template, e.g. {"order":"A-91"}. |
data-printless-theme | light for a white button on dark backgrounds. Default is brand purple. |
data-printless-size | compact for a smaller pill. |
You can also render programmatically: Printless.render('#el', { key, template }), or open the flow directly with Printless.open({ key, template }).