报错排查指引
更新时间:2026.05.11微信支付为接入移动医保支付的合作伙伴及商户提供专属技术支持,涵盖全流程接入指引与报错协助排查。
如需申请技术支持,请通过微信搜索添加「微信支付医疗健康助手」(微信号:Wechatpay_BDzhushou),申请通过后将邀请您加入技术支持微信群,获取官方协助。
一、排查流程
1.自查
建议合作伙伴/商户先行自查,快速定位,可参阅下方「排查指引」。
|
2.平台协助排查
若自查后仍无法解决,请联系技术支持群内的技术助手或对接运营同学协助排查。
申请协助排查时,请提供下单请求参数、接口返回内容或Request-ID。
二、排查指引
【阶段1】前端拉起收银台失败
权限及签名鉴权问题
错误信息 | 平台 | 原因 | 解决方案 |
|---|---|---|---|
"requestMedicalInsurancePay:fail:access denied" | 小程序 | 未开通JSAPI权限位1295 | 联系运营开通 |
system:access_denied | 公众号H5 | JSAPI鉴权未通过 |
|
no permission to execute | 公众号H5 | JSAPI鉴权未通过 | |
缺少参数total fee | / | 前端支付参数不完整或格式错误 | 若订单包含自费支付,请检查 appid、timeStamp、nonceStr、package、signType、paySign 是否完整,其中 package 格式应为 prepay_id=xxx;纯医保支付场景不要传自费支付参数 |
system:function_not_exist | / | 微信客户端版本太低 | 升级微信到最新版本;前端应做低版本兼容判断,给出友好升级提示 |
收银台无反应 | / | 基础库不支持 | 检查wx.requestMedicalInsurancePay是否存在;更新基础库到最新版 |
config:invalid signature | / | 签名URL不正确(尤其iOS端) | 确保签名URL与页面实际URL完全一致 |
小程序权限检查清单:
确认已开通 WXA_JSAPI_INDEX_requestMedicalInsurancePay = 1295
确认已开通客户端权限 JSAPI_CONTROL_BYTE_REQUEST_MEDICAL_INSURANCE_PAY = 494
另外,jsapi报错开发者可以自查,开启debug模式就能拿到错误信息就能自己排查。详情可查看:常见错误及解决办法
【阶段2】下单阶段错误
400——PARAM_ERROR
描述 | 排查方向 |
|---|---|
参数错误 | 请根据错误提示正确传入参数 |
医保结算后需自费金额计算失败 |
|
无效的证件类型 | 目前只支持身份证(card_type: ID_CARD) |
代亲属支付缺少亲属信息 | 请补充亲属信息,如补充 pay_for_relatives 相关字段 |
医保下单时间解析失败 | 请确认医保下单时间的格式是否正确,如确认 med_ins_order_create_time 格式为 ISO 8601 |
AppID与OpenID不正确 | 确认 AppID 和 OpenID 配对正确,并确保OpenID是从对应的AppID下获取的。 |
OpenID不正确 | 确认 OpenID 为该 AppID 下的用户标识 |
AppID不正确 |
|
商户号不正确 | 确认 mch_id / sub_mch_id 填写正确 |
400——INVALID_REQUEST
描述 | 排查方向 |
|---|---|
医保局结算校验失败 | 确认医保相关字段正确,综合排查(见下方详细说明) |
入参个人身份ID摘要和医保电子凭证绑卡身份ID摘要不匹配,请检查后重试 |
|
缺少必要字段,请根据混合支付类型补充必要的字段。 | 缺少必要字段,请根据混合支付类型补充必要的字段。请根据混合支付类型补充必要的字段。
|
亲属关系不存在 | 确认亲属关系绑定有效 |
微信号未绑定医保电子凭证 | 引导用户绑定医保电子凭证 |
入参用户姓名和医保电子凭证绑卡姓名不匹配,请检查后重试 |
|
未找到对应授权信息,无法查询订单信息 |
|
传入用户信息与原订单不匹配,请先进行确认 | 检查授权信息,如是否过期,或联系医保局定位处理 |
使用渠道与授权渠道不一致,请调用方确认 |
|
HTTP 请求不符合微信支付 APIv3 接口规则 | 请参阅 接口规则 |
403——RULE_LIMIT
描述 | 排查方向 |
|---|---|
商户与子商户不是受理关系 | 确认 mch_id 与 sub_mch_id 父子绑定关系 |
自费金额校验不通过 | med_ins_cash_fee > 0 时触发,医保结算后需要自费的金额(med_ins_cash_fee) = 实际需要用户微信支付的金额(wechat_pay_cash_fee) - 现金补充金额(cash_add_detail) + 现金减免金额(cash_reduce_detail) |
订单总金额校验不通过 | 订单总金额(total_fee) = 医保统筹支付金额(med_ins_gov_fee)+ 医保个账支付金额(med_ins_self_fee)+ 医保其他支付金额(med_ins_other_fee) + 需要微信支付的金额(wechat_pay_cash_fee)+ 现金减免金额(cash_reduce_detail) |
自费下单金额与医保下单金额校验不通过 | 医保自费混合支付单要求实际需要用户微信支付的金额(wechat_pay_cash_fee)和医保下单的金额(med_ins_gov_fee + med_ins_self_fee + med_ins_other_fee + med_ins_cash_fee)都要大于0。 |
纯自费支付单字段规则不满足 |
|
纯医保支付单字段规则不满足 |
|
混合支付单字段规则不满足 | 自费+医保字段均非空 |
实际需要用户微信支付的金额和医保下单的金额都为0,无法下单。 | 医保自费混合支付单不支持双0元下单场景 |
纯医保单金额校验不通过 | 请确认:医保下单的金额(med_ins_gov_fee + med_ins_self_fee + med_ins_other_fee + med_ins_cash_fee),实际需要用户微信支付的金额(wechat_pay_cash_fee)等于0。 |
纯自费单金额校验不通过 | 医保下单的金额(med_ins_gov_fee + med_ins_self_fee + med_ins_other_fee + med_ins_cash_fee)为0,实际需要用户微信支付的金额(wechat_pay_cash_fee)大于0。 |
请求次数超过限制,请稍后重试。 | 请稍后重试 |
400——ALREADY_EXISTS
原因:订单号 out_trade_no 重复。
解决:更换新的 out_trade_no 重新下单。
403——REQUEST_BLOCKED
原因:商户尚未完成医保支付接入流程(未开通权限)。
解决:联系对接运营完成商户接入配置。权限申请流程见【权限申请】
【阶段3】支付/结算阶段错误
医保结算错误
通过查单接口的 med_ins_fail_reason 字段可获取医保局侧的详细错误原因。
|
常见结算错误及处理:
错误关键词 | 可能含义 | 建议处理 |
|---|---|---|
预结算现金支付金额与结算金额不一致 | 预结算现金支付金额与结算现金支付金额不一致 | 请确保预结算现金支付金额与结算现金支付金额一致 |
Token核验失败:用户身份信息校验不通过 | 医保电子凭证验证不通过或用户的医保电子凭证 ecToken 过期或身份信息不匹配。 |
|
医保结算成功,通知医院失败,自动冲正成功 | 医保局侧结算已成功,但回调通知医院 HIS 系统时失败,为保持一致性自动冲正(撤销结算)。 | 联系医保局配置或医院检查HIS接口 |
FSI-在院状态不允许进行结算 | 患者在医保系统中处于"在院"状态(住院中),不允许进行结算。 | 请确认患者状态,按正确业务规则结算 |
参保人不存在该医院的门诊选点信息 | 异地就医未选点/备案 | 确认参保人是否已完成该医院的门诊选点、定点关系绑定,或异地就医备案。 |
该人员正在进行门诊结算相关业务 | 医保局并发限制 | 稍后重试 |
请求处理中,请勿频繁操作 | / | 等待处理完成 |
service not registed | 医保局服务未注册 | 联系医保局确认服务状态 |
系统错误,请联系技术支持人员 | 医保局系统异常 | 等待恢复或联系医保局 |
订单未进行预结算,自费支付通知无法继续 | 订单未进行预结算 | 先完成医保预结算,再发起自费支付 |
前端fail回调
msg 内容 | 说明 | 处理建议 |
|---|---|---|
缺少mix_trade_no | 前端未传混合单号 | 检查前端调用参数,确认 mixTradeNo 已正确传递 |
缺少自费参数 | 自费支付参数不完整 | 检查 appid/package/signType/paySign/timeStamp/nonceStr 等参数是否完整 |
混合支付超时 | 支付流程超时(约30秒) | 检查网络连接,引导用户重试 |
混合支付订单状态为支付失败 | 自费或医保支付环节失败 | 调用查单接口确认订单状态及失败原因 |
混合支付订单状态异常 | 系统异常 | 联系微信医保支付技术支持排查 |
自费支付失败 | 微信支付收银台支付失败 | 检查支付参数和用户账户余额 |
用户直接退出医保混合支付 | 用户主动取消支付 | 正常用户操作,无需特殊处理 |
混合支付订单已关单 | 订单超时关闭 | 重新下单 |
【阶段4】查单(使用医保自费混合订单号/商户订单号/从业机构订单号/服务商订单号查看下单结果)
状态码 | 错误码 | 描述 | 解决方案 |
|---|---|---|---|
400 | PARAM_ERROR | 参数错误 | 请根据错误提示正确传入参数 |
400 | INVALID_REQUEST | HTTP 请求不符合微信支付 APIv3 接口规则 | 请参阅 接口规则 |
401 | SIGN_ERROR | 验证不通过 | 请参阅 签名常见问题 |
500 | SYSTEM_ERROR | 系统异常,请稍后重试 | 请稍后重试 |
400 | PARAM_ERROR | 金额计算出现溢出,请检查填写的金额是否正确。 | 请检查填写的金额是否正确 |
403 | RULE_LIMIT | 请求次数超过限制,请稍后重试。 | 请稍后重试 |
404 | NOT_FOUND | 未找到订单,请确认订单号是否正确。 | 请确认订单号是否正确 |
【其他】免密授权
问题 | 答案 |
|---|---|
授权时提示:该机构渠道认证编码错误,该怎么办? | 按以下步骤检查: |
国家局免密授权,未正确出现国家局页面,是怎么回事 | 可以按以下步骤检查: |
国家局授权页,点击授权时,提示:网络异常,是怎么回事 | 凭证内网请求支付中台不通,医院没有在支付中心进行登记等原因,需要医院确认是否已登记以及省中台自查。(腾讯联调同学反馈) |
国家局授权页,提示:用户信息已过期,是怎么回事 | 参数失效原因,退出多试几次。由于测试环境,中台一般是ip,在微信内打开会确认一次,所以容易造成参数失效。 |
用户确认授权后,payAuthNo相关参数怎么获取? | 通过前端授权后,还需要后端调用授权查询接口,根据前端获取到的authCode作为qrcode入参,然后再获取需要的参数。 |
测试环境测试免密授权时,没有用户openid,该怎么调授权查询接口 | 测试环境时,如果没有用户openid,可以先不用传,通过authCode先调接口查询。后续正式环境需要传入。 |
授权查询接口,文档出参中没看到所需要的参数,该怎么办 | 用户信息相关的参数,机构在立项时与腾讯商务沟通,立项申请后,以申请的参数作为返回。文档中的出参仅是参考。 |
授权查询到用户的经纬度为(0,0),是怎么回事 | 用户拒绝位置授权后,获取不到用户的经纬度信息,则会返回(0,0)。 |
是不是每次要做支付都要调一次免密授权 | 是的。 |
用户端做授权时,怎么授权页提示要设置密码? | 此时用户应该是只激活了电子凭证,还没有设置电子凭证密码,需要设置完密码后,才可以进行授权。 |
小程序免密授权,如何在测试环境调试? | 小程序在测试环境调试要将版本改envVersion:‘trial'。 |
免密授权时,用户授权后,提示:{"code":150502,"message":"所在地区未查询到用户参保信息"} | 可以按以下步骤检查: |
小程序免密授权,授权完成后没有拿到authcode,报错了,是怎么回事? | 授权码应该在app.js中获取。 |
H5调试时正常,小程序调试时,免密授权提示:机构渠道认证编码错误,是怎么回事? | 1.请确认小程序的机构渠道认证编码是否与反馈单一致 |
电子凭证展不了码,会影响免密授权吗? | 会的。2.0模式下的免密,要求用户一定可以成功展码,才可以完成payAuthNo的授权。 |
小程序免密授权时,提示:传入小程序appid与主体不匹配,请重试。这是怎么回事? | 小程序授权链接上的sourceapp(前18位)与合作方申请立项的小程序appid不一致。请确认对应的appid一致后再调用。 |
【其他】亲情授权
问题 | 答案 |
|---|---|
授权页出现了少儿,但是点击“去激活”提示:未查询到该少儿参保信息。这是怎么回事? | 国家局未有该小孩的参保信息,需要地方同步到国家局后重新尝试。 |
点击授权时,提示:尚未绑定少儿医保。这是怎么回事? | 从地方医保局未查询到本人和小孩的亲属关系,需要本地医保局确认两个是否在亲属库中有亲属关系,有才可以使用。 |
点击授权时,提示:为了亲属的账户安全,请先设置密码。这是为什么? | 授权时,需要亲属可以正常展码,因此需要进行先密码设置后,再进行授权。 |
授权时,提示:请检查传入的亲人信息是否正确。这是什么问题? | 从地方医保局查询的亲属关系,与授权链接传入中的亲属没同一个人。需要传入同一个。 |
授权时,提示:该亲人已被他人绑定,你无法帮其激活医保电子凭证。这是为什么? | 该亲人已经被别人绑定激活,并且达到了数量限制,无法再代激活。 |
授权时,提示:亲属已自主激活医保电子凭证使用。这是为什么? | 该亲人已经自己在手机微信激活电子凭证,暂无法他人帮助代激活使用。 |
授权时,提示:需要亲属在你手机上人脸认证通过后,你可帮助其激活医保电子凭证使用。这是怎么回事? | 该亲人已经达到了一定的年龄,代激活需要验证该亲人的人脸,才可以激活使用。 |
授权时,提示:本人/亲人未参保。这是为什么? | 亲人没有设置默认参保地。非深圳地区,可以在亲人展码页选择对应的参保地设置。(同时,再免密过程中会优化设置默认参保地逻辑) |

