movere Docs

provider_operation_unsupported

A typed 422 Unprocessable Entity returned by a payment lifecycle endpoint when the payment provider that handled a charge does not support the requested operation. The payment is left untouched.

Lifecycle capabilities depend on the payment route. Some routes capture at authorization and cannot perform a separate capture or void. This typed error identifies that restriction on routes that expose it; it is not the universal response for every unsupported operation.

When you hit it

An authorized payment on a route with this restriction returns this error when you call:

State checks run first. Capturing an already-captured payment returns 200 with the current state. Voiding a captured payment returns 409 payment not voidable in current state.

Refund support is separate. If your payment route supports refunds, use POST /v1/payment_intents/{id}/refund to return funds, within its enabled full/partial refund limits. Some routes do not support refunds and return 502 with { "error": "refund not supported by configured provider" }. Other routes without void support can return 502 with { "error": "void not supported by configured provider" }.

Response shape

HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json

{
  "error": {
    "code": "provider_operation_unsupported",
    "message": "This payment captures at authorization; a separate capture call is not supported.",
    "operation": "capture",
    "docs_url": "https://docs.mooov.money/errors/provider_operation_unsupported"
  }
}

Field reference:

Field Always present Notes
code Yes Stable string. Wire on this rather than the human message.
message Yes Human-readable. Subject to copy iteration; do not parse.
operation Yes The lifecycle operation that is unsupported (capture, void).
docs_url Yes Stable link to this page.

Wire on code and operation; both are stable. The human message is explanatory copy and may change, so do not parse it.

What to do

This typed 422 does not change the payment state. Do not treat it as a successful capture, void, or refund, or retry an unsupported operation unchanged.