Is it possible to use Terminal APIs to process payments (Payments API) for orders (created using Orders API)


I am looking at ways to process order payments using the Square Terminal. Ideally the flow should be

Create orders (Orders API) → Create payment (Payments API) → Take payment using a Square Terminal (Terminal API) → Complete

Is such an interaction between these three APIs possible at this point? I know the Square POS app already does the above well and I love the app. However, our business needs a very niche feature that is unlikely to be available.

Looking at the documentation of the Payments API, it doesn’t seem to support Payments from devices. If this is the case should I skip the Payments API and go from Orders to Terminal directly?

Thank you!

:wave: At this time the ability to pay for an order with the Terminal API isn’t currently available. This is a very popular feature request and we hope to have more for you very soon!

Also you are correct the Payments API doesn’t support payments from devices. The Terminal ApI uses CreateTerminalCheckout to generate the payment from the device. :slightly_smiling_face:


Thanks Bryan, look forward to seeing this feature in the future :slight_smile:

Hi Bryan, we are creating kiosk app with square terminal. Can you give an estimated time for this feature ? Or is there any workaround about establishing relation between terminal checkout and order ?

Unfortunately, we don’t have a public roadmaps available for features like this. We hope to have more for you soon. :slightly_smiling_face:

Is there any update for this feature ?

This is a very popular feature request and we hope to have more for you soon. :slightly_smiling_face:

:wave: We’ve just released :rocket: Terminal API beta features including order itemization on the Terminal, delayed capture to authorize a payment upfront and collect funds later, card on file for recurring purchases, and app fees so you can monetize on payments processed via Terminal API. Learn more . :tada:

Hi Bryan,

I have just test it but we got an error like below. We are in UK. Is api currently not support GB currency ?

  "errors": [
      "code": "BAD_REQUEST",
      "detail": "order_id can not currently be set in GB",
      "field": "checkout.order_id",
      "category": "INVALID_REQUEST_ERROR"

Ugh, orders and itemizations, and partial authorization are currently in beta and supported only in the US. :disappointed:

The team is looking to expand orders support across all our supported regions as this is a very popular feature request. I unfortunately don’t have a timeline on this but keep an eye out for announcements. :slightly_smiling_face:

Hello Bryan, Is there any improvements to support GB currency

Hey there! We don’t have any new updates to share on supporting this at the moment.

Is there any updates to support GB currency

Are you going to answer ?

Hey @ahmetkocabiyik, no updates to this yet. This is still only supported in the US.

Is there any updates to support GB currency

Currently there isn’t any additional updates on support for orders with Terminal API outside of the US. :slight_smile: