小程序场景唤起签约流程API

更新时间:2023.09.14

# 接口说明

通过请求此接口唤起微信支付小程序的签约流程

支持商户: 【普通商户】

接口规则: wx.navigateToMiniProgram(OBJECT)接口,详见小程序API文档 (opens new window)

# 接口流程

商户流程介绍:

1.用户从商户小程序发起签约请求,商户请求小程序场景预签约API,获取参数。

2.商户将参数按照规则拼接之后,通过小程序跳转,向微信支付小程序发起签约请求。

3.用户在微信支付小程序选择支付方式完成签约和支付(商户在预签约API指定了交易参数)。

4.微信将签约结果返回给商户。

# 字段说明

# OBJECT参数说明

    Body 包体参数
  • appId 必填 string(32)
    预签约返回的签约小程序AppID(redirect_appid)
  • path 必填 string(32)
    打开小程序的页面路径,填入预签约返回的跳转地址(redirect_path)
  • extraData 必填 object
    签约的请求参数,详情见extraData字段详细说明。
    • 属性
  • success 必填 Function
    接口调用成功的回调函数
  • fail 必填 Function
    接口调用失败的回调函数
  • complete 必填 Function
    接口调用结束的回调函数

示例代码:

1wx.navigateToMiniProgram({
2 appId: 'wxbd687630cd02ce1d', // 预签约返回的redirect_appid
3 path: 'pages/index/index', // 预签约返回的redirect_path
4 extraData: {
5 pre_entrustweb_id:'5778aadY9nltAsZzXixCkFIGYnV2V' // 预签约返回的pre_entrustweb_id
6 },
7 success(res) {
8 // 成功跳转到签约小程序
9 },
10 fail(res) {
11 // 未成功跳转到签约小程序
12 },
13});

用户签约完成之后,会跳转回商户小程序,可通过onShow(OBJECT)所携带的参数判断判断用户由签约小程序返回商户小程序,OBJECT返回参数请查看小程序开发文档 (opens new window)onShow参数说明

注意:如果用户正常点击微信签约页的确定按钮返回商户小程序,那么会返回extraData ; 如果用户点击浏览器左上角的返回,则不返回extraData

# referrerInfo.extraData 参数说明

    Body 包体参数
  • return_code 必填 string(16)
    客户端小程序收到的签约结果
    SUCCESS:签约成功
    FAIL:签约失败
  • return_msg 必填 string(32)
    签约失败的错误信息
  • contract_id 选填 string(32)
    签约成功后微信返回的协议ID

示例代码:

1App({
2 onShow(res) {
3 if (res.scene === 1038) { // 场景值1038:从被打开的小程序返回
4 const { appId, extraData } = res.referrerInfo
5 if (appId == 'wxbd687630cd02ce1d') { // appId为wxbd687630cd02ce1d:从签约小程序跳转回来
6 if (typeof extraData == 'undefined'){
7 // TODO
8 // 客户端小程序不确定签约结果,需要向商户侧后台请求确定签约结果
9 return;
10 }
11 if(extraData.return_code == 'SUCCESS'){
12 // TODO
13 // 客户端小程序签约成功,需要向商户侧后台请求确认签约结果
14 var contract_id = extraData.contract_id
15 return;
16 } else {
17 // TODO
18 // 签约失败
19 return;
20 }
21 }
22 }
23 }
24})
反馈
咨询
目录