[[["เข้าใจง่าย","easyToUnderstand","thumb-up"],["แก้ปัญหาของฉันได้","solvedMyProblem","thumb-up"],["อื่นๆ","otherUp","thumb-up"]],[["ไม่มีข้อมูลที่ฉันต้องการ","missingTheInformationINeed","thumb-down"],["ซับซ้อนเกินไป/มีหลายขั้นตอนมากเกินไป","tooComplicatedTooManySteps","thumb-down"],["ล้าสมัย","outOfDate","thumb-down"],["ปัญหาเกี่ยวกับการแปล","translationIssue","thumb-down"],["ตัวอย่าง/ปัญหาเกี่ยวกับโค้ด","samplesCodeIssue","thumb-down"],["อื่นๆ","otherDown","thumb-down"]],["อัปเดตล่าสุด 2025-08-08 UTC"],[],[],null,["# Migrate online return policy management\n\nThe Content API resource `OnlineReturnPolicy` and associated fields including\n`ReturnPolicyPolicy` and `ReturnPolicySeasonalOverride` have changed.\n\nThe Merchant API equivalent of the\n[`returnpolicy`](/shopping-content/reference/rest/v2.1/returnpolicy) resource in\nContent API is\n[`accounts.onlineReturnPolicies`](/merchant/api/reference/rest/accounts_v1/accounts.onlineReturnPolicies).\n\nThis table explains what changes in `OnlineReturnPolicy`.\n\n| Content API | Merchant API |\n|------------------------------------------------------------------------|-------------------------------------------------------------|\n| ` \"country\": string ` | ` \"countries\": [ string ] ` |\n| ` \"policy\": { object (ReturnPolicyPolicy) } ` | ` \"policy\": { object (Policy) } ` |\n| ` \"seasonalOverrides\": [ { object (ReturnPolicySeasonalOverride) } ] ` | ` \"seasonalOverrides\": [ { object (SeasonalOverride) } ], ` |\n| ` nonFreeReturnReasons\": [ string ] ` | This field goes away.` ` |\n| `kind ` | This field goes away.` ` |\n| ` \"returnShippingFee\": { object (Price) } ` | ` \"returnShippingFee\": { object (ReturnShippingFee) } ` |\n\nIn addition, a number of fields are new with Merchant API.\n\n| Merchant API field | Description |\n|---------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ` \"restockingFee\": { object (RestockingFee) }, ` | Optional. The restocking fee that applies to all return reason categories. This would be treated as a free restocking fee if the value is not set. ` ` |\n| ` \"returnMethods\": [ enum (ReturnMethod) ] ` | Optional. The return methods of how customers can return an item. This value is required to not be empty unless the type of return policy is noReturns. ` ` |\n| ` \"itemConditions\": [ enum (ItemCondition) ], ` | Optional. The item conditions accepted for returns must not be empty unless the type of return policy is `noReturns.` |\n| ` \"returnShippingFee\": { object (ReturnShippingFee) } ` | Optional. The return shipping fee. Should be set only when customer need to download and print the return label. ` ` |\n| ` \"returnPolicyUri\": string ` | Required. The return policy URI. Google uses this to validate the policy. It must be a valid URL. ` ` |\n| ` \"acceptDefectiveOnly\": boolean ` | Required. Specifies that a merchant accepts only defective products for returns. ` ` |\n| ` \"processRefundDays\": integer ` | Optional. Specifies the number of days it takes for merchants to process refunds. ` ` |\n| ` \"acceptExchange\": boolean ` | Optional. Specifies whether the merchant allows customers to exchange products. |\n| ` \"returnLabelSource\": enum (ReturnLabelSource) ` | Specifies the return label source. Required when return method is BY_MAIL. ` ` |\n\nReturnPolicyPolicy\n------------------\n\nThe Content API `ReturnPolicyPolicy` becomes `Policy` in Merchant API. Here's\nhow the fields have changed.\n\n| Content API | Merchant API |\n|------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ` \"type\": string, ` | ` \"type\": enum (Type) ` Possible values include ` NUMBER_OF_DAYS_AFTER_DELIVERY, NO_RETURNS or LIFETIME_RETURNS. ` |\n| ` \"numberOfDays\": string ` | ` \"days\": string ` |\n| ` \"lastReturnDate\": string ` | Use `days` instead. It represents the number of days items can be returned after delivery, where one day is defined as 24 hours after the delivery timestamp. Required for `NUMBER_OF_DAYS_AFTER_DELIVERY` returns. |\n\nReturnPolicySeasonalOverride\n----------------------------\n\nThe Content API `ReturnPolicySeasonalOverride` becomes `SeasonalOverride` in\nMerchant API. In addition to the changes in fields, the additional field\n`return_window` is a union that can be either `returnDays` or `returnUntilDate`: \n\n \"returnDays\": integer,\n \"returnUntilDate\": {\n object (Date)\n\nThey have the following meanings:\n\n- `returnDays`: Number of days (from the delivery date) that the product can still be returned.\n- `returnUntilDate`: Fixed end date until which the product can be returned.\n\nHere's how the fields have changed.\n\n| Content API | Merchant API |\n|-----------------------------------------------|------------------------------------|\n| ` \"name\": string ` | ` \"label\": string ` |\n| ` \"startDate\": string ` | ` \"startDate\": { object (Date) } ` |\n| ` \"endDate\": string ` | ` \"endDate\": { object (Date) } ` |\n| ` \"policy\": { object (ReturnPolicyPolicy) } ` | Use `policy` instead. |\n\nDefinitions of other objects\n----------------------------\n\nFor definitions of the new Merchant API objects\n\n- `RestockingFee`\n- `ReturnMethod`\n- `ItemCondition`\n- `ReturnShippingFee`\n- `Type`\n- `ReturnLabelSource`\n\nsee\n[`accounts.onlineReturnPolicies`](/merchant/api/reference/rest/accounts_v1/accounts.onlineReturnPolicies).\n\nMethods\n-------\n\nWith Merchant API, there are some changes from the Content API methods as well.\n\n| Content API | Merchant API |\n|-----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ` customBatch ` | With Mechant API, there is a different approach. See [Refactor code for concurrent requests.](/merchant/api/guides/compatibility/refactor-concurrent-requests) |\n| ` delete ` | ` delete ` |\n| ` get ` | ` get ` |\n| ` insert ` | `create` |\n| ` list ` | ` list ` |"]]