# `order.refund.request` Reserve a refund amount on a paid order (intent row = the PSP conversation anchor). - **scope**: `orders:write` - **storefront-visible** (bumps the catalog generation): no - **destructive**: no ## Payload | field | type | required | notes | |---|---|---|---| | `orderId` | string (/^ord_[a-zA-Z0-9]{1,32}$/) | yes | | | `refundId` | string (/^ref_[a-zA-Z0-9]{1,32}$/) | yes | | | `amountKurus` | integer (0..10000000000000) | yes | | | `reason` | string (≤200 chars) | no | | | `returnId` | string (/^ret_[a-zA-Z0-9]{1,32}$/) | no | | ### JSON Schema ```json { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "orderId": { "type": "string", "pattern": "^ord_[a-zA-Z0-9]{1,32}$" }, "refundId": { "type": "string", "pattern": "^ref_[a-zA-Z0-9]{1,32}$" }, "amountKurus": { "type": "integer", "minimum": 0, "maximum": 10000000000000 }, "reason": { "type": "string", "minLength": 1, "maxLength": 200 }, "returnId": { "type": "string", "pattern": "^ret_[a-zA-Z0-9]{1,32}$" } }, "required": [ "orderId", "refundId", "amountKurus" ], "additionalProperties": false } ```