Hi
I’m using the Square API to generate orders in Square POS. Is there an API available to trigger the printing of order receipts?
Hi
I’m using the Square API to generate orders in Square POS. Is there an API available to trigger the printing of order receipts?
Currently, there isn’t an API for triggering an order to print. If the order has a fulfillment and the sellers POS is connected to a printer and configured to a printer then the order will automatically print when paid for or at its scheduled time based on prep_time_duration. ![]()
Thank you for the update
Hello @Mahesh ,
Yes, Square provides an API that can be used to trigger the printing of order receipts. You can use the Terminal API to print or issue a receipt for a pre-existing payment or for a cash payment after recording it with the Payments API. This feature utilizes the Terminal action endpoints, such as CreateTerminalAction, and the RECEIPT Terminal action type.
Pair a Square Terminal using the Devices API.
Use the Terminal API to create a Terminal action with the RECEIPT action type.
Specify the payment ID for which you want to print the receipt.
Set the print_only parameter to true if you want the Square Terminal to print the receipt directly without displaying the receipt options screen.
Please note that to use this feature, your developer account must be enabled to subscribe to Terminal API action webhooks, and you should have the necessary OAuth permissions: PAYMENTS_READ for getting or searching for a Terminal action request and PAYMENTS_WRITE for creating or canceling a Terminal action request.
Best Regards,
@Bryan-Square,
I am using two ways of creating paid orders in Square.
The first one is done by using payment links and creating payment through Square payment page.
The second one is done by manually creating order and then creating a payment with cash.
In the first scenario, the order received type “Other”, marked as “New”, and printed automatically on the kitchen printer.
In the second scenario, the order received type “In-store” and marked as “Completed”, and not printed. How do I make such orders to be printed?
For the orders that aren’t printing do they have the same fulfillment body? ![]()
For the both types of payment I create orders without setting the fulfillment property. The orders that were created for Payment Link are returned with initialized fulfillment property with type DIGITAL. The orders that were created with Orders API, do not have fulfillment.
In the documentation a fulfillment may have only PICKUP, SHIPMENT or DELIVERY type (no DIGITAL).
What should I use for orders that were made in-store?
Hey @iliaskirko! If these orders are being made in-store with the intent that customers will be coming in to pick them up, PICKUP is probably your best bet.