API for Carts on the Terminal

I am writing an application where I would like to create a saved cart via an API call and then pay for that cart at the register.
Is there an API that will do this?
If not, do you know when it might be available?

:wave: Currently, the ability to create an order and pay for it in person isn’t currently available. 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:

Based on Unboxed 2022, were any APIs released that could help me in this situation?

@jdana Yes, Terminal API now provides additional ways to work with payments: the ability to collect fees, delay the capture of payments, link orders with line items to a Terminal checkout, and take partial payments from cards with a limited balance. :slightly_smiling_face:

Bryan - Great news.
My specific use case involves needing to create a cart associated with a Square Customer with specific Square Items that the register can then bring that up and add/update items and then accept payment at the register.
I already have the customers integrated to Square, so it’s now a matter of creating a cart.
What are the steps to do that and is the POS API involved at all?
Thanks,
Jeff

Currently unpaid orders can’t yet push to the POS. This is a very popular feature request and we hope to have more for you soon. :slightly_smiling_face:

I read in your newsletter that the Orders Integration can now create an order online and pay for it in store.
When I navigate your developer site, I don’t see a way to do this.

My original use case remains the same.
Take an order online fulfill it in store to create a cart that the user can then pay for via a Square Terminal.

Is there any update on this?

Jeff

I think there’s a bit of confusion with on the behavior with orders and Terminal API. The newsletter says that you can integrate Orders API with Terminal API and display itemized line items on the Square Terminal device.

What that means is that your application can create an itemized order with our API and when the customer is ready to pay for the order it will push to a Terminal device to be paid for. When it dose push to the device it will show the itemized order. Terminal APIs UI is very different from the Square app that’s on the Terminal and does not have the same functionality.

Orders created by the API at this time won’t push to the orders section of the Square app till they are paid for. :slightly_smiling_face:

What I am referring to is the statement:

  • Orders Integration - Integrate Orders API with Terminal API and display itemized line items on the Square Terminal device. Unlock new use cases, like creating an order online and paying for it in-store.

What does creating an order online and paying for it in-store mean in this case?

In this use case you can create the order online and when the customer is ready to pay you’ll call CreateTerminalCheckout with the order_id. The itemized order will show on the screen of the Terminal and the customer can pay. If you were looking to interact with the order in the Orders section of the app or with a KDS that currently isn’t possible. :slightly_smiling_face:

Here is what an itemized order looks like on the Terminal:

It’s been a while, but I wanted to check back in on this. What I would like is to interface to the cart on the Square System and add items to it via the API and not pay for it yet.
Then at a later time, bring up the cart on my POS and adjust/add items through Square at that time and then let the customer pay through the Square App.
Does anything like this exist yet?

At this time the ability to create orders in a cart like feature that’s later accessible on the POS isn’t currently available. All orders created with our API will need to be paid for with a fulfillment to have them push to the POS. :slightly_smiling_face:

Hi Bryan - Is the BOPIS feature available yet for Beta or General Release?

I am writing an application where I would like to create a saved cart via an API call and then pay for that cart at the register.
Is there an API that will do this?
If not, do you know when it might be available?

Is this with Terminal API in the US? If so you can create an order on line and have your custom application bring up the order and pay for it in person with the Terminal API. If its with our 1st party software unfortunately ordering online and paying in person isn’t currently available. We’re constantly working to improve our features based on feedback and hope to have more for you in the future. :slightly_smiling_face:

This is using a 3rd party app to create a Square Cart on the Square Register. When the customer arrives in store, on the Square Register, bring up the cart that was created on the Register and allow the customer to pay there.

What is the BOPIS feature of Square? Is that only for the online store?

At this time a 3rd party app can’t be loaded onto the Register. The Register can only rung the Square apps at this time. :slightly_smiling_face:

Will Terminal Checkout (API) created orders be able to automatically add in discounts and taxes on the Order? Or is there any cart calculation logic we’d need to handle too?

I wanted to access a saved cart that was rung up and saved on the Register (Retail). And to manipulate that and then pay for it somehow. That doesn’t seem supported so interested in the options to create an order quickly and then push it for payment onto Terminal API.

This is available in the US with the Terminal API when an order is passed into the Checkout. Where are you going to process payments? :slightly_smiling_face:

1 Like