小程序场景唤起签约流程API
更新时间:2023.09.14# 接口说明
通过请求此接口唤起微信支付小程序的签约流程
支持商户: 【普通商户】
接口规则: wx.navigateToMiniProgram(OBJECT)接口,详见小程序API文档 (opens new window)
# 接口流程
商户流程介绍:
1.用户从商户小程序发起签约请求,商户请求小程序场景预签约API,获取参数。
2.商户将参数按照规则拼接之后,通过小程序跳转,向微信支付小程序发起签约请求。
3.用户在微信支付小程序选择支付方式完成签约和支付(商户在预签约API指定了交易参数)。
4.微信将签约结果返回给商户。
# 字段说明
# OBJECT参数说明
- appId 必填预签约返回的签约小程序AppID(redirect_appid)
- path 必填打开小程序的页面路径,填入预签约返回的跳转地址(redirect_path)
- extraData 必填签约的请求参数,详情见extraData字段详细说明。
- 属性
- success 必填接口调用成功的回调函数
- fail 必填接口调用失败的回调函数
- complete 必填接口调用结束的回调函数
Body 包体参数
示例代码:
1wx.navigateToMiniProgram({2 appId: 'wxbd687630cd02ce1d', // 预签约返回的redirect_appid3 path: 'pages/index/index', // 预签约返回的redirect_path4 extraData: {5 pre_entrustweb_id:'5778aadY9nltAsZzXixCkFIGYnV2V' // 预签约返回的pre_entrustweb_id6 },7 success(res) {8 // 成功跳转到签约小程序 9 },10 fail(res) {11 // 未成功跳转到签约小程序 12 },13});
用户签约完成之后,会跳转回商户小程序,可通过onShow(OBJECT)所携带的参数判断判断用户由签约小程序返回商户小程序,OBJECT返回参数请查看小程序开发文档 (opens new window)onShow参数说明
注意:如果用户正常点击微信签约页的确定按钮返回商户小程序,那么会返回extraData ; 如果用户点击浏览器左上角的返回,则不返回extraData
# referrerInfo.extraData 参数说明
- return_code 必填客户端小程序收到的签约结果 SUCCESS:签约成功 FAIL:签约失败
- return_msg 必填签约失败的错误信息
- contract_id 选填签约成功后微信返回的协议ID
Body 包体参数
示例代码:
1App({2 onShow(res) {3 if (res.scene === 1038) { // 场景值1038:从被打开的小程序返回4 const { appId, extraData } = res.referrerInfo5 if (appId == 'wxbd687630cd02ce1d') { // appId为wxbd687630cd02ce1d:从签约小程序跳转回来6 if (typeof extraData == 'undefined'){7 // TODO8 // 客户端小程序不确定签约结果,需要向商户侧后台请求确定签约结果9 return;10 }11 if(extraData.return_code == 'SUCCESS'){12 // TODO13 // 客户端小程序签约成功,需要向商户侧后台请求确认签约结果14 var contract_id = extraData.contract_id15 return;16 } else {17 // TODO18 // 签约失败19 return;20 }21 }22 }23 }24})
文档是否有帮助