上传保单

更新时间:2026.01.14

在用户完成授权后(商户可通过授权完成回调通知或主动调用查询授权信息接口确认授权状态),商户通过此接口将保单的详细信息同步至微信支付平台。
● 上传保单时间限制:在用户授权上传保单后30天内,可上传保单。
● 续保配置:若支持续保,允许商户传入「可续保」的时间范围为 [T-60天,T+60天],T表示保障期限的终止时间(既可续保期在保障到期日前60天~后60天之间),且可续保开始时间要大于保障期限开始时间。

接口说明

支持商户:【普通商户】

请求方式:【POST】/v3/inspolicymgr/deduct/policies

请求域名:【主域名】https://api.mch.weixin.qq.com 使用该域名将访问就近的接入点

     【备域名】https://api2.mch.weixin.qq.com 使用该域名将访问异地的接入点 ,指引点击查看

请求参数

Header  HTTP头参数

 Authorization  必填 string

请参考签名认证生成认证信息


 Accept  必填 string

请设置为application/json


 Content-Type  必填 string

请设置为application/json


 Wechatpay-Serial  必填 string

【微信支付公钥ID】或【微信支付平台证书序列号】  请求参数中的敏感字段,需要使用微信支付公钥加密(推荐),请参考获取微信支付公钥ID说明以及微信支付公钥加密敏感信息指引;也可以使用微信支付平台证书公钥加密,参考获取平台证书序列号平台证书加密敏感信息指引


body  包体参数

 out_insurance_no  必填   string(32)

【商户保险编号】 商户侧的保单唯一值,商户自定义字段,商户侧需保证该商户号下的唯一性。只能是数字、大小写字母的组合。字段作为整个保单管理流程的保单的唯一标识


 insured_name_list  必填   array[string(1024)]

【被保险人姓名列表】 被保险人姓名全称:单被保人时传入对应的姓名,多被保人时传入数组,最多允许传入11人;该字段需加密,请参考获取微信支付公钥ID说明以及微信支付公钥加密敏感信息指引,也可以使用微信支付平台证书公钥加密,参考获取平台证书序列号平台证书加密敏感信息指引


 insurance_company_code  必填   string(32)

【承保公司代码】 微信保单服务为承保保险公司分配的唯一标识。请通过保险公司代码-名称映射表获取保险公司代码与最新名称。


 effective_time  必填   string(25)

【保单生效时间】 标识保单保障期的起始时刻,从该时刻起(含边界)保单处于保障中状态。遵循rfc3339标准格式:yyyy-MM-DDTHH:mm:ss+TIMEZONE。yyyy-MM-DD 表示年月日;T 字符用于分隔日期和时间部分;HH:mm:ss 表示具体的时分秒;TIMEZONE 表示时区(例如,+08:00 对应东八区时间,即北京时间)。 示例:2025-05-20T13:29:35+08:00 表示北京时间2025年5月20日13点29分35秒。


 expired_time  必填   string(25)

【保单失效时间】 标识保单保障期的结束时刻,在该时刻之前(不含边界)保单处于保障中状态。遵循rfc3339标准格式:yyyy-MM-DDTHH:mm:ss+TIMEZONE。yyyy-MM-DD 表示年月日;T 字符用于分隔日期和时间部分;HH:mm:ss 表示具体的时分秒;TIMEZONE 表示时区(例如,+08:00 对应东八区时间,即北京时间)。 示例:2025-05-20T13:29:35+08:00 表示北京时间2025年5月20日13点29分35秒。必须满足:保单失效时间大于保单生效时间: expired_time > effective_time


 coverage_detail  必填   string(60)

【保障详情】 保险对应的保障责任简述,最多支持输入60个字符


 support_renewal  必填   boolean

【是否支持续保】 标识该保单是否支持续保功能


 start_renewal_time  选填   string(25)

【可续保开始时间】 标识续保窗口的起始时刻,从该时刻起(含边界)允许发起续保。遵循rfc3339标准格式:yyyy-MM-DDTHH:mm:ss+TIMEZONE。yyyy-MM-DD 表示年月日;T 字符用于分隔日期和时间部分;HH:mm:ss 表示具体的时分秒;TIMEZONE 表示时区(例如,+08:00 对应东八区时间,即北京时间)。 示例:2025-05-20T13:29:35+08:00 表示北京时间2025年5月20日13点29分35秒。必须满足:(1)支持续保(support_renewal=true)时必填 (2)位于保障期内:effective_time < start_renewal_time ≤ expired_time (3)不早于保障期结束前60天:start_renewal_time ≥ expired_time − 60天。


 end_renewal_time  选填   string(25)

【可续保结束时间】 标识续保窗口的结束时刻,在该时刻之前(不含边界)允许发起续保。遵循rfc3339标准格式:yyyy-MM-DDTHH:mm:ss+TIMEZONE。yyyy-MM-DD 表示年月日;T 字符用于分隔日期和时间部分;HH:mm:ss 表示具体的时分秒;TIMEZONE 表示时区(例如,+08:00 对应东八区时间,即北京时间)。 示例:2025-05-20T13:29:35+08:00 表示北京时间2025年5月20日13点29分35秒。必须满足:(1)支持续保(support_renewal=true)时必填 (2)大于可续保开始时间: end_renewal_time > start_renewal_time (3)不晚于保障期结束时间后60天: end_renewal_time ≤ expired_time + 60天。


 policy_type  必填   string

【保单类型】 保单类型

可选取值

  • POLICY_TYPE_OTHER:  其余险

  • POLICY_TYPE_MEDICAL:  医疗险

  • POLICY_TYPE_ACCIDENT:  意外险

  • POLICY_TYPE_CRITICAL:  重疾险

  • POLICY_TYPE_CAR:  车险

  • POLICY_TYPE_LIFE:  人寿险

  • POLICY_TYPE_PROPERTY:  家财险

  • POLICY_TYPE_PET:  宠物险

  • POLICY_TYPE_ANNUITY:  年金险


 car_number  选填   string(10)

【车牌信息】 保单类型为车险(policy_type=POLICY_TYPE_CAR)时,必传


 pet_name  选填   string(10)

【宠物名称】 保单类型为宠物险(policy_type=POLICY_TYPE_PET)时,如果有,建议传入,会在微信保单服务展示给用户看


 address  选填   string(300)

【地址信息】 保单类型为家财险(policy_type=POLICY_TYPE_PROPERTY)时,如果有,建议传入,会在微信保单服务展示给用户看


 policy_state  必填   string

【保单状态】 商户上传保单时,保单当前的状态.可根据业务实际进度将其指定为出单中、已承保、已失效、拒保中的任一状态

可选取值

  • POLICY_STATE_ISSUING:  【出单中】正在进行出单操作,保险公司还未通过承保请求

  • POLICY_STATE_APPROVED:  【已承保】保险公司已承保,保单处于保障待生效或保障中状态

  • POLICY_STATE_DECLINED:  【拒保】保险公司拒绝承保或出单失败

  • POLICY_STATE_INACTIVE:  【已失效】因各种问题,保单失效(用户退保、保单到期、欠费失效、理赔额度用尽等)


 policy_code  选填   string(64)

【保司保单号】 保司承保后,为用户保单分配的唯一标识。保单状态为已承保、已失效时,必传。保单号将在前端展示给用户。


 plan_id  必填   string

【保险委托代扣模板ID】 是商户在微信支付保险委托代扣平台申请模板


 out_contract_code  必填   string(32)

【商户签约协议号】 商户侧的签约协议号,商户自定义字段,商户侧需保证唯一性。只能是数字、大小写字母的组合。


 policy_periods  必填   array[integer]

【保单的扣费周期列表】 商户在与用户签约时,指定的若干个扣费周期。要求:扣费编号需要与创建签约的保持一致。


 appid  必填   string(32)

【公众账号ID】 是商户在微信开放平台(移动应用)或公众平台(公众号/小程序)上申请的一个唯一标识。需确保该appid与mchid有绑定关系,具体请参考普通商户模式开发必要参数说明


 openid  必填   string(32)

【用户标识】 用户在商户appid下的唯一标识。详见OpenID获取。

请求示例

curl
Java
Go

POST

1curl -X POST \
2  https://api.mch.weixin.qq.com/v3/inspolicymgr/deduct/policies \
3  -H "Authorization: WECHATPAY2-SHA256-RSA2048 mchid=\"1900000001\",..." \
4  -H "Accept: application/json" \
5  -H "Wechatpay-Serial: 5157F09EFDC096DE15EBE81A47057A7232F1B8E1"  \
6  -H "Content-Type: application/json" \
7  -d '{
8    "out_insurance_no" : "7Kx9Qm2Wp5Rt8Yv4Bn6Ld3Hj1Fc0Zs",
9    "insured_name_list" : [
10      "tCk1JSUV2QUlCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktZd2dnU2lBZ0VBQW9JQkFRRFRuem56VWNDNDFtUTQKNXpoMWVhYThMQ0NvUmhjeFB1Ymo1cGFaQ1FoVFdlUzBwajYwOUdlb3EyZ29aa1VyclhkK"
11    ],
12    "insurance_company_code" : "10001",
13    "effective_time" : "2025-09-21T17:11:12+08:00",
14    "expired_time" : "2025-09-21T17:11:12+08:00",
15    "coverage_detail" : "可保190种疾病,确诊一次性赔付",
16    "support_renewal" : true,
17    "start_renewal_time" : "2025-09-21T17:11:12+08:00",
18    "end_renewal_time" : "2025-10-21T17:11:12+08:00",
19    "policy_type" : "POLICY_TYPE_OTHER",
20    "car_number" : "粤B·AB123",
21    "pet_name" : "小狗",
22    "address" : "上海市浦东新区晨晖路1001号",
23    "policy_state" : "POLICY_STATE_ISSUING",
24    "policy_code" : "Coisihsiaxishishi4hihsid1ii411co",
25    "plan_id" : "12535",
26    "out_contract_code" : "G7mQa2RfT9vXe4Bc1Ht5YpLwN3sJd6Zr8Ue2Sa",
27    "policy_periods" : [
28      1
29    ],
30    "appid" : "wx7f3f0032b6e6f0cc",
31    "openid" : "oYobu0MVnQfWpSMOYJz2AHPG_gQw"
32  }'
33

应答参数

200 OK

 out_insurance_no  必填   string(32)

【商户保险编号】 商户侧的保单唯一值,商户自定义字段,商户侧需保证该商户号下的唯一性。只能是数字、大小写字母的组合。字段作为整个保单管理流程的保单的唯一标识


 insurance_name  必填   string(50)

【保险名称】 用户投保的保险名称,用于展示给用户


 insured_name_list  必填   array[string(1024)]

【被保险人姓名列表】 被保险人姓名全称:单被保人时传入对应的姓名,多被保人时传入数组,最多允许传入11人;字段为密文,解密请参考如何使用API证书解密敏感字段


 insurance_company_code  必填   string(32)

【承保公司代码】 微信保单服务为承保保险公司分配的唯一标识。请通过保险公司代码-名称映射表获取保险公司代码与最新名称。


 effective_time  必填   string(25)

【保单生效时间】 标识保单保障期的起始时刻,从该时刻起(含边界)保单处于保障中状态。遵循rfc3339标准格式:yyyy-MM-DDTHH:mm:ss+TIMEZONE。yyyy-MM-DD 表示年月日;T 字符用于分隔日期和时间部分;HH:mm:ss 表示具体的时分秒;TIMEZONE 表示时区(例如,+08:00 对应东八区时间,即北京时间)。 示例:2025-05-20T13:29:35+08:00 表示北京时间2025年5月20日13点29分35秒。


 expired_time  必填   string(25)

【保单失效时间】 标识保单保障期的结束时刻,在该时刻之前(不含边界)保单处于保障中状态。遵循rfc3339标准格式:yyyy-MM-DDTHH:mm:ss+TIMEZONE。yyyy-MM-DD 表示年月日;T 字符用于分隔日期和时间部分;HH:mm:ss 表示具体的时分秒;TIMEZONE 表示时区(例如,+08:00 对应东八区时间,即北京时间)。 示例:2025-05-20T13:29:35+08:00 表示北京时间2025年5月20日13点29分35秒。必须满足:保单失效时间大于保单生效时间: expired_time > effective_time


 coverage_detail  必填   string(60)

【保障详情】 保险对应的保障责任简述,最多支持输入60个字符


 support_renewal  必填   boolean

【是否支持续保】 标识该保单是否支持续保功能


 start_renewal_time  选填   string(25)

【可续保开始时间】 标识续保窗口的起始时刻,从该时刻起(含边界)允许发起续保。遵循rfc3339标准格式:yyyy-MM-DDTHH:mm:ss+TIMEZONE。yyyy-MM-DD 表示年月日;T 字符用于分隔日期和时间部分;HH:mm:ss 表示具体的时分秒;TIMEZONE 表示时区(例如,+08:00 对应东八区时间,即北京时间)。 示例:2025-05-20T13:29:35+08:00 表示北京时间2025年5月20日13点29分35秒。必须满足:(1)支持续保(support_renewal=true)时必填 (2)位于保障期内:effective_time < start_renewal_time ≤ expired_time (3)不早于保障期结束前60天:start_renewal_time ≥ expired_time − 60天。


 end_renewal_time  选填   string(25)

【可续保结束时间】 标识续保窗口的结束时刻,在该时刻之前(不含边界)允许发起续保。遵循rfc3339标准格式:yyyy-MM-DDTHH:mm:ss+TIMEZONE。yyyy-MM-DD 表示年月日;T 字符用于分隔日期和时间部分;HH:mm:ss 表示具体的时分秒;TIMEZONE 表示时区(例如,+08:00 对应东八区时间,即北京时间)。 示例:2025-05-20T13:29:35+08:00 表示北京时间2025年5月20日13点29分35秒。必须满足:(1)支持续保(support_renewal=true)时必填 (2)大于可续保开始时间: end_renewal_time > start_renewal_time (3)不晚于保障期结束时间后60天: end_renewal_time ≤ expired_time + 60天。


 policy_type  必填   string

【保单类型】 保单类型

可选取值

  • POLICY_TYPE_OTHER:  其余险

  • POLICY_TYPE_MEDICAL:  医疗险

  • POLICY_TYPE_ACCIDENT:  意外险

  • POLICY_TYPE_CRITICAL:  重疾险

  • POLICY_TYPE_CAR:  车险

  • POLICY_TYPE_LIFE:  人寿险

  • POLICY_TYPE_PROPERTY:  家财险

  • POLICY_TYPE_PET:  宠物险

  • POLICY_TYPE_ANNUITY:  年金险


 car_number  选填   string(10)

【车牌信息】 保单类型为车险(policy_type=POLICY_TYPE_CAR)时,返回


 pet_name  选填   string(10)

【宠物名称】 保单类型为宠物险(policy_type=POLICY_TYPE_PET)时,如果有传入,则返回


 address  选填   string(300)

【地址信息】 保单类型为家财险(policy_type=POLICY_TYPE_PROPERTY)时,如果有传入,则返回


 policy_state  必填   string

【保单状态】 商户上传或更新的保单状态

可选取值

  • POLICY_STATE_ISSUING:  【出单中】正在进行出单操作,保险公司还未通过承保请求

  • POLICY_STATE_APPROVED:  【已承保】保险公司已承保,保单处于保障待生效或保障中状态

  • POLICY_STATE_DECLINED:  【拒保】保险公司拒绝承保或出单失败

  • POLICY_STATE_INACTIVE:  【已失效】因各种问题,保单失效(用户退保、保单到期、欠费失效、理赔额度用尽等)


 policy_code  选填   string(64)

【保司保单号】 保司承保后,为用户保单分配的唯一标识。保单状态为已承保、已失效时,返回。


 plan_id  必填   string

【保险委托代扣模板ID】 是商户在微信支付保险委托代扣平台申请模板


 out_contract_code  必填   string(32)

【商户签约协议号】 商户侧的签约协议号,商户自定义字段,商户侧需保证唯一性。只能是数字、大小写字母的组合。


 policy_periods  必填   array[integer]

【保单的扣费周期列表】 商户在与用户签约时,指定的若干个扣费周期。要求:扣费编号需要与创建签约的保持一致。

应答示例

200 OK

1{
2  "out_insurance_no" : "Poisihsiaxishishi4hihsid1ii411id",
3  "insurance_name" : "微医保·百万医疗险",
4  "insured_name_list" : [
5    "tCk1JSUV2QUlCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktZd2dnU2lBZ0VBQW9JQkFRRFRuem56VWNDNDFtUTQKNXpoMWVhYThMQ0NvUmhjeFB1Ymo1cGFaQ1FoVFdlUzBwajYwOUdlb3EyZ29aa1VyclhkK"
6  ],
7  "insurance_company_code" : "10001",
8  "effective_time" : "2025-09-21T17:11:12+08:00",
9  "expired_time" : "2025-09-21T17:11:12+08:00",
10  "coverage_detail" : "可保190种疾病,确诊一次性赔付",
11  "support_renewal" : true,
12  "start_renewal_time" : "2025-09-21T17:11:12+08:00",
13  "end_renewal_time" : "2025-10-21T17:11:12+08:00",
14  "policy_type" : "POLICY_TYPE_OTHER",
15  "car_number" : "粤B·AB123",
16  "pet_name" : "小狗",
17  "address" : "上海市浦东新区晨晖路1001号",
18  "policy_state" : "POLICY_STATE_ISSUING",
19  "policy_code" : "Coisihsiaxishishi4hihsid1ii411co",
20  "plan_id" : "example_plan_id",
21  "out_contract_code" : "G7mQa2RfT9vXe4Bc1Ht5YpLwN3sJd6Zr8Ue2Sa",
22  "policy_periods" : [
23    1
24  ]
25}
26

 

错误码

以下是本接口返回的错误码列表。详细错误码规则,请参考微信支付接口规则-错误码和错误提示

状态码

错误码

描述

解决方案

400

PARAM_ERROR

参数错误

请根据错误提示正确传入参数

400

INVALID_REQUEST

HTTP 请求不符合微信支付 APIv3 接口规则

请参阅 接口规则

401

SIGN_ERROR

验证不通过

请参阅 签名常见问题

500

SYSTEM_ERROR

系统异常,请稍后重试

请稍后重试

 

元宝AI
反馈
目录
置顶