# 无忧退货（运费险）简介

小程序无忧退货（运费险）是微信官方推出的售后退换货保障服务。商家向微信充值保费后，可以为用户订单购买运费险，若订单发生退换货，无忧退货支持用户预约上门取件，寄退货免付基础运费，最高抵扣¥19.35（基本全国免费寄退货）。商家使用无忧退货无需支付额外费用。

![](https://res.wx.qq.com/op_res/taMPRnnfqAZjGly9DTsor388d19ZdJQug4XoVOzAc70B6JAQOfSaUdN2wUn9inpN-wHy782VKUGoPpVkvx0zRQ)

## 一、接入案例

![](https://res.wx.qq.com/op_res/3iDXQ0RvBJGf9nixqPdC0uOEyk7Z3ITyRjsnGKVOW1nAETyvT3qE5Y93k8ilvYMban2DrMYpd2WGFUZHnLTNgA)

![](https://res.wx.qq.com/op_res/3iDXQ0RvBJGf9nixqPdC0oTQRZikTUGCwHjPqXOeq4R6PmGfwag4B-JUQDIGcfbTlGsKr85NFdp_0TrkfO0SOw)

## 二、运作流程

1. 预充值：商家通过微信向保司充值保费，账期60天，到期未用余额自动原路退回。  
2. 投保：商家需要对订单投保时，通过投保接口向微信主动发起投保。  
3. 理赔：
    - 上门取件：京东上门取件，用户寄件时直接抵扣基础运费，最高抵扣 ¥19.35。 
    - 自行寄回：支持全部物流公司，用户自行线下寄回后填写退货物流单号，理赔款 ¥10 打款到用户微信零钱包。
4. 退款：商家主动向微信/系统自动发起退款，资金原路返回。

> 注：微信支付单号、保单号、理赔单号一一对应，一笔交易订单仅能投保和理赔一次。

## 三、用户体验 (消息无需订阅，页面无需开发)

![](https://res.wx.qq.com/op_res/KXGc1VPZ75N9xfw_a9BMUAAsx5Dstr9Gfy-kNJJG1TQMh2DNuzH-xairJePiFUaBTIp7z80bvD0e-qZ2zU0JfA)

## 四、开通路径 (无需支付额外费用)

### 开通位置

[小程序后台](https://mp.weixin.qq.com)-功能-物流服务-无忧退货(运费险)

![](https://res.wx.qq.com/op_res/-N4jPGZ_n6XVlbaCXyCJomM9sbINA5yxn5ZKT04GSdMLTixfcsjrfGB809dHi-PnuuspbeoQfZAqSj7q02O-fw)

### 签署服务协议

![](https://res.wx.qq.com/op_res/Hi0indk_80Ns_aqg8Vr-x_ncrZx4z1iKHne2SCXhCCIYzml2QO5GpFSOSnj47-vWyun9Ro5n-SL74rHJVo8ZmA)

### 后台接口对接

![](https://res.wx.qq.com/op_res/2G4lYMGdhGblJ7YbM_8bnO1n88mOcZ7C1oZOgwCw8ofyr-RP8gX0yCijnIZOLZsREAKnLye95u63nnZRvykHHQ)

### 保费预充值(支持扫码/网银转账)

![](https://res.wx.qq.com/op_res/2G4lYMGdhGblJ7YbM_8bnCcmZTAYhVlIdqSqaSnZQ-zJKVbtPoXdIbFasEvI6vPrF1qhqf2FT-6fLGxxuBz3vA)

### 查看投保和资金记录

![](https://res.wx.qq.com/op_res/2G4lYMGdhGblJ7YbM_8bnFXjLlfViZj_k0HAUJz0IbjpMXbeXz8_p0ocupjE5aHBcLm8_UWkEBTQUecI5uNWiA)

## 五、开票流程

目前支持开具电子普票、纸质普票和纸质增值税专用发票，商家可以在指定日期，按照要求邮件申请（附件大小不超过15M），开具的纸质发票将通过快递的方式寄送给商家，发票邮寄费用由商家自行承担。电子发票由所填邮箱接收。

邮件标题：运费险发票申请-xx小程序x月

邮件正文及附件内容：

1. 小程序主体名、小程序appid、开票金额（元）、纳税人名称（与小程序主体一致）、纳税人识别号、地址、电话、开户行及账号、电子邮箱、联系人及电话

2. 营业执照扫描件/复印件，加盖公章

3. 需要开票的保单信息（可在小程序后台-物流服务-无忧退货-保单信息中筛选下载excel）

发送时间：请在每月初1-5日，发送邮件申请。

开票邮箱： xuziyi900@pingan.com.cn

## 六、开发说明

### 接入流程泳道图

![](https://res.wx.qq.com/op_res/gWGHPz4sTRdNkwTOmpWGF4aqI1DHBMdQ0R1tNPQtnxQ05ltEUW7bUDSa67pgNXeZTgNCs6udcQxS4ODS7mK67A)

| 接口名称 | 请求路径 | 描述 |
| --- | --- | --- |
| [解绑退货ID](/miniprogram/dev/server/API/weixin-express/express-return/api_unbindreturnid.md) | /cgi-bin/express/delivery/no_worry_return/unbind | 当商家同意退货申请之后，与用户达成协商「无需退货」时，可以通过本接口可以接触商家退货单与退货 ID的绑定 |
| [查询退货ID状态](/miniprogram/dev/server/API/weixin-express/express-return/api_getreturnid.md) | /cgi-bin/express/delivery/no_worry_return/get | 本接口用于商家查询用户退货状态（是否填写退货信息）及追踪用户退货物流，方便仓库收货 |
| [创建退货ID](/miniprogram/dev/server/API/weixin-express/express-return/api_addreturnid.md) | /cgi-bin/express/delivery/no_worry_return/add | 商家在同意用户退货之后，通过本接口创建退货ID，shoporderid和退货 ID 一一对应 |

### 常见返回码

| 返回码         | 说明                             |
|----------------|---------------------------------|
| 2              | 缺少必要参数                     |
| 1010           | 投保时间错误                     |
| 1011           | 物流单号重复                     |
| 2001           | 重复开通                         |
| 2003           | 充值金额限制，单次最高1万元       |
| 2004           | 未开通无忧退货                     |
| 2007           | 重复理赔                         |
| 2008           | 系统安全原因，暂停理赔              |
| 2009           | 未找到对应投保单                  |
| 2011           | 订单错误 - 订单号/openid错误                |
| 2012           | 订单错误 - 非该小程序内下单                |
| 2013           | 订单错误 - 支付时间错误                |
| 2014           | 订单错误 - 支付金额错误                |
| 2015           | 订单错误 - 其他                |
| 2028           | 物流单号查不到轨迹                |
| 4001           | 余额不足                         |

### 服务端 API 接口

无忧退货相关接口

| 接口名称 | 请求路径 | 描述 |
| --- | --- | --- |
| [开通无忧退货](/miniprogram/dev/server/API/weixin-express/freight/api_insurance_freight_open.md) | /wxa/business/insurance_freight/open | 本接口用于开通无忧退货 |
| [查询开通状态](/miniprogram/dev/server/API/weixin-express/freight/api_insurance_freight_query_open.md) | /wxa/business/insurance_freight/query_open | 本接口用于查询开通状态 |
| [发货时投保](/miniprogram/dev/server/API/weixin-express/freight/api_insurance_freight_createorder.md) | /wxa/business/insurance_freight/createorder | 本接口用于发货时投保 |
| [无忧退理赔](/miniprogram/dev/server/API/weixin-express/freight/api_insurance_freight_claim.md) | /wxa/business/insurance_freight/claim | 本接口用于无忧退理赔，收到用户退货后再触发 |
| [申请充值订单号](/miniprogram/dev/server/API/weixin-express/freight/api_insurance_freight_createchargeid.md) | /wxa/business/insurance_freight/createchargeid | 本接口用于申请充值订单号 (支持自定义金额) |
| [申请支付](/miniprogram/dev/server/API/weixin-express/freight/api_insurance_freight_applypay.md) | /wxa/business/insurance_freight/applypay | 本接口用于无忧退货申请支付 |
| [拉取充值订单信息](/miniprogram/dev/server/API/weixin-express/freight/api_insurance_freight_getpayorderlist.md) | /wxa/business/insurance_freight/getpayorderlist | 本接口用于拉取充值订单信息 |
| [充值保费退款](/miniprogram/dev/server/API/weixin-express/freight/api_insurance_freight_refund.md) | /wxa/business/insurance_freight/refund | 本接口用于充值保费退款 |
| [拉取理赔摘要](/miniprogram/dev/server/API/weixin-express/freight/api_insurance_freight_getsummary.md) | /wxa/business/insurance_freight/getsummary | 本接口可用于查询当前保费、投保单量、理赔单量、账号余额等信息 |
| [拉取保单信息](/miniprogram/dev/server/API/weixin-express/freight/api_insurance_freight_getorderlist.md) | /wxa/business/insurance_freight/getorderlist | 本接口用于拉取保单信息 |
| [设置保费告警余额](/miniprogram/dev/server/API/weixin-express/freight/api_insurance_freight_update_notify_funds.md) | /wxa/business/insurance_freight/update_notify_funds | 开发者可通过接口自定义余额为xx时通知小程序管理员（余额xx无改动情况下24h内通知一次） |

退货组件相关接口

| 接口名称 | 请求路径 | 描述 |
| --- | --- | --- |
| [创建退货ID](/miniprogram/dev/server/API/weixin-express/express-return/api_addreturnid.md) | /cgi-bin/express/delivery/no_worry_return/add | 商家在同意用户退货之后，通过本接口创建退货ID，shoporderid和退货 ID 一一对应 |
| [解绑退货ID](/miniprogram/dev/server/API/weixin-express/express-return/api_unbindreturnid.md) | /cgi-bin/express/delivery/no_worry_return/unbind | 当商家同意退货申请之后，与用户达成协商「无需退货」时，可以通过本接口可以接触商家退货单与退货 ID的绑定 |
| [查询退货ID状态](/miniprogram/dev/server/API/weixin-express/express-return/api_getreturnid.md) | /cgi-bin/express/delivery/no_worry_return/get | 本接口用于商家查询用户退货状态（是否填写退货信息）及追踪用户退货物流，方便仓库收货 |

## 七、组件调用

商家可选择调用组件（the latest version）至小程序页面，实现用户在小程序页面内点击按钮拉起退货寄件。

1. 订单有运费险：拉起无忧退货页面，上门取件抵扣基础运费。
2. 订单无运费险：拉起半屏弹窗，上门取件自付运费。

![](https://res.wx.qq.com/op_res/HBTJYeuxH5XtIKnI483OhbalxcfH3qdZHjq5T13gbq9lgcJkt8MnYQp8lP7yq7o0O-1CnWUOD454mJTVYoPs6A)

### 代码示例

#### 基本用法

test.wxml:
```html
// 需要使用两个插槽节点（slot="refund" 和 slot="refund_detail" 分别对应退货前跟退货后状态的插槽节点，如果没有要求退货状态，可以使用同意的元素节点）

// 对状态有要求，不同状态展示不同文案节点
<view>
  <sales-return returnId="{{returnId}}">
    <button slot="refund">立即退货</button>   //还未退过货的插槽节点
    <button slot="refund_detail">退货详情</button>  //还退完货后的插槽节点
  </sales-return>
</view>

// 对状态无要求，不同状态展示相同同文案节点
<view>
  <sales-return returnId="{{returnId}}">
    <button slot="refund">立即退货</button>   //还未退过货的插槽节点
    <button slot="refund_detail">立即退货</button>  //退完货后的插槽节点
  </sales-return>
</view>
```

test.js:
``` js
data: {
  returnId: "xxx";
}
```

test.json:
```json
{
  "usingComponents": {
    "sales-return": "plugin://logisticsPlugin/sales-return"
  }
}
```

app.json 引入插件:
```json
{
  "pages": [
    "pages/index/index",
   ],
  "window": {
    },
  "plugins": {
    "logisticsPlugin": {
      "version": "2.3.0",
      "provider": "wx9ad912bf20548d92"
    }
  },
 }

```
### goods_info内容

| 参数名称    | 类型  | 必选 | 备注     |
| :---------- | :---- | :--- | :------- |
| returnld | string | 是   | 退货 ID  |

### 插槽 Slots

| 插槽名      | 类型   | 必选 | 备注        |
| :------------ | :----- | :--- | :---------- |
| refund    | string | 是   | 还未退货的插槽节点，用来触发弹窗、跳转页面的节点（必填）    |
| refund_detail | string | 是   | 退完货的插槽节点，用来触发弹窗、跳转页面的节点（必填，如果退货行为完成前后是相同文案可使用refund所使用的的文案） |

## 八、咨询建议

如有疑问或建议，可前往[微信开放社区-微信物流服务](https://developers.weixin.qq.com/community/minihome/mixflow/1792207662500118536) 发帖提问讨论，官方工作人员会及时回复。
