How to Set Up Square Webhook Notifications with Webhookify

Published Feb 21 202610 min read
Square webhook setup with Webhookify

Square is a comprehensive commerce platform that enables businesses to accept payments in person, online, and through invoices. From point-of-sale terminals to e-commerce checkout, Square powers millions of merchants worldwide. Square's webhook system (called "event notifications") lets you receive real-time HTTP callbacks when events occur in your Square account -- payments processed, orders created, inventory changes, customer updates, and more. With Webhookify, you can transform those Square webhook events into instant, AI-powered notifications delivered to Telegram, Discord, Slack, Email, or mobile push with a cash register sound for every sale. Whether you run a retail store, restaurant, or online shop, knowing about every transaction in real time keeps you connected to your business.

This guide walks you through the complete setup for connecting Square webhooks to Webhookify so you receive instant payment and order notifications wherever you are.

Why Monitor Square Webhooks with Webhookify?

  • Instant Payment Notifications with Cash Sound: Get a push notification with a cash register sound on your phone every time a payment is completed through Square. Whether the sale happens at your physical register, online store, or through a Square invoice, you will hear it instantly.

  • Order Tracking Across Channels: Monitor orders placed through Square Online, Square POS, or third-party integrations. Webhookify alerts you on Slack or Discord when new orders come in, so your fulfillment team can act immediately.

  • Inventory Change Alerts: Track inventory count changes in real time. Get notified when stock levels drop below thresholds or when catalog items are updated, helping you prevent stockouts and manage your product catalog proactively.

  • AI-Powered Transaction Summaries: Square webhook payloads contain complex nested objects with money amounts, item details, tender information, and customer references. Webhookify's AI translates these into clear summaries like "Payment completed: $47.50 (Visa ending 4242) for Order #1234."

  • Multi-Location Monitoring: If you operate multiple Square locations, route webhooks from all locations to a single Webhookify endpoint. Each notification identifies the location, giving you a centralized view of business activity across all your stores.

Prerequisites

  1. A Square account (merchant account). Sign up at squareup.com if you do not have one.
  2. A Square Developer account and application. Create one at developer.squareup.com.
  3. A Webhookify account. Sign up for free at webhookify.app.
  4. A notification channel configured in Webhookify (Telegram bot, Discord webhook, Slack workspace, or Email address).
  5. Access to the Square Developer Dashboard with permissions to manage webhook subscriptions.

Step-by-Step Setup Guide

1

Create a Webhookify Endpoint

Log in to your Webhookify dashboard at webhookify.app and click "Create Endpoint." Name it something like "Square Payments" or "Square Store Alerts."

Webhookify generates a unique HTTPS URL:

https://hook.webhookify.app/w/your-unique-endpoint-id

Copy this URL. The endpoint is live immediately and ready to receive webhook events from Square. All incoming payloads are logged in real time on your Webhookify dashboard.

2

Configure Your Notification Channel

Navigate to Settings in your Webhookify dashboard and set up your preferred notification channels:

  • Telegram: Connect the Webhookify bot for personal sale alerts. Ideal for business owners who want to track every transaction in real time.
  • Discord: Add a Discord webhook URL for team notifications. Create a #sales channel so your entire team sees incoming orders.
  • Slack: Connect your Slack workspace for professional operations. Route payment alerts to your operations or finance channel.
  • Email: Enter your email for transaction records and accounting purposes.
  • Mobile Push: Install the Webhookify app on iOS or Android. Enable the cash sound notification for payment events -- every time a Square payment completes, you will hear a satisfying cash register sound on your phone.

For retail and restaurant businesses, mobile push with cash sound is the most popular configuration. It gives owners and managers instant awareness of business activity throughout the day.

3

Set Up Webhooks in Square

Configure Square to send webhook events to your Webhookify endpoint:

  1. Go to the Square Developer Dashboard.
  2. Select your application (or create a new one if you do not have one).
  3. In the left sidebar, click Webhooks (under your application settings).
  4. Click "Add subscription" or "Subscribe to events".
  5. In the Notification URL field, paste your Webhookify endpoint URL.
  6. Choose the events you want to subscribe to (see the next step for available events).
  7. Select the API version (use the latest version for the newest event types).
  8. Click Save.

Square requires that your webhook endpoint responds with a 200 status code within 10 seconds. Webhookify endpoints respond instantly, so this requirement is always met.

If you are using the Square Sandbox environment for testing, configure the webhook under the Sandbox tab before switching to Production.

4

Select Events to Monitor

Square offers a wide range of webhook event types organized by product area. Select the events most relevant to your business:

Payment Events:

  • payment.completed -- A payment has been successfully processed.
  • payment.created -- A new payment record has been created.
  • payment.updated -- A payment has been modified (refund applied, status change, etc.).

Order Events:

  • order.created -- A new order has been placed.
  • order.updated -- An order has been modified.
  • order.fulfilled -- An order has been marked as fulfilled.

Invoice Events:

  • invoice.created -- A new invoice has been created.
  • invoice.published -- An invoice has been sent to the customer.
  • invoice.payment_made -- A payment has been made on an invoice.
  • invoice.canceled -- An invoice has been canceled.

Customer Events:

  • customer.created -- A new customer profile has been created.
  • customer.updated -- Customer information has been modified.
  • customer.deleted -- A customer profile has been removed.

Catalog Events:

  • catalog.version.updated -- Your product catalog has been modified (items added, removed, or updated).

Inventory Events:

  • inventory.count.updated -- Inventory count has changed for one or more items.

For most retail businesses, subscribing to payment.completed, order.created, and inventory.count.updated covers the essential real-time monitoring needs.

5

Test Your Configuration

Test your webhook setup using Square's tools:

  1. In the Square Developer Dashboard, navigate to your webhook subscription.
  2. Use the "Send test event" button (if available) to send a sample event to your Webhookify URL.
  3. Alternatively, use the Square Sandbox to simulate a payment:
    • Switch to the Sandbox environment in the Developer Dashboard.
    • Use the Square Sandbox POS app or API to process a test payment.
    • The webhook should fire within seconds.
  4. Check your Webhookify dashboard for the incoming webhook payload.
  5. Verify that your notification channel received the alert.
  6. If you enabled the cash sound on mobile, you should hear it for payment.completed events.

Once testing is successful in Sandbox, make sure your Production webhook is configured with the same Webhookify URL to start receiving real payment notifications.

Square Webhook Events You Can Monitor

Complete reference of Square webhook event types that Webhookify captures:

Payments:

  • payment.completed -- Payment successfully processed
  • payment.created -- New payment record created
  • payment.updated -- Payment modified (refund, void, etc.)

Orders:

  • order.created -- New order placed
  • order.updated -- Order modified
  • order.fulfilled -- Order marked as fulfilled

Invoices:

  • invoice.created -- New invoice created
  • invoice.published -- Invoice sent to customer
  • invoice.payment_made -- Payment received on invoice
  • invoice.updated -- Invoice modified
  • invoice.canceled -- Invoice canceled
  • invoice.scheduled_charge_failed -- Scheduled invoice charge failed

Customers:

  • customer.created -- New customer profile created
  • customer.updated -- Customer info modified
  • customer.deleted -- Customer profile removed

Catalog:

  • catalog.version.updated -- Catalog items added, removed, or modified

Inventory:

  • inventory.count.updated -- Stock count changed

Refunds:

  • refund.created -- Refund issued
  • refund.updated -- Refund status changed

Disputes:

  • dispute.created -- Payment dispute (chargeback) opened
  • dispute.state.updated -- Dispute status changed

Each payload includes the merchant ID, location ID, event timestamp, and the full data object for the affected resource.

Real-World Use Cases

  • Retail Store Owner Dashboard: Set up mobile push notifications with cash sound for every payment.completed event. Whether you are on the shop floor, at lunch, or at home, you will know the instant a sale is made. The notification includes the payment amount and method, giving you a running sense of daily revenue.

  • Restaurant Order Management: Route order.created events to a Discord or Slack channel for your kitchen and front-of-house team. When a new order comes in through Square Online or a delivery platform, the team gets an immediate alert with the order details.

  • Inventory Management: Monitor inventory.count.updated events to track stock levels in real time. Get a Telegram alert when inventory for a popular item drops below a threshold, so you can reorder before running out.

  • Invoice Payment Tracking: Forward invoice.payment_made events to email for your accounting team. Every time a customer pays an invoice, a notification with the payment amount and invoice details is sent automatically, reducing manual follow-up.

Example Notification

When a payment is completed in Square, Webhookify delivers a notification like this:

{
  "merchant_id": "ML1A2B3C4D5E6F",
  "type": "payment.completed",
  "event_id": "evt_1a2b3c4d5e6f7g8h9i0j",
  "created_at": "2026-02-21T12:45:30.000Z",
  "data": {
    "type": "payment",
    "id": "pay_abc123def456",
    "object": {
      "payment": {
        "id": "pay_abc123def456",
        "amount_money": {
          "amount": 4750,
          "currency": "USD"
        },
        "total_money": {
          "amount": 4750,
          "currency": "USD"
        },
        "status": "COMPLETED",
        "source_type": "CARD",
        "card_details": {
          "card": {
            "card_brand": "VISA",
            "last_4": "4242"
          },
          "status": "CAPTURED"
        },
        "location_id": "LOC_XYZ789",
        "order_id": "ord_987654321",
        "created_at": "2026-02-21T12:45:28.000Z"
      }
    }
  }
}

Webhookify's AI summary would display:

Square Payment Completed: $47.50 USD via Visa ending 4242. Status: COMPLETED. Order: ord_987654321. Location: LOC_XYZ789.

If you have the cash sound enabled, you will hear a "cha-ching" along with this notification.

Troubleshooting

  1. No events received after configuring the webhook: Verify your webhook subscription is active in the Square Developer Dashboard. Also check that you are using the correct environment -- Sandbox webhooks only fire for Sandbox transactions, and Production webhooks only fire for real transactions.

  2. "Signature validation failed" errors in Square Dashboard: Square signs every webhook payload with a signature that can be validated using your webhook signature key. While Webhookify receives the payload regardless of signature validation, if you see delivery failures in Square, ensure the Notification URL is exactly correct.

  3. Payment events received but order events missing: Payment and order events are separate subscriptions in Square. Make sure you subscribed to both payment.completed and order.created if you want both types of notifications. Go back to the Webhooks section and add the missing subscriptions.

  4. Events are delayed by more than a minute: Square generally delivers webhook events within a few seconds, but during high-volume periods (like holidays), there may be slight delays. This is on Square's end and not related to Webhookify. If delays persist, check the Square Developer Status page.

  5. Duplicate events received: Square may retry webhook delivery if it does not receive a 200 response quickly enough. Webhookify responds immediately, but network issues could occasionally cause retries. Each event has a unique event_id that you can use to identify duplicates.

Square's webhook events include a location_id field that identifies which of your Square locations generated the event. If you run multiple stores or restaurants, you can use this to differentiate between locations in your Webhookify notifications. Name your locations clearly in the Square Dashboard so the location ID is easy to reference.

Hear Every Square Sale Instantly

Create a free Webhookify endpoint and get instant Square payment notifications with a cash sound on your phone, plus alerts on Telegram, Discord, and Slack.

Get Started Free

Related Articles

Frequently Asked Questions

How to Set Up Square Webhook Notifications with Webhookify - Webhookify | Webhookify