method and amount (a magnitude; type refund for money out). order and/or invoice by { id } or { externalId } in the channel. application (default auto) applies what fits: the named invoice, the order's open invoices oldest first, then the order; manual applies the listed invoice amounts exactly. Never applies beyond the payment or beyond an invoice balance (422 totals_mismatch with requested and available). onDuplicate (default update): outcome unchanged when nothing differs. Unknown fields are refused (400).
Scope: payments:write, channel:write or admin. A permission group made before the Channel API scopes existed grants it as payments:manage.
Idempotency: send Idempotency-Key; a retry with the same key replays the first answer.
Rate limit: write class, 1,200 requests per minute per tenant by default (read class 6,000). Every response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset; a refusal is 429 rate_limited with Retry-After.
