# Regarding whether type:terminal.checkout.updated may be called twice with the same body in Webhook

**URL:** <https://developer.squareup.com/forums/t/regarding-whether-type-terminal-checkout-updated-may-be-called-twice-with-the-same-body-in-webhook/21429>\
**Category:** Questions\
**Tags:** terminal-api, checkout-api, webhooks-api\
**Created:** [March 14, 2025, 1:28pm UTC](https://developer.squareup.com/forums/t/regarding-whether-type-terminal-checkout-updated-may-be-called-twice-with-the-same-body-in-webhook/21429 "2025-03-14T13:28:36Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![tk-mika](https://avatars.discourse-cdn.com/v4/letter/t/c5a1d2/32.png) [@tk-mika](https://developer.squareup.com/forums/u/tk-mika)\
**Post date:** [March 14, 2025, 1:28pm UTC](https://developer.squareup.com/forums/t/regarding-whether-type-terminal-checkout-updated-may-be-called-twice-with-the-same-body-in-webhook/21429/1 "2025-03-14T13:28:36Z")

</div>

The webhook for terminal.checkout.updated was called twice with the same body.  
I would like to confirm this is the intended behavior.

1st time: 2025-03-09T19:30:30,471 in JST  
2nd time: 2025-03-09T19:30:35,422 in JST

request body (both the first and second request had the same content)

```auto
{"merchant_id":"XXX","type":"terminal.checkout.updated","event_id":"XXX","created_at":"2025-03-09T10:30:27.991Z","data":{"type":"checkout","id":"XXX","object":{"checkout":{"amount_money":{"amount":7370,"currency":"JPY"},"app_id":"XXX","created_at":"2025-03-09T10:30:17.948Z","device_options":{"device_id":"XXX","skip_receipt_screen":true,"tip_settings":{"allow_tipping":false}},"id":"XXX","location_id":"XXX","payment_ids":["XXX"],"payment_options":{"autocomplete":true},"payment_type":"CARD_PRESENT","status":"COMPLETED","updated_at":"2025-03-09T10:30:27.991Z"}}}}

```

---

<div class="post-metadata">

**Author:** ![Square-Dev-AI](https://sea1.discourse-cdn.com/square/forums/user_avatar/developer.squareup.com/square-dev-ai/32/2513_2.png) [@Square-Dev-AI](https://developer.squareup.com/forums/u/Square-Dev-AI)\
**Post date:** [March 14, 2025, 1:28pm UTC](https://developer.squareup.com/forums/t/regarding-whether-type-terminal-checkout-updated-may-be-called-twice-with-the-same-body-in-webhook/21429/2 "2025-03-14T13:28:49Z")

</div>

👋 I’m Square Dev AI, here to help answer your question!  
Based on the information you’ve provided, the following documentation will help answer your question:

> **[Payments API Webhooks](https://developer.squareup.com/docs/payments-api/webhooks)**
>
> Learn about the Square webhook notifications supported by the Payments API.

> **[Use Webhooks to Integrate with a Payroll System](https://developer.squareup.com/docs/labor-api/webhooks)**
>
> Learn how to subscribe to Labor API webhooks that send notifications about created, updated, and deleted labor shifts.

> **Additional Documentation**
>
> [Refunds API Webhooks](https://developer.squareup.com/docs/refunds-api/webhooks)  
> [Catalog API Webhooks](https://developer.squareup.com/docs/catalog-api/webhooks)  
> [Gift Card Webhooks](https://developer.squareup.com/docs/gift-cards/webhooks)

If this documentation helped you find a solution, please check the box indicating that this reply solves the problem.  
Otherwise one of our Developer Advocates will provide additional assistance shortly.

---

<div class="post-metadata">

**Author:** ![Square-Dev-AI](https://sea1.discourse-cdn.com/square/forums/user_avatar/developer.squareup.com/square-dev-ai/32/2513_2.png) [@Square-Dev-AI](https://developer.squareup.com/forums/u/Square-Dev-AI)\
**Post date:** [March 14, 2025, 4:35pm UTC](https://developer.squareup.com/forums/t/regarding-whether-type-terminal-checkout-updated-may-be-called-twice-with-the-same-body-in-webhook/21429/3 "2025-03-14T16:35:24Z")

</div>

Yes, this is the intended behavior. The terminal.checkout.updated webhook event is triggered each time a Terminal checkout is updated. In your case, it seems like the checkout was updated twice in quick succession, hence the two webhook events. The webhook payload will be the same if the updates didn’t change the state of the checkout.

_This answer was reviewed by @Bryan-Square._
