Expanding Square’s Platform Beyond Payments
At Square, we’re working to create the future of commerce, and we want to inspire developers to build solutions our merchants can use to manage and grow their business.
Today, we are excited to announce a significant expansion of the Square platform to include a new set of APIs and SDKs that developers can leverage to build customized and scalable commerce experiences.
Over the past couple of years, we’ve released APIs and SDKs that focus on enabling developers to take payments in person, online, and in mobile apps. We’re now expanding our platform and shifting the focus from payments to orders. Orders are now a central component of our platform as they connect payments to items, price modifiers, customers, and more.
Here is an example of an Order request:
{
"idempotency_key": "5ba90fe5-e46e-465a-9453-41ebd62ff7d3",
"reference_id": "order#0001",
"line_items": [
{
// Populating items from Catalog API
"catalog_object_id": "2VPCYWOWUPA7KKLCG7LM3MO5",
"quantity": "1",
"modifiers": [
{
// Adjust price with Modifiers from Catalog API
"catalog_object_id": "R2Z2MEFMADGG6QXIWM4C7WUL"
}
]
}
],
"fulfillments": [
{
"type": "PICKUP",
"state": "PROPOSED",
"pickup_details": {
"recipient": {
// Auto-populate Customer information using Customers API
"customer_id": "6N0G86TR04S2D5HQAJYAVSBCDC"
},
"schedule_type": "ASAP",
"pickup_at": "2019-08-15T23:59:33.123Z"
}
}
]
}
This release is the first to open access for external developers to Square software products. Developers can send orders from their app to Square Order Manager, which turns Square points of sale and Square Dashboard into order fulfillment points that are already used daily by millions of merchants.
Here is how you could reference that Order in a payment request:
{
"idempotency_key": "c88fbfb5-3b6c-4b7d-b374-0db2ce0c273d",
"amount_money": {
"amount": 150,
"currency": "USD"
},
"location_id": "XK3DBG77NJBFX", // Location to process for
"autocomplete": true,
"source_id": "ccof:8GAci5DtiI65myOW3GB", // Stored Card on File
"customer_id": "6N0G86TR04S2D5HQAJYAVSBCDC", // Customer
"order_id": "b7i6KoBJ6z194aQ8xVOwmIVoKc4F" // Send to Order Manager
}
In addition, orders appear as sales in the Sales Reporting and Transactions Lists on dashboard and POS clients. Finally, developers can use orders as a single source of truth because they support including carts, fulfillments, customers, and source data, in addition to payment information.
The diagram below illustrates how all these components and apps interact together to link consumers to Square merchants through orders.
Using Square’s platform, developers can also build integrations with traditional business systems such as NetSuite, Salesforce, or SAP, making it easy to leverage Square within an existing environment. Payments, orders, customer data, and more can be transferred into a CRM, OMS, ERP, or any enterprise business solution.
In addition to these APIs, we’re also excited to announce that we’re now taking submissions from external developers who want to get their app published on our App Marketplace so they can be discovered by our merchants. Interested developers can visit us here to tell us about their app and get in touch with our team.
We’re excited to see what external developers build with Square’s platform and how they can help our millions of merchants run and grow their businesses. The platform is available in the U.S., Canada, Australia, Japan, and the UK starting today. To learn more about Square’s platform, visit https://square.com/developers or visit our documentation at https://developer.square.com/docs.