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)$Format
uuidevent*"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))$Format
date-timeapiVersion*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