Easily Integrate Square Webhooks with your application.

https://developer.squareup.com/docs/webhooks/v2webhook-events-tech-ref

Steps to receive Square Webhooks

  • Sign up for your free Hooky account.
  • Create a new Webhook Source, and select Square. This will be the endpoint that receives webhooks on behalf of your application, and forwards them using the unified SDK.
  • Step 1
  • Step 2
  • Once a webhook is received from Square, you'll see it under the Live Logs section of your webhook source.
  • Next, follow the examples below to integrate the Hooky SDK in ruby or javascript, and start receiving webhooks.
Save countless hours integrating Square webhooks into your application.

Integrating Square Webhooks Using Javascript

Integrating Square webhooks with Hooky in your Javascript based application is straight forward. Just grab the SDK, and call a function when that webhook is received.

Integrating Square Webhooks Using Ruby

Integrating Square webhooks with Hooky in your Ruby or Ruby on Rails application is straight forward. Just grab the SDK, and call a method when that webhook is received.

Configuring Square Webhook Authentication

Here's how it works

Supported Square Webhook Events

bank_account.disabled

Published when Square sets the status of a bank account to DISABLED.

bank_account.verified

Published when Square sets the status of a bank account to VERIFIED.

bank_account.created

Published when you link an external bank account to a Square account in the Seller Dashboard. Square sets the initial status to VERIFICATION_IN_PROGRESS and publishes the event.

booking.created

A booking is created by calling CreateBooking.

booking.updated

An API-created booking is updated in the Seller Dashboard, on the seller's online booking site, or by calling UpdateBooking.

card.automatically_updated

Published when card expiration information or pan is automatically updated.

card.created

Published when a card is created or imported.

card.disabled

Published when a card is disabled.

card.forgotten

Published when a card is GDPR forgotten/vaulted.

card.updated

Published when a card is updated by the developer using the UpdateCard endpoint.

catalog.version.updated

The catalog was updated. Webhook notification data is packaged as "catalog_version": { "updated_at": "2019-05-14T17:51:27Z"}.

customer.created

A customer profile is created, including when customer profiles are merged into a new customer profile.

customer.deleted

A customer profile is deleted, including when customer profiles are merged into a new customer profile.

customer.updated

An attribute on a customer profile is changed, except for the following: cards (deprecated) segment_ids

device.code.paired

A Square Terminal has been paired with a Terminal API client and the device_id of the paired Square Terminal is available.

dispute.created

A dispute was created.

dispute.state.changed

The state of a dispute changed. This includes the dispute resolution (WON or LOST) reported by the bank. The event data includes details about what changed. (DEPRECATED)

dispute.state.updated

The state of a dispute changed. This includes the dispute resolution (WON or LOST) reported by the bank. The event data includes details about what changed.

dispute.evidence.added

Evidence was added to a dispute from the Disputes Dashboard in the Seller Dashboard, in the Square Point of Sale application, or by calling the Disputes API (CreateDisputeEvidenceFile or CreateDisputeEvidenceText). (DEPRECATED)

dispute.evidence.created

Evidence was added to a dispute from the Disputes Dashboard in the Seller Dashboard, in the Square Point of Sale application, or by calling the Disputes API (CreateDisputeEvidenceFile or CreateDisputeEvidenceText).

dispute.evidence.deleted

Evidence was removed from a dispute from the Disputes Dashboard in the Seller Dashboard, in the Square Point of Sale application, or by calling DeleteDisputeEvidence.

dispute.evidence.removed

Evidence was removed from a dispute from the Disputes Dashboard in the Seller Dashboard, in the Square Point of Sale application, or by calling DeleteDisputeEvidence. (DEPRECATED)

gift_card.created

A gift card was created.

gift_card.updated

A gift card was updated. The attributes on a gift card that can be updated are balance_money, state, and customer_ids.

gift_card.customer_linked

A customer was linked to a gift card.

gift_card.customer_unlinked

A customer was unlinked from a gift card.

gift_card.activity.created

A gift card activity was created.

inventory.count.updated

The quantity was updated for a catalog item variation. Webhook notification data is packaged as InventoryCount[].

invoice.created

A draft invoice was created.

invoice.published

An invoice was published. This also applies to invoices that are published but scheduled to be processed at a later time.

invoice.updated

An invoice was changed. This event is also invoked following invoice.published and invoice.canceled events.

invoice.payment_made

A payment was made for an invoice.

invoice.scheduled_charge_failed

A scheduled charge has failed.

invoice.canceled

An invoice was canceled.

invoice.refunded

A refund was processed for an invoice.

invoice.deleted

A draft invoice was deleted. A deleted invoice is removed entirely from the seller account and cannot be retrieved.

labor.shift.created

A worker started a shift. Webhook notification data is packaged as a Shift.

labor.shift.updated

A shift was updated. Typically a break was started or ended or a worker ended the shift. Webhook notification data is packaged as a Shift.

labor.shift.deleted

A shift was deleted. Notification data includes the deleted shift ID and the isDeleted flag.

location.created

A Location was created.

location.updated

A Location was updated.

loyalty.account.created

Published when a loyalty account is created for a buyer.

loyalty.account.updated

Published for any updates to an existing loyalty account.

loyalty.account.deleted

Published when a loyalty account is deleted

loyalty.program.created

Published when a loyalty program is created using the Seller Dashboard.

loyalty.program.updated

Published when a loyalty program is updated using the Seller Dashboard.

loyalty.event.created

Square Loyalty maintains a ledger of events that occur over the lifetime of a loyalty account. Square publishes notifications for each loyalty event logged to the ledger. These loyalty events are immutable, which means they are never updated or deleted. For example, when a buyer redeems a reward and then returns it, Square publishes separate notifications for the corresponding CREATE_REWARD and DELETE_REWARD events. Similarly, Square publishes a notification for the ADJUST_POINTS event when points are deducted after a purchase that accrued points is refunded.

oauth.authorization.revoked

Notifies an application whenever a seller revokes all access tokens and refresh tokens granted to the application.

order.created

An Order was created. This event is triggered only by the CreateOrder endpoint call.

order.fulfillment.updated

An OrderFulfillment was created or updated. This event is triggered only by the UpdateOrder endpoint call.

order.updated

An Order was updated. This event is triggered only by the UpdateOrder endpoint call.

payment.created

A Payment was created.

payment.updated

A Payment was updated. Typically the payment.status or card_details.status field is updated when a payment is canceled, authorized, or completed.

refund.created

A Refund was created.

refund.updated

A Refund was updated. Typically the refund.status field changes when a refund is completed.

subscription.created

Published whenever the Subscription object is created.

subscription.updated

Published whenever the Subscription object changes.

team_member.created

A new team member was created.

team_member.updated

A team member was updated.

team_member.wage_setting.updated

A new team member wage setting was updated.

terminal.checkout.created

A TerminalCheckout request was created.

terminal.checkout.updated

The status of a TerminalCheckout was changed.

terminal.refund.created

A TerminalRefund request was created.

terminal.refund.updated

The status of a TerminalRefund was changed.