JSAPI调起医保自费混合支付

更新时间:2024.02.28
  1. 如存在自费支付金额,通过自费下单接口获取到发起自费支付的必要参数timeStamp、nonceStr、package、signType、paySign

  2. 通过【医保自费混合收款下单】接口获取到发起支付的必要参数mix_trade_no

  3. 使用requestMedicalInsurancePay方法调起医保自费混合支付

  4. 用户输入密码,确认收款

  5. 返回医疗机构H5页面,医疗机构H5调用【查看医保自费混合收款结果】接口,查询收款结果,更新H5页面

# 接口说明

支持商户: 【间连商户(医疗机构)】

调用接口前需要通过config接口注入权限验证配置 (opens new window)

# 接口兼容

iOS兼容性表现:若微信版本>=8.0.44,开发者可以通过此接口调起医保自费混合支付;若微信版本<8.0.44,开发者不能通过此接口调起医保自费混合支付,此时开发者应提示用户更新微信版本。

Android兼容性表现:若微信版本>=8.0.44,开发者可以通过此接口调起医保自费混合支付;若微信版本<8.0.44,开发者不能通过此接口调起医保自费混合支付,此时开发者应提示用户更新微信版本。

# 字段说明

# 调用requestMedicalInsurancePay(OBJECT)发起微信支付

接口名称: requestMedicalInsurancePay

Object请求参数说明:

  • mixTradeNo 必填 string(256)
    混合收款单ID
  • appid 必填 string(32)
    商户申请的公众号对应的AppID,由微信支付生成,可在公众号后台查看
  • timeStamp 选填 string(32)
    时间戳,标准北京时间,时区为东八区,自1970年1月1日 0点0分0秒以来的秒数。注意:部分系统取到的值为毫秒级,需要转换成秒(10位数字)。
  • nonceStr 选填 string(32)
    随机字符串,不长于32位。
  • package 选填 string(128)
    JSAPI下单接口返回的prepay_id参数值,提交格式如:prepay_id=***
  • signType 选填 string(32)
    签名类型,默认为RSA,仅支持RSA。
  • paySign 选填 string(256)
    签名,使用字段AppID、timeStamp、nonceStr、package计算得出的签名值

# 回调结果

回调结果 errMsg 说明
success requestMedicalInsurancePay:ok 调用支付成功
fail requestMedicalInsurancePay:fail 调用支付失败

# 请求示例

1wx.config({
2 debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
3 appId: '', // 必填,公众号的唯一标识
4 timestamp: , // 必填,生成签名的时间戳
5 nonceStr: '', // 必填,生成签名的随机串
6 signature: '',// 必填,签名
7 jsApiList: ['requestMedicalInsurancePay'] // 必填,需要使用的JS接口列表
8});
9
10wx.ready(function(){
11 WeixinJSBridge.invoke('requestMedicalInsurancePay',
12 {
13 "appid": "wx8888888888888888",
14 "timeStamp": "1414561699",
15 "nonceStr": "5K8264ILTKCH16CQ2502SI8ZNMTM67VS",
16 "package": "prepay_id=wx201410272009395522657a690389285100",
17 "signType": "RSA",
18 "paySign": "oR9d8PuhnIc+YZ8cBHFCwfgpaK9gd7vaRvkYD7rthRAZ\/X+QBhcCYL21N7cHCTUxbQ+EAt6Uy+lwSN22f5YZvI45MLko8Pfso0jm46v5hqcVwrk6uddkGuT+Cdvu4WBqDzaDjnNa5UK3GfE1Wfl2gHxIIY5lLdUgWFts17D4WuolLLkiFZV+JSHMvH7eaLdT9N5GBovBwu5yYKUR7skR8Fu+LozcSqQixnlEZUfyE55feLOQTUYzLmR9pNtPbPsu6WVhbNHMS3Ss2+AehHvz+n64GDmXxbX++IOBvm2olHu3PsOUGRwhudhVf7UcGcunXt8cqNjKNqZLhLw4jq\/xDg==",
19 "mixTradeNo": "xxxxxxxxxx",
20 },
21 (res) => {
22 // res: {"result":"success","err_msg":"requestMedicalInsurancePay:ok","msg":"已完成医保支付 ","err_desc":""}
23 });
24});