Printing receipt on terminal automatically without prompting the user

We have integrated with the square terminals using the terminal api. We are not using square POS. Using the create terminal checkout endpoint we can start checkout and capture payment etc. However, for every transaction that is processed the employee needs to manually choose print receipt on the terminal. How can we make this print a receipt automatically?
I don’t see any options to do this via the api docs.

We can print a receipt directly without user interaction when reprinting a receipt via terminal actions. So I am hoping there is some hidden param I can pass through in the create terminal checkout or a possibility of adding this as a new feature.
Thanks

:wave: I’m Square Dev AI, here to help answer your question!
Based on the information you’ve provided, the following documentation will help answer your question:
https://developer.squareup.com/docs/app-marketplace/requirements/terminal-api

Additional Documentation

Square Developer Documentation
Payments API Integration
Payment API: Process Online and In-Person Payments

If this documentation helped you find a solution, please check the box indicating that this reply solves the problem.
Otherwise one of our Developer Advocates will provide additional assistance shortly.

The Terminal API currently does not support automatic receipt printing after a transaction. The receipt printing option is manually controlled by the employee on the Square Terminal. There is no hidden parameter in the Create Terminal Checkout endpoint that can enable automatic receipt printing. The ability to print a receipt without user interaction when reprinting a receipt via terminal actions does not extend to automatic printing after a transaction. As of now, this feature is not available in the Terminal API.

This answer was reviewed by @Bryan-Square.

I’d love to know more about your use case. I ask because Terminal API is designed to be a customer facing checkout option. We do have skip_receipt_screen boolean however that won’t force print the receipt. What’s the reason you need to print a receipt for every payment? :slightly_smiling_face:

We have integrated the square payment terminals into an existing POS solution for an apparel retailer. It is customer facing and company policy is that all customers require a receipt. In reality, almost all customers request a paper receipt and is the general norm in Australia.
Typically customers are also usually provided a receipt on a declined/failed transaction as confirmation that the store isn’t taking a double payment, but that is probably another thread.
The staff also use the receipt as a physical confirmation that the payment is completed successfully.
I was originally looking to use the skip_receipt_screen and following with the terminal action to print, but it seems like a hack around how it should work and would also introduce another call and another potential problem point.
This also would address the issue when the receipt screen times out and doesn’t print a receipt which happens more often than I expected.

We’re constantly working to improve our features based on feedback like this, so I’ll be sure to share your request to the API product team. :slightly_smiling_face: