# `order.return.request` Open a return/withdrawal (shopper from the order page, or merchant recording a phone/e-mail notice). - **scope**: `checkout` - **storefront-visible** (bumps the catalog generation): no - **destructive**: no ## Payload | field | type | required | notes | |---|---|---|---| | `orderId` | string (/^ord_[a-zA-Z0-9]{1,32}$/) | yes | | | `returnId` | string (/^ret_[a-zA-Z0-9]{1,32}$/) | yes | | | `kind` | "cayma" \| "ayipli" \| "gec_teslimat" | yes | | | `channel` | "shopper_page" \| "merchant_panel" \| "email" \| "phone" | yes | | | `lines` | array (≤50) | yes | | | `reasonCode` | "vazgectim" \| "beden_uyumsuz" \| "hasarli" \| "yanlis_urun" \| "diger" | no | | | `reasonText` | string (≤500 chars) | no | | | `refundIban` | string (/^TR\d{24}$/) | no | | | `fullOrder` | boolean | yes | | | `returnShippingKurus` | integer (0..10000000000000, default 0) | no | | | `notice` | object | yes | | | ` ip` | string (≤60 chars) | yes | | | ` ua` | string (≤300 chars) | yes | | ### 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}$" }, "returnId": { "type": "string", "pattern": "^ret_[a-zA-Z0-9]{1,32}$" }, "kind": { "type": "string", "enum": [ "cayma", "ayipli", "gec_teslimat" ] }, "channel": { "type": "string", "enum": [ "shopper_page", "merchant_panel", "email", "phone" ] }, "lines": { "minItems": 1, "maxItems": 50, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "pattern": "^rtl_[a-zA-Z0-9]{1,32}$" }, "orderLineId": { "type": "string", "pattern": "^oln_[a-zA-Z0-9]{1,32}$" }, "qty": { "type": "integer", "minimum": 1, "maximum": 99 } }, "required": [ "id", "orderLineId", "qty" ], "additionalProperties": false } }, "reasonCode": { "type": "string", "enum": [ "vazgectim", "beden_uyumsuz", "hasarli", "yanlis_urun", "diger" ] }, "reasonText": { "type": "string", "minLength": 1, "maxLength": 500 }, "refundIban": { "type": "string", "pattern": "^TR\\d{24}$" }, "fullOrder": { "type": "boolean" }, "returnShippingKurus": { "default": 0, "type": "integer", "minimum": 0, "maximum": 10000000000000 }, "notice": { "type": "object", "properties": { "ip": { "type": "string", "maxLength": 60 }, "ua": { "type": "string", "maxLength": 300 } }, "required": [ "ip", "ua" ], "additionalProperties": false } }, "required": [ "orderId", "returnId", "kind", "channel", "lines", "fullOrder", "notice" ], "additionalProperties": false } ```