How It Works
- A guest places an order. storekit sends
order.createdto your app. - Your app turns the order into a ticket in your layout and puts it in a print queue.
- A Star CloudPRNT printer, configured to point at your app instead of storekit, polls the queue every few seconds, prints the ticket and confirms it.
What You Need
- Webhooks enabled on your storekit plan (Settings → Developers).
- A Star Micronics CloudPRNT printer that is not connected to storekit: a TSP100IV, mC-Print2, mC-Print3 or SP742 with the CloudPRNT firmware. If you already have one of these connected under Direct Printing, you need a second one — a printer can only poll one server.
- The printer’s web configuration page, reached by its IP address on your network (see the printer’s manual for how to print its network settings).
- A Replit account. This recipe needs a public URL that stays up 24 hours a day plus a small database, which Replit provides. Lovable or Bolt work if you attach a backend; see Choosing a Builder.
Step 1: Build the App
Paste the whole of the block below into the builder in a single message. Edit the section marked MY TICKET LAYOUT first — that is your layout, and the example is only a starting point.Either button opens the builder with the whole prompt below already filled in. Nothing starts until you press send, so read it through and edit the parts marked as yours first.
Full prompt (click to expand)
Full prompt (click to expand)
/admin, click the test ticket button, and read the rendered ticket text in the queue — you can adjust the layout with follow-up messages now, before a printer is involved.
Step 2: Connect storekit
Open the webhooks portal
Add your app as an endpoint
Copy the signing secret into your app
STOREKIT_WEBHOOK_SECRET (builders call this “secrets” or “environment variables”). Redeploy if the builder asks you to.Send a test event
2xx means your app accepted it; anything else, read the response body in the log — it is usually a missing secret.order.created for this endpoint. The webhook URL is the one ending in /webhooks/storekit.
Step 3: Point the Printer at Your App
Open the Star printer's own web page
Enter your app's URL
/cloudprnt/ followed by a long token — keep that token private, it is what stops anyone else reading your tickets) as the server URL, set a polling interval of a few seconds, and save. The exact field names vary by model and firmware; Star’s manual for your printer is the reference.Check the printer is polling
/admin. The printer indicator turns green as soon as the first poll arrives. If it stays red, the printer cannot reach your URL — check that the URL is https://, that you saved the settings, and that the printer has internet access.Print a test ticket
/admin. The printer picks it up on its next poll.Place a real order
Ideas for Your Layout
Once the basic ticket prints, the layout is a follow-up message to the builder away:- Station sections: group items by category into GRILL / COLD / DRINKS blocks, or queue a separate ticket per section.
- Allergen matrix: print a row of allergen abbreviations under each item from the item name or a lookup table you maintain in the admin page.
- Course markers: print a ”---- MAINS ----” divider based on category.
- Collection time countdown: for pre-orders, print “READY IN 45 MIN” from the requested time.
- Two copies: queue the ticket twice — one for the pass, one for the driver.
What This Does Not Do
- It does not change storekit’s ticket. storekit prints to the printers under Direct Printing as before. If you want only your custom ticket, remove the printer from Direct Printing and point it at your app instead — but then storekit no longer knows the printer exists, so Printers status,
printer.status.offlinealerts and storekit’s print log do not apply to it. - It is your service. storekit support can confirm an
order.createddelivery reached your URL and what response it got; they cannot see or fix the app. If it stops printing, start at/adminand the delivery log in the webhooks portal. - Cancellations are not printed unless you add them:
order.canceledis a separate event, and a “CANCELLED” ticket is a natural next follow-up prompt. - Plain text only. Logos, barcodes and large fonts need Star’s binary formats, which the builder can add later if you ask for
application/vnd.star.starprntsupport.