每日整理真实提问 356 个问题 · 726 个回答 需要系统性的技术文档?看 Shopify 技术百科 1000 篇 → 400-873-8117
已解决 提问于 6 天前

想做一个「一键退货」页面,API 怎么走

2 个回答 2,410 次浏览 订单与物流 最后活跃 6 天前
19

客户退货要走邮件来回确认,效率很低。想在自己的账户页做一个退货表单,选商品、选原因、生成退货单。可行吗?

陈
陈工提问者
Shopify 认证开发者 · 专注主题与 Liquid
6 天前提问 · 已收到 2 个回答

2 个回答

已采纳 · 提问者确认解决
79

可以,路径是 Return API 而不是直接退款。直接 refundCreate 只会退钱不会回库存、不会生成退货单,后续对账一定乱。

1处理顺序

  1. 先取可退项:查订单的 fulfillmentOrders,拿到 fulfillmentOrderLineItems 及可退数量,不要用订单行项目数量硬算。
  2. 创建退货:returnCreate 传 returnLineItems(含数量与退货原因),返回 Return 及状态 REQUESTED。
  3. 审批:returnApproveRequest,之后可以生成退货面单或让客户自寄;退货入库走 fulfillmentCreate 反向单。
  4. 退款:退货单入库后再 refundCreate,传 refundLineItems 并指定是否退运费与税费。顺序反了会出现「钱退了库存没回」。
  5. 权限:应用需要 write_returns、write_fulfillments、write_orders;用 Staff 账号手工操作时注意员工权限里退货是单独一项。

跨境退货的运费责任、关税退还规则要在页面上写清楚,否则每单都要客服介入。欧盟还有 14 天无理由的法定要求,表单里要能选「法定撤回权」这一原因。

验收:测试订单完成一次完整退货:退货单生成、库存回补、退款金额与运费处理符合预期,后台订单状态显示已退货。
风 风格技术团队 · Shopify 官方合作伙伴 · 11 年建站经验 · 6 天前
8
退款渠道要注意:原路退回受收单方规则限制,超过 120 天的订单多数通道不允许原路退,只能线下转账。页面里要提前拦掉超期订单。
墨 墨白 · 支付与风控顾问 · 跨境收单 · 6 天前

你的处理方式是什么?

写下你实际验证过的步骤,比「我也有这个问题」有用得多。当前版本为静态展示,提交后会由团队整理并回复。

描述你遇到的现象、店铺环境(主题 / 套餐 / 应用)、已经试过哪些操作……
我要单独提问 工作日 10 分钟内回复,可直接加微信 fenggejishu