Overview
PATCH /payments/{id} updates a single payment by its document ID. It is a partial update: only the fields you include in the body are modified, everything else is left untouched.
The request body uses the same conventions as the response - amount in integer cents, dates as YYYY-MM-DD (interpreted in the Europe/Paris timezone), and status verbatim. So you can read a payment with GET /payments/{id}, change a few fields, and send them straight back.
Updating a payment automatically emits the
payment.updated webhook when at least one exposed field changes. Security deposits (holds) are out of scope and return 404, consistent with the payment webhooks.Authentication
All requests require a Bearer token (your BookingShake API key):Path Parameters
The payment document ID - the
id field carried by the payment.* webhooks.Body Parameters
All body fields are optional, but at least one must be provided.Payment label.
Amount in integer cents (e.g.,
90000 = €900.00). Must be a non-negative integer.One of
waiting, paid, or canceled.Payment method label, stored verbatim.
Date the payment was received,
YYYY-MM-DD. Pass null to clear it.Date the payment is expected,
YYYY-MM-DD. Pass null to clear it.Request
Response
The full payment is returned in its post-update state, wrapped in the standard{ message, data } envelope - identical in shape to GET /payments/{id}.
Errors
| Status | Meaning |
|---|---|
400 | Missing/invalid token, missing payment id, empty/invalid body, no updatable fields, or a field that fails validation (unknown status, non-integer amount, malformed date) |
404 | Payment not found - it does not exist, belongs to another venue, or is a security deposit (hold) |
429 | Rate limit exceeded (30 requests/minute) |
500 | Internal server error |
A
404 is returned uniformly whenever the payment is outside your scope, so the existence of another venue’s payment is never disclosed.Next Steps
Get a Payment
Retrieve a payment before updating it
Payment Events
Receive payment changes in real time via the payment.* webhooks
