Square events, straight into Custom Webhook
Every new payment, refund, or dispute — posted to Custom Webhook the moment it happens. No automation-platform subscription just to relay one webhook.
Why not call Square's API directly from your own endpoint? You can — but then you own Square's signature verification, retry handling, and payload quirks yourself. ZestyGlue verifies the signature, normalizes the event into a clean JSON body, and POSTs it to your URL — you only write the part that's actually yours.
What it looks like
ZestyGlue
Square — Payment.Created
42.50 USD
status: COMPLETED
A real Square event, shown as ZestyGlue formats it for Custom Webhook.
Setup — about two minutes
- Create the connector. In ZestyGlue, start a new Square → Custom Webhook connector. You'll get a unique webhook URL right away.
- Point Square at it. In the Square Developer Dashboard, go to your app → Webhooks → Add Endpoint, paste in your ZestyGlue webhook URL, and select the event types you want.
- Copy the Signature Key. Square shows a Signature Key for your webhook subscription — paste that into ZestyGlue's connector setup so every event can be verified as genuinely from Square.
- Point it at your endpoint. Paste the URL of your own server, script, or automation tool's webhook receiver — no signup, no app to install.
Under the hood: Square signs its webhook using both your endpoint's URL and the request body together — if you ever change your ZestyGlue connector's URL, update the endpoint URL in Square's dashboard to match, or verification will fail.
Events you can forward
payment.created
payment.updated
refund.created
dispute.created
Questions
Is my Square Webhook Signature Key safe with ZestyGlue?
It's encrypted at rest with Fernet symmetric encryption before it ever touches disk, it's never logged, and it's never displayed again in the dashboard after you enter it — only a masked placeholder is shown.
Does this work with Square's sandbox/test environment?
Yes — point a sandbox webhook subscription at the same connector while testing, then switch to your production Signature Key when you go live.
Can I track disputes separately from regular payments?
Yes — subscribe to dispute.created as its own event type alongside payment.created if you want disputes called out distinctly.
Do I need to write my own server to receive this?
Yes — this destination expects your own endpoint (or a tool like a serverless function, a script, or another automation platform's webhook trigger) to receive the POST. If you don't have one yet, pick one of ZestyGlue's built-in destinations instead.
What happens if my ZestyGlue subscription lapses?
Events are silently dropped rather than causing errors on Square's side — Square never sees a failure response, so it won't retry aggressively or flag your webhook as broken. Your dashboard will simply stop showing new events until you resubscribe.