More Square Terminal API features now in GA
Orders Integration, Delayed Capture, and App Fees are now generally available
We are happy to announce that Orders Integration, Delayed Capture, and App Fees are now available in GA for Square Terminal API in the U.S. Terminal API is an in-person payments API that connects developer apps built on any platform to Square Terminal for card and contactless payments. These features make it easier for developers to serve sellers with vertical-specific and customer-specific needs, and they are already being used successfully in production by multiple developers.
New features
Orders Integration
Developers can integrate Orders API with Terminal API and display itemized line items on the Square Terminal device. In addition to ensuring that full order details are available in seller reports and buyer receipts, this unlocks new use cases, such as creating an order online and paying for it in-store, or paying for an order at a kiosk and sending it to Square Point of Sale for fulfillment. Plus, Orders API enables sellers to reflect both online and in-person orders in their inventory management system automatically.
“Usually dermatology clinics’ medical record systems have little support for retail products or don’t have capabilities to sync inventory with an online store. Often their only option is to use separate systems to take payments for health care services and retail products. Orders Integration for Terminal API is a game changer for our partner clinics, because it enables them to take all in-person payments with only the Square Terminal, improving their customers’ checkout experience and streamlining their operations.” — John Bona, co-founder at Reference Health
Delayed Capture
Developers can support sellers who want to authorize a payment up front with Square Terminal, then wait to capture the funds until after the service has been completed or the goods have been received. This is especially useful in industries such as food and beverage, where a customer can open a bar tab and pay their bill at the end of the night, and retail, where sellers capture payments after goods are shipped.
“Square makes it possible to serve customers quickly and reliably across all of our channels, even during peak hours. We integrated Square Terminal API so our staff could accept payments on the beautiful Square Terminal hardware and so all payment data could sync with our custom, in-house POS. We recently added delayed capture to our integration — a critical capability for restaurants. Throughout this process, Square showed up for us with hands-on customer support, clear technical documentation, and APIs that are simple to integrate — transforming our technology stack.” — Mark Stinson, director of information technology at Kura Sushi
App Fees
Developers can now monetize their Terminal API integrations by automatically collecting a portion of each payment that their application processes as the application fee.
“With over 30,000+ events per year, Brushfire uses Square Terminal to provide our event organizers the flexibility to take card payments connected with our web-based event management solution, or even let attendees purchase tickets at self-service kiosks running our native app. Square Terminal helped our customers to reduce waiting times, minimize fraud, and offer a seamless payment experience at their events. App Fees for Terminal API enabled us to monetize our business in a fully transparent and automated way, as we don’t need to send invoices to our customers manually anymore. With App Fees, our billing infrastructure is consistent and reliable across all our platforms and channels.” — Jorin Slaybaugh, director of technology at Brushfire
How to use the new Terminal API features
The Terminal API Create Terminal Checkout request supports additional parameters in order to collect application fees, take a delayed capture payment, or associate a payment with an order. The following example shows how to add an Order ID to a Terminal API checkout request and present an itemized cart to the buyer.
curl https://connect.squareup.com/v2/terminals/checkouts \
-X POST \
-H 'Square-Version: 2022-11-16' \
-H 'Authorization: Bearer {{ACCESS_TOKEN}}' \
-H 'Content-Type: application/json' \
-d '{
"idempotency_key": "5f2e1b9c-86a6-4310-88d2-c0b49a84df66",
"checkout": {
"amount_money": {
"amount": 500,
"currency": "USD"
},
"device_options": {
"device_id": "R5WNWB5BKNG9R"
"show_itemized_cart": true
},
"order_id": "7piQ5cvmkIYaUuv8XLULddDhefUZY"
}
}'
Delayed Capture
Here is an example of how to set up a delayed capture payment in Terminal API.
curl https://connect.squareup.com/v2/terminals/checkouts \
-X POST \
-H 'Square-Version: 2022-11-16' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"idempotency_key": "28a0c3bc-7839-11ea-bc55-0242ac130003",
"checkout": {
"amount_money": {
"amount": 500,
"currency": "USD"
},
"reference_id": "id11572",
"payment_options": {
"autocomplete": false,
"delay_duration": "PT24H"
},
"device_options": {
"device_id": "dbb5d83a-7838-11ea-bc55-0242ac130003"
},
"note": "A brief note"
}
}'
App Fees
App Fees enables developers to collect a portion of each payment processed by their application. Here is an example of how it works.
curl https://connect.squareup.com/v2/terminals/checkouts \
-X POST \
-H 'Square-Version: 2022-11-16' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"idempotency_key": "28a0c3bc-7839-11ea-bc55-0242ac130003",
"checkout": {
"amount_money": {
"amount": 500,
"currency": "USD"
},
"app_fee_money": {
"amount": 100,
"currency": "USD"
},
"reference_id": "id11572",
"device_options": {
"device_id": "dbb5d83a-7838-11ea-bc55-0242ac130003"
},
"note": "A brief note"
}
}'
Get started
Terminal API Orders Integration, Delayed Capture, and Application Fees are available in general availability in the U.S. Terminal API is available across the U.S., Canada, the UK, France, Ireland, Spain, Australia, and Japan.
To start building, check out our developer documentation, technical reference, and payments pricing. As always, please share your feedback in our community Slack channel or Square Developer Forums. If you want to keep up to date with the rest of our content, be sure to follow this blog and our Twitter account.