Clarification Needed: Webhooks for Square Online Store + Sandbox Access

We are currently integrated with Square POS using the Webhooks API. Our system listens to incoming webhook events and issues rewards to customers based on the order/payment activity received from Square.

Some of our merchants are planning to use Square Online Store in addition to Square POS, and we want to ensure our integration supports both channels properly. We have a few clarifications needed:

  1. If a merchant is connected to Square POS and also uses Square Online Store, will we receive webhook events when a customer places an order through Square Online Store?
    Specifically, will order.created, order.updated, payment.created, etc., fire for online-store transactions?

  2. Is the webhook payload structure for Square Online Store orders identical to the payload structure for orders originating from Square POS?
    If there are differences, can you provide documentation or examples?

  3. Is there a way to get sandbox access to Square Online Store for testing?
    We currently have access to Square POS in the sandbox environment, but we were not able to locate a sandbox interface or online-store testing environment. If available, please guide us on how to enable or access it.

We want to ensure that our reward-issuance workflow behaves correctly for both POS and online orders. Any documentation or guidance you can provide would be very helpful.

Thank you,

:waving_hand: I’m Square Dev AI, here to help answer your question!
Based on the information you’ve provided, the following documentation will help answer your question:

Additional Documentation

Take Payments and Build Integrations on Square Hardware
eCommerce API Guide: Build Custom Integrations | Square
Point of Sale API and POS Integration Tools

If this documentation helped you find a solution, please check the box indicating that this reply solves the problem.
Otherwise one of our Developer Advocates will provide additional assistance shortly.

  1. Webhook Events for Square Online Store:
    Yes, you will receive webhook events for transactions made through the Square Online Store. Events such as order.created, order.updated, payment.created, and others will fire for online-store transactions just as they do for transactions originating from Square POS. This ensures that your integration can handle both in-person and online transactions seamlessly.

  2. Webhook Payload Structure:
    The webhook payload structure for orders from the Square Online Store is generally consistent with those from Square POS. However, there might be slight differences in the data fields depending on the specific features or customizations used in the online store. It’s important to review the payloads you receive and adjust your integration as necessary. Unfortunately, specific documentation or examples of differences aren’t provided in the context, so you may need to test and compare the payloads from both sources.

  3. Sandbox Access for Square Online Store:
    Square provides a Sandbox environment for testing, which includes the ability to simulate transactions from the Square Online Store. You can use the Square Sandbox to create and manage test accounts and simulate online transactions. To access the Square Online Store in the Sandbox, you need to set up a test account in the Developer Console and configure it to use the Square Online Store features. This will allow you to test your integration and ensure that your reward-issuance workflow functions correctly for both POS and online orders.

This answer was reviewed by @Bryan-Square.

Hello, @Gaurav

The same webhooks EZ Pass OH as the POS, and the differences in payload are minimal and testable in the Sandbox.

Best Regard,

Sarah

One clarification: API Explorer doesn’t let us differentiate POS orders from Online Store orders, since it only creates generic Orders API requests. So we’re unable to test true Online Store webhook payloads through it.

Could you please confirm:

  • How can we test Square Online Store webhook payloads in sandbox?

  • Is there any sandbox version of the Square Online Store, or an alternate way to generate real online-store orders for testing?

Online Store orders are no different from any other order created with the API. Also with order webhooks we don’t send the entire order payload in the webhook. You will have to call the API to get all the order details. :slight_smile:

Thanks for confirming.

Just to clarify — since our integration also relies on Customers, Loyalty, Gift Cards, and other related APIs, we want to ensure consistency across all event types.

Can you confirm that webhook payloads for these resources (Customers, Loyalty, Gift Cards, etc.) will also remain the same regardless of whether the transaction originates from Square POS or the Square Online Store?

This will help us validate that no additional handling is required on our side.

Yes, that are all the same. :slight_smile: