使用从业机构订单号查看下单结果
更新时间:2024.06.05从业机构使用从业机构订单号、医疗机构商户号,通过该接口主动查询订单状态,完成下一步的业务逻辑。当下单没有返回信息时,可以通过此接口查询下单结果,如果查询返回订单不存在,则可以重试下单。
# 接口说明
支持商户:
【从业机构(银行)】
请求方式:
【GET】/v3/med-ins/orders/out-trade-no/{out_trade_no}
请求域名:
【主域名】
https://api.mch.weixin.qq.com
使用该域名将访问就近的接入点【备域名】
https://api2.mch.weixin.qq.com
使用该域名将访问异地的接入点 ,指引点击查看
# 请求参数
- Authorization 必填请参考 签名认证 生成认证信息
- Accept 必填请设置为
application/json
Header HTTP头参数
- out_trade_no 必填【从业机构订单号】 从业机构商户订单号
Path 路径参数
- sub_mchid 必填【医疗机构的商户号】 医疗机构的商户号
Query 查询参数
请求示例
GET
# 应答参数
- mix_trade_no 必填【医保自费混合订单号】 唯一定义此资源的标识
- mix_pay_status 必填【医保自费混合订单支付状态】 医保自费混合订单支付状态
可选取值:UNKNOWN_MIX_PAY_STATUS
: 未知类型,需报错MIX_PAY_CREATED
: 等待支付MIX_PAY_SUCCESS
: 支付成功MIX_PAY_REFUND
: 自费和医保均已退款MIX_PAY_FAIL
: 支付失败
- self_pay_status 必填【混合订单中自费部分的支付状态】 混合订单中自费部分的支付状态
可选取值:UNKNOWN_SELF_PAY_STATUS
: 未知类型,需报错SELF_PAY_CREATED
: 等待支付SELF_PAY_SUCCESS
: 支付成功SELF_PAY_REFUND
: 已退款SELF_PAY_FAIL
: 支付失败NO_SELF_PAY
: 订单不含自费部分
- med_ins_pay_status 必填【混合订单中医保部分的支付状态】 混合订单中医保部分的支付状态
可选取值: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 选填【订单支付时间】 遵循rfc3339标准格式,格式为yyyy-MM-DDTHH:mm:ss+TIMEZONE
- passthrough_response_content 选填【支付完成后医保局返回内容】 支付完成后医保局返回内容(透传给医疗机构)
- mix_pay_type 必填【混合支付类型】 混合支付类型
可选取值: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 必填【订单类型】 订单类型
可选取值: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 必填【从业机构的公众号ID】 从业机构的公众号ID
- sub_appid 必填【医疗机构的公众号ID】 医疗机构的公众号ID
- sub_mchid 必填【医疗机构的商户号】 医疗机构的商户号
- sub_openid 必填【用户在医疗机构AppID下的唯一标识】 用户在医疗机构AppID下的唯一标识
- pay_for_relatives 选填【是否代亲属支付】 不传默认替本人支付
* 代亲属支付:true
* 本人支付:false - out_trade_no 必填【从业机构订单号】 纯自费支付和医保自费混合支付场景均涉及向微信支付下单,从业机构需要调两次接口:
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 必填【医疗机构订单号】 例如医院HIS系统订单号。传与【6201】费用明细上传中medOrgOrd字段一样的值,局端会校验,不一致将会支付失败。
多个out_trade_no可以对应同一个serial_no。比如用户第一次下单漏算了快递费,导致实际需要用户微信支付的金额(wechat_pay_cash_fee)填错了。此时需要先取消前一笔订单再重新下单,新订单out_trade_no会变化,但serial_no不变。 - pay_order_id 选填【医保局返回的支付单ID】 含医保下单时,医保局返回的支付单ID。
纯医保支付或医保自费混合支付时该字段必填,纯自费支付时禁止填写。 - pay_auth_no 选填【医保局返回的支付授权码】 含医保下单时,医保局返回的支付授权码。
纯医保支付或医保自费混合支付时该字段必填,纯自费支付时禁止填写。 - geo_location 选填【用户定位信息】 含医保下单时必填,用户定位信息,经纬度。格式:经度,纬度。
纯医保支付或医保自费混合支付时该字段必填,纯自费支付时禁止填写。 - city_id 必填【城市ID】 一般为申请接入城市的编码,由腾讯侧对接时提供,部分地区与标准地区编码有差异。
详细城市ID可查看微信医保移动支付接口文档,附录-统一下单接口城市ID。 - med_inst_name 必填【医疗机构名称】 医疗机构名称
- med_inst_no 必填【医疗机构编码】 医保局提供的医疗机构编码
- med_ins_order_create_time 选填【医保下单时间】 医保下单必填,遵循rfc3339标准格式,格式为yyyy-MM-DDTHH:mm:ss+TIMEZONE。
纯医保支付或医保自费混合支付时该字段必填,纯自费支付时禁止填写。 - total_fee 必填【使用该接口下单的总金额】 单位分,使用该接口下单的总金额。
订单总金额(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 选填【医保局结算后,医保统筹支付金额】 单位分,医保局结算后,医保统筹支付金额,结算后金额为0也需要填写。
纯医保支付或医保自费混合支付时该字段必填,纯自费支付时禁止填写。 - med_ins_self_fee 选填【医保局结算后,医保个账支付金额】 单位分,医保局结算后,医保个账支付金额,结算后金额为0也需要填写。
纯医保支付或医保自费混合支付时该字段必填,纯自费支付时禁止填写。 - med_ins_other_fee 选填【医保局结算后,医保其他支付金额】 单位分,医保局结算后,医保统筹、个账之外的其他津贴支付金额,结算后金额为0也需要填写。
纯医保支付或医保自费混合支付时该字段必填,纯自费支付时禁止填写。 - med_ins_cash_fee 选填【医保局结算后,需要自费的金额】 单位分,医保局结算后,需要自费的金额,结算后金额为0也需要填写。
纯医保支付或医保自费混合支付时该字段必填,纯自费支付时禁止填写。 - wechat_pay_cash_fee 选填【实际需要用户微信支付的金额】 单位分,实际需要用户微信支付的金额。
纯自费支付或医保自费混合支付时必填,纯医保支付时禁止填写。
实际需要用户微信支付的金额(wechat_pay_cash_fee)= 医保结算后需要自费的金额(med_ins_cash_fee)+ 现金补充金额(cash_add_detail) - 现金减免金额(cash_reduce_detail) - cash_add_detail 选填【现金补充列表】 有运费等医保订单外加收的费用时必填。在接口说明示例中,该值为快递费20元。
- 属性
- cash_reduce_detail 选填【现金减免列表】 有预交金等医保订单外减免的费用时必填。在接口说明示例中,该值为预存款100元。
- 属性
- callback_url 必填【回调通知URL】 通知URL必须为直接可访问的URL,不允许携带查询串,要求必须为HTTPS地址。
- prepay_id 选填【自费预下单ID】 微信支付预支付交易会话标识。用于后续接口调用中使用,该值有效期为2小时
- passthrough_request_content 选填【医疗机构透传给医保的数据】 沿用地方医保局定义,不包含
pay_auth_no
、pay_ord_id
、setl_latlnt
- extends 选填【扩展字段】 医疗机构与微信医保约定的扩展字段
- attach 选填【附加数据】 查询与通知中返回,医疗机构可用于自定义业务逻辑
- channel_no 选填【渠道号】 由腾讯工程师分配的渠道号,给医疗机构使用,标记医保支付渠道信息。
- med_ins_test_env 选填【是否到医保局测试环境下单】 * true:到医保局测试环境下医保单
* false或不填:到医保局正式环境下医保单
该字段主要为了方便接入。从业机构和医疗结构在联调阶段:
1. 从业机构可能在微信支付正式环境下自费单。
2. 医疗结构只能在医保局测试环境下医保单。
如果此字段为true,即使银行在微信支付正式环境下自费单,仍然到医保局的测试环境下医保单。
200OK
应答示例
200 OK
# 错误码
# 公共错误码
状态码 | 错误码 | 描述 | 解决方案 |
---|---|---|---|
400 | PARAM_ERROR | 参数错误 | 请根据错误提示正确传入参数 |
400 | INVALID_REQUEST | HTTP 请求不符合微信支付 APIv3 接口规则 | 请参阅 接口规则 |
401 | SIGN_ERROR | 验证不通过 | 请参阅 签名常见问题 |
500 | SYSTEM_ERROR | 系统异常,请稍后重试 | 请稍后重试 |
# 业务错误码
状态码 | 错误码 | 描述 | 解决方案 |
---|---|---|---|
400 | PARAM_ERROR | 请确认商户号是否正确 | 请确认商户号是否正确 |
400 | PARAM_ERROR | 金额计算出现溢出,请检查填写的金额是否正确。 | 请检查填写的金额是否正确 |
403 | RULE_LIMIT | 请求次数超过限制,请稍后重试。 | 请稍后重试 |
404 | NOT_FOUND | 未找到订单,请确认订单号是否正确。 | 请确认订单号是否正确 |
文档是否有帮助