使用医保自费混合订单号查看下单结果

更新时间:2024.12.05

从业机构使用混合下单订单号,通过该接口主动查询订单状态,完成下一步的业务逻辑。

接口说明

支持商户:【从业机构(银行)】

请求方式:【GET】/v3/med-ins/orders/mix-trade-no/{mix_trade_no}

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

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

请求参数

Header HTTP头参数

Authorization  必填 string

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


Accept  必填 string

请设置为application/json


path 路径参数

mix_trade_no  必填 string(32)

【医保自费混合订单号】医保自费混合订单号


query 查询参数

sub_mchid  必填 string(32)

【医疗机构的商户号】医疗机构的商户号

请求示例

1curl -X GET \
2  https://api.mch.weixin.qq.com/v3/med-ins/orders/mix-trade-no/202204022005169952975171534816?sub_mchid=1900000109 \
3  -H "Authorization: WECHATPAY2-SHA256-RSA2048 mchid=\"1900000001\",..." \
4  -H "Accept: application/json" 
5

应答参数

200 OK

mix_trade_no  必填 string(32)

【医保自费混合订单号】唯一定义此资源的标识


mix_pay_status  必填 string

【医保自费混合订单支付状态】医保自费混合订单支付状态

可选取值:

  • UNKNOWN_MIX_PAY_STATUS: 未知类型,需报错

  • MIX_PAY_CREATED: 等待支付

  • MIX_PAY_SUCCESS: 支付成功

  • MIX_PAY_REFUND: 自费和医保均已退款

  • MIX_PAY_FAIL: 支付失败


self_pay_status  必填 string

【混合订单中自费部分的支付状态】混合订单中自费部分的支付状态

可选取值:

  • UNKNOWN_SELF_PAY_STATUS: 未知类型,需报错

  • SELF_PAY_CREATED: 等待支付

  • SELF_PAY_SUCCESS: 支付成功

  • SELF_PAY_REFUND: 已退款

  • SELF_PAY_FAIL: 支付失败

  • NO_SELF_PAY: 订单不含自费部分


med_ins_pay_status  必填 string

【混合订单中医保部分的支付状态】混合订单中医保部分的支付状态

可选取值:

  • UNKNOWN_MED_INS_PAY_STATUS: 未知类型,需报错

  • MED_INS_PAY_CREATED: 等待支付

  • MED_INS_PAY_SUCCESS: 支付成功

  • MED_INS_PAY_REFUND: 已退款

  • MED_INS_PAY_FAIL: 支付失败

  • NO_MED_INS_PAY: 订单不含医保部分


paid_time  选填 string(64)

【订单支付时间】遵循rfc3339标准格式,格式为yyyy-MM-DDTHH:mm:ss+TIMEZONE


passthrough_response_content  选填 string(2048)

【支付完成后医保局返回内容】支付完成后医保局返回内容(透传给医疗机构)


mix_pay_type  必填 string

【混合支付类型】混合支付类型

可选取值:

  • UNKNOWN_MIX_PAY_TYPE: 未知的混合支付类型,会被拦截。

  • CASH_ONLY: 只向微信支付下单,没有向医保局下单。包括没有向医保局上传费用明细、预结算。 * med_ins_gov_feemed_ins_self_feemed_ins_other_feemed_ins_cash_fee之和一定为0。
    * wechat_pay_cash_fee一定不为0。
    * cash_add_detail可以不为0,cash_add_detail可以不为0。

  • INSURANCE_ONLY: 只向医保局下单,没有向微信支付下单。如果医保局分账结果中有自费部份,但由于有减免抵扣,没有向微信支付下单,也是纯医保。 * med_ins_gov_feemed_ins_self_feemed_ins_other_feemed_ins_cash_fee之和可以为0。
    * wechat_pay_cash_fee一定为0。
    * cash_add_detail可以不为0,cash_add_detail可以不为0。

  • CASH_AND_INSURANCE: 向医保局下单,也向微信支付下单。如果医保预结算全部需自费,也属于混合类型。 * med_ins_gov_feemed_ins_self_feemed_ins_other_feemed_ins_cash_fee之和一定不为0。
    * wechat_pay_cash_fee一定不为0。
    * cash_add_detail可以不为0,cash_add_detail可以不为0。


order_type  必填 string

【订单类型】订单类型

可选取值:

  • UNKNOWN_ORDER_TYPE: 未知类型,会被拦截

  • REG_PAY: 挂号支付

  • DIAG_PAY: 诊间支付

  • COVID_EXAM_PAY: 新冠检测费用(核酸)

  • IN_HOSP_PAY: 住院费支付

  • PHARMACY_PAY: 药店支付

  • INSURANCE_PAY: 保险费支付

  • INT_REG_PAY: 互联网医院挂号支付

  • INT_RE_DIAG_PAY: 互联网医院复诊支付

  • INT_RX_PAY: 互联网医院处方支付

  • COVID_ANTIGEN_PAY: 新冠抗原检测

  • MED_PAY: 药费支付


appid  必填 string(32)

【从业机构的公众号ID】从业机构的公众号ID


sub_appid  必填 string(32)

【医疗机构的公众号ID】医疗机构的公众号ID


sub_mchid  必填 string(32)

【医疗机构的商户号】医疗机构的商户号


sub_openid  必填 string(128)

【用户在医疗机构AppID下的唯一标识】用户在医疗机构AppID下的唯一标识


pay_for_relatives  选填 boolean

【是否代亲属支付】不传默认替本人支付

  • 代亲属支付:true

  • 本人支付:false


out_trade_no  必填 string(64)

【从业机构订单号】纯自费支付和医保自费混合支付场景均涉及向微信支付下单,从业机构需要调两次接口:

  1. 从业机构向微信支付下单获取微信支付凭证,请求中会带上out_trade_no。

  2. 下单成功后,从业机构调用混合下单的接口(即该接口),请求中也会带上out_trade_no。

有两点需要注意:

  1. 1和2请求中的out_trade_no应该一致,不要更改。

  2. 纯医保下单时,从业机构不要生成out_trade_no,沿用医院传过来的out_trade_no就行。

多个out_trade_no可以对应同一个serial_no。比如用户第一次下单漏算了快递费,导致实际需要用户微信支付的金额(wechat_pay_cash_fee)填错了。此时需要从业机构关掉自费单,再重新下单,新订单的out_trade_no会变化,但serial_no不变。


serial_no  必填 string(40)

【医疗机构订单号】例如医院HIS系统订单号。传与【6201】费用明细上传中medOrgOrd字段一样的值,局端会校验,不一致将会支付失败。

多个out_trade_no可以对应同一个serial_no。比如用户第一次下单漏算了快递费,导致实际需要用户微信支付的金额(wechat_pay_cash_fee)填错了。此时需要先取消前一笔订单再重新下单,新订单out_trade_no会变化,但serial_no不变。


pay_order_id  选填 string(64)

【医保局返回的支付单ID】含医保下单时,医保局返回的支付单ID。

纯医保支付或医保自费混合支付时该字段必填,纯自费支付时禁止填写。


pay_auth_no  选填 string(40)

【医保局返回的支付授权码】含医保下单时,医保局返回的支付授权码。

纯医保支付或医保自费混合支付时该字段必填,纯自费支付时禁止填写。


geo_location  选填 string(40)

【用户定位信息】含医保下单时必填,用户定位信息,经纬度。格式:经度,纬度。

纯医保支付或医保自费混合支付时该字段必填,纯自费支付时禁止填写。


city_id  必填 string(8)

【城市ID】一般为申请接入城市的编码,由腾讯侧对接时提供,部分地区与标准地区编码有差异。

详细城市ID可查看微信医保移动支付接口文档,附录-统一下单接口城市ID。


med_inst_name  必填 string(128)

【医疗机构名称】医疗机构名称


med_inst_no  必填 string(32)

【医疗机构编码】医保局提供的医疗机构编码


med_ins_order_create_time  选填 string(64)

【医保下单时间】医保下单必填,遵循rfc3339标准格式,格式为yyyy-MM-DDTHH:mm:ss+TIMEZONE。

纯医保支付或医保自费混合支付时该字段必填,纯自费支付时禁止填写。


total_fee  必填 integer

【使用该接口下单的总金额】单位分,使用该接口下单的总金额。

订单总金额(total_fee) = 医保统筹支付金额(med_ins_gov_fee)+ 医保个账支付金额(med_ins_self_fee)+ 医保其他支付金额(med_ins_other_fee) + 需要微信支付的金额(wechat_pay_cash_fee)+ 现金减免金额(cash_reduce_detail)


med_ins_gov_fee  选填 integer

【医保局结算后,医保统筹支付金额】单位分,医保局结算后,医保统筹支付金额,结算后金额为0也需要填写。

纯医保支付或医保自费混合支付时该字段必填,纯自费支付时禁止填写。


med_ins_self_fee  选填 integer

【医保局结算后,医保个账支付金额】单位分,医保局结算后,医保个账支付金额,结算后金额为0也需要填写。

纯医保支付或医保自费混合支付时该字段必填,纯自费支付时禁止填写。


med_ins_other_fee  选填 integer

【医保局结算后,医保其他支付金额】单位分,医保局结算后,医保统筹、个账之外的其他津贴支付金额,结算后金额为0也需要填写。

纯医保支付或医保自费混合支付时该字段必填,纯自费支付时禁止填写。


med_ins_cash_fee  选填 integer

【医保局结算后,需要自费的金额】单位分,医保局结算后,需要自费的金额,结算后金额为0也需要填写。

纯医保支付或医保自费混合支付时该字段必填,纯自费支付时禁止填写。


wechat_pay_cash_fee  选填 integer

【实际需要用户微信支付的金额】单位分,实际需要用户微信支付的金额。

纯自费支付或医保自费混合支付时必填,纯医保支付时禁止填写。

实际需要用户微信支付的金额(wechat_pay_cash_fee)= 医保结算后需要自费的金额(med_ins_cash_fee)+ 现金补充金额(cash_add_detail) - 现金减免金额(cash_reduce_detail)


cash_add_detail  选填 array[object]

【现金补充列表】有运费等医保订单外加收的费用时必填。在接口说明示例中,该值为快递费20元。

属性

cash_reduce_detail  选填 array[object]

【现金减免列表】有预交金等医保订单外减免的费用时必填。在接口说明示例中,该值为预存款100元。

属性

callback_url  必填 string(256)

【回调通知URL】通知URL必须为直接可访问的URL,不允许携带查询串,要求必须为HTTPS地址。


prepay_id  选填 string(64)

【自费预下单ID】微信支付预支付交易会话标识。用于后续接口调用中使用,该值有效期为2小时


passthrough_request_content  选填 string(2048)

【医疗机构透传给医保的数据】沿用地方医保局定义,不包含pay_auth_nopay_ord_idsetl_latlnt


extends  选填 string(512)

【扩展字段】医疗机构与微信医保约定的扩展字段


attach  选填 string(128)

【附加数据】查询与通知中返回,医疗机构可用于自定义业务逻辑


channel_no  选填 string(32)

【渠道号】由腾讯工程师分配的渠道号,给医疗机构使用,标记医保支付渠道信息。


med_ins_test_env  选填 boolean

【是否到医保局测试环境下单】* true:到医保局测试环境下医保单

  • false或不填:到医保局正式环境下医保单

该字段主要为了方便接入。从业机构和医疗结构在联调阶段:

  1. 从业机构可能在微信支付正式环境下自费单。

  2. 医疗结构只能在医保局测试环境下医保单。

如果此字段为true,即使银行在微信支付正式环境下自费单,仍然到医保局的测试环境下医保单。

应答示例

200 OK

1{
2  "mix_trade_no" : "1217752501201407033233368318",
3  "mix_pay_status" : "UNKNOWN_MIX_PAY_STATUS",
4  "self_pay_status" : "UNKNOWN_SELF_PAY_STATUS",
5  "med_ins_pay_status" : "UNKNOWN_MED_INS_PAY_STATUS",
6  "paid_time" : "2018-06-08T10:34:56+08:00",
7  "passthrough_response_content" : "{\"payAuthNo\":\"AUTH530100202204022006310000034\",\"payOrdId\":\"ORD530100202204022006350000021\",\"setlLatlnt\":\"102.682296,25.054260\"}",
8  "mix_pay_type" : "UNKNOWN_MIX_PAY_TYPE",
9  "order_type" : "UNKNOWN_ORDER_TYPE",
10  "appid" : "wxdace645e0bc2cXXX",
11  "sub_appid" : "wxdace645e0bc2cXXX",
12  "sub_mchid" : "1900008XXX",
13  "sub_openid" : "o4GgauInH_RCEdvrrNGrntXDuXXX",
14  "pay_for_relatives" : false,
15  "out_trade_no" : "202204022005169952975171534816",
16  "serial_no" : "1217752501201",
17  "pay_order_id" : "ORD530100202204022006350000021",
18  "pay_auth_no" : "AUTH530100202204022006310000034",
19  "geo_location" : "102.682296,25.054260",
20  "city_id" : "530100",
21  "med_inst_name" : "北大医院",
22  "med_inst_no" : "1217752501201407033233368318",
23  "med_ins_order_create_time" : "2015-05-20T13:29:35+08:00",
24  "total_fee" : 202000,
25  "med_ins_gov_fee" : 100000,
26  "med_ins_self_fee" : 45000,
27  "med_ins_other_fee" : 5000,
28  "med_ins_cash_fee" : 50000,
29  "wechat_pay_cash_fee" : 42000,
30  "cash_add_detail" : [
31    {
32      "cash_add_fee" : 2000,
33      "cash_add_type" : "DEFAULT_ADD_TYPE"
34    }
35  ],
36  "cash_reduce_detail" : [
37    {
38      "cash_reduce_fee" : 10000,
39      "cash_reduce_type" : "DEFAULT_REDUCE_TYPE"
40    }
41  ],
42  "callback_url" : "https://www.weixin.qq.com/wxpay/pay.php",
43  "prepay_id" : "wx201410272009395522657a690389285100",
44  "passthrough_request_content" : "{\"payAuthNo\":\"AUTH****\",\"payOrdId\":\"ORD****\",\"setlLatlnt\":\"118.096435,24.485407\"}",
45  "extends" : "{}",
46  "attach" : "{}",
47  "channel_no" : "AAGN9uhZc5EGyRdairKW7Qnu",
48  "med_ins_test_env" : false
49}
50

 

错误码

公共错误码

状态码

错误码

描述

解决方案

400

PARAM_ERROR

参数错误

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

400

INVALID_REQUEST

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

请参阅 接口规则

401

SIGN_ERROR

验证不通过

请参阅 签名常见问题

500

SYSTEM_ERROR

系统异常,请稍后重试

请稍后重试

业务错误码

状态码

错误码

描述

解决方案

400

PARAM_ERROR

金额计算出现溢出,请检查填写的金额是否正确。

请检查填写的金额是否正确

403

RULE_LIMIT

请求次数超过限制,请稍后重试。

请稍后重试

404

NOT_FOUND

未找到订单,请确认订单号是否正确。

请确认订单号是否正确

 

 

反馈
咨询
目录
置顶