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.
Integrating Square Webhooks Using Javascript
- 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.
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.