--- title: returnRefund - GraphQL Admin description: Refunds a return when its status is `OPEN` or `CLOSED` and associates it with the related return request. api_version: 2025-07 api_name: admin type: mutation api_type: graphql source_url: html: https://shopify.dev/docs/api/admin-graphql/2025-07/mutations/returnRefund md: https://shopify.dev/docs/api/admin-graphql/2025-07/mutations/returnRefund.md --- # return​Refund mutation Requires `write_returns` access scope or `write_marketplace_returns` access scope. Also: The user must have `refund_orders` permission. Deprecated. Use [returnProcess](https://shopify.dev/docs/api/admin-graphql/latest/mutations/returnProcess) instead. Refunds a return when its status is `OPEN` or `CLOSED` and associates it with the related return request. ## Arguments * return​Refund​Input [Return​Refund​Input!](https://shopify.dev/docs/api/admin-graphql/2025-07/input-objects/ReturnRefundInput) required The input fields to refund a return. *** ## Return​Refund​Payload returns * refund [Refund](https://shopify.dev/docs/api/admin-graphql/2025-07/objects/Refund) The created refund. * user​Errors [\[Return​User​Error!\]!](https://shopify.dev/docs/api/admin-graphql/2025-07/objects/ReturnUserError) non-null The list of errors that occurred from executing the mutation. *** ## Examples * ### returnRefund reference ## Mutation Reference ```graphql mutation returnRefund($returnRefundInput: ReturnRefundInput!) { returnRefund(returnRefundInput: $returnRefundInput) { refund { # Refund fields } userErrors { field message } } } ``` ## Input ```json { "returnRefundInput": { "returnId": "gid://shopify//10079785100", "returnRefundLineItems": [ { "returnLineItemId": "gid://shopify//10079785100", "quantity": 1 } ], "refundShipping": { "shippingRefundAmount": {}, "fullRefund": true }, "refundDuties": [ { "dutyId": "gid://shopify//10079785100", "refundType": "PROPORTIONAL" } ], "orderTransactions": [ { "transactionAmount": {}, "parentId": "gid://shopify//10079785100" } ], "notifyCustomer": true } } ```