Class: SpreeSquare::OrderWebhookJob
- Defined in:
- app/jobs/spree_square/order_webhook_job.rb
Overview
Handles order.updated and order.fulfillment.updated. Payload shapes
verified against real Square test webhooks (not assumed from docs):
order.updated: data.object.order_updated
{ order_id, state, version, ... }
order.fulfillment.updated: data.object.order_fulfillment_updated
{ order_id, version, fulfillment_update:
[{ fulfillment_uid, new_state, old_state }] }
Instance Method Summary collapse
Instance Method Details
#perform(webhook_event_id) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'app/jobs/spree_square/order_webhook_job.rb', line 16 def perform(webhook_event_id) event = SpreeSquare::WebhookEvent.find(webhook_event_id) case event.event_type when 'order.updated' handle_order_updated(event.payload) when 'order.fulfillment.updated' handle_fulfillment_updated(event.payload) end event.mark_processed! end |