Remove a payment from an order
DELETE/v1/orders/:id/payments/:paymentId
Cancels one payment of an order and returns the order with its payment totals recalculated.
The payment is not erased: it stays on the order with canceled_at set, so the money movement remains auditable. Cancelling every payment is also what an order needs before it can be cancelled with POST /v1/orders/{id}/cancel.
Only orders created through the API can be changed here. An order taken on the storefront, the POS or a food app belongs to that channel and answers 422 order_not_modifiable.
Required scope: orders:write
Request
Responses
- 200
- 401
- 403
- 404
- 422
The order without the cancelled payment.
Unauthenticated — the request is missing a credential, or the Bearer token / API key is invalid, expired, or revoked.
Insufficient scope — the credential is authenticated but lacks a scope the endpoint requires.
Not found — no resource matches the id in the path (or it belongs to a different company).
Validation failed — the request body failed schema validation. errors[] lists every offending field.