You are viewing a non-production environment — the API surface may differ from production.
Ordering APIEvents

Tab payment completed

Authoritative success signal for one payment, which may cover only part of the tab. It does not mean the tab was manually closed. Use tabSettled (or remainingBalanceCents) to decide whether the tab is fully paid, and use tab.closed only for manual or administrative closure.

Request Body

application/json

Payload delivered to your subscribed webhook URL for the tab.payment_completed event.

TypeScript Definitions

Use the request body type in TypeScript.

Envelope POSTed to subscribed webhook URLs. Signed with HMAC-SHA256 in the X-Webhook-Signature header.

id*string

Unique id of this delivery attempt group.

Match^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
Formatuuid
event*"tab.payment_completed"

Value in

  • "tab.payment_completed"
resource*"tab"

Value in

  • "tab"
resourceId*string
timestamp*string
Match^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
Formatdate-time
apiVersion*string
data*

Response Body

Example Requests

Envelope POSTed to subscribed webhook URLs. Signed with HMAC-SHA256 in the X-Webhook-Signature header.

POST/tab.payment_completed