使用医保自费混合订单号查看下单结果
更新时间: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)
【医疗机构的商户号】医疗机构的商户号
请求示例
应答参数
|
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_fee
、med_ins_self_fee
、med_ins_other_fee
、med_ins_cash_fee
之和一定为0。
*wechat_pay_cash_fee
一定不为0。
*cash_add_detail
可以不为0,cash_add_detail
可以不为0。
INSURANCE_ONLY
: 只向医保局下单,没有向微信支付下单。如果医保局分账结果中有自费部份,但由于有减免抵扣,没有向微信支付下单,也是纯医保。 *med_ins_gov_fee
、med_ins_self_fee
、med_ins_other_fee
、med_ins_cash_fee
之和可以为0。
*wechat_pay_cash_fee
一定为0。
*cash_add_detail
可以不为0,cash_add_detail
可以不为0。
CASH_AND_INSURANCE
: 向医保局下单,也向微信支付下单。如果医保预结算全部需自费,也属于混合类型。 *med_ins_gov_fee
、med_ins_self_fee
、med_ins_other_fee
、med_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)
【从业机构订单号】纯自费支付和医保自费混合支付场景均涉及向微信支付下单,从业机构需要调两次接口:
从业机构向微信支付下单获取微信支付凭证,请求中会带上out_trade_no。
下单成功后,从业机构调用混合下单的接口(即该接口),请求中也会带上out_trade_no。
有两点需要注意:
1和2请求中的out_trade_no应该一致,不要更改。
纯医保下单时,从业机构不要生成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_no
、pay_ord_id
、setl_latlnt
extends 选填 string(512)
【扩展字段】医疗机构与微信医保约定的扩展字段
attach 选填 string(128)
【附加数据】查询与通知中返回,医疗机构可用于自定义业务逻辑
channel_no 选填 string(32)
【渠道号】由腾讯工程师分配的渠道号,给医疗机构使用,标记医保支付渠道信息。
med_ins_test_env 选填 boolean
【是否到医保局测试环境下单】* true:到医保局测试环境下医保单
false或不填:到医保局正式环境下医保单
该字段主要为了方便接入。从业机构和医疗结构在联调阶段:
从业机构可能在微信支付正式环境下自费单。
医疗结构只能在医保局测试环境下医保单。
如果此字段为true,即使银行在微信支付正式环境下自费单,仍然到医保局的测试环境下医保单。
应答示例
200 OK
错误码
公共错误码
状态码 | 错误码 | 描述 | 解决方案 |
---|---|---|---|
400 | PARAM_ERROR | 参数错误 | 请根据错误提示正确传入参数 |
400 | INVALID_REQUEST | HTTP 请求不符合微信支付 APIv3 接口规则 | 请参阅 接口规则 |
401 | SIGN_ERROR | 验证不通过 | 请参阅 签名常见问题 |
500 | SYSTEM_ERROR | 系统异常,请稍后重试 | 请稍后重试 |
业务错误码
状态码 | 错误码 | 描述 | 解决方案 |
---|---|---|---|
400 | PARAM_ERROR | 金额计算出现溢出,请检查填写的金额是否正确。 | 请检查填写的金额是否正确 |
403 | RULE_LIMIT | 请求次数超过限制,请稍后重试。 | 请稍后重试 |
404 | NOT_FOUND | 未找到订单,请确认订单号是否正确。 | 请确认订单号是否正确 |