您现在的位置:   首页 >> 新闻中心 >> 行业动态

支付宝小程序服务商如何通过模板开发构建小程序版本

发布人:admin 发布时间:2021-07-24 15 次浏览

支付宝小程序服务商如何通过模板开发构建小程序版本


商家小程序授权给第三方应用后,系统服务商(ISV)可调用接口帮助商家构建小程序。

通过三方模板构建商家小程序版本

生成版本

调用 alipay.open.mini.version.upload 接口,通过模板构建商家小程序版本。

说明:

无需配置商家小程序的开发配置,调用构建接口后,商家小程序的开发配置会自动继承第三方应用和模板的开发配置:

  • 商家小程序继承第三方应用的接口加签方式、域名白名单、IP 白名单、支付宝网关、应用网关、接口内容加密方式、基础库最低版本等配置。

  • 商家小程序继承小程序模板的 H5 域名和 AES 密钥配置。

  • 若商家小程序在调用构建版本接口之前已有开发配置,则调用构建版本接口后,在小程序原有的开发配置基础上合并第三方应用和模板的开发配置,一并生效。

ext 参数说明

为了方便第三方平台的开发者引入 APPID 的开发调试工作,需要引入 ext.json 的概念。

调用构建接口时传入 ext 参数,ext.json 的配置将会被写入商家小程序 app.json 的根目录下。

将商家的标识符(可自行决定采用何种标识,只要可以通过此标识查询出之前记录的该商家对应的 app_auth_token 即可)通过 ext.json 注入商家小程序中,以便小程序模板前端向 ISV 的服务端发出的请求,都可以带上商家标识符,从而服务端可以查询出与商家对应的 app_auth_token


{  "extEnable": true,  "ext": {    "shopId": "2018050xxxxxx975978",    "miniShopId": "1112xxxxxx9766",    "appId": "201xxxxxx108305"  },  "extPages": {    "pages/face/index":{        "defaultTitle": "功能演示页面"    }  },  "window":{    "defaultTitle": "支付宝接口功能演示"  },  "tabBar": {    "textColor": "#dddddd",    "selectedColor": "#49a9ee",    "backgroundColor": "#ffffff",    "items": [      {        "pagePath": "pages/index/index",        "name": "首页"      },      {        "pagePath": "pages/logs/logs",        "name": "日志"      }    ]  }}


ext.json中的配置字段分为两种:

  • 特有的字段

  • 同 app.json 相同的字段 

extEnable 是一个 Boolean 类型的字段,用于规定当前的 ext.json 文件是否生效,开发者可以通过修改这个字段来开启和关闭 ext 中的 APPID 的结合开发。

ext 字段是开发自定义的数据字段,用于配置商家小程序的个性化内容,例如上面的例子中,通过 my.getExtConfigSync 就可以获得 ext 字段的所有配置。


{    "shopId": "2018050xxxxxx975978",    "miniShopId": "1112xxxxxx9766",    "appId": "201xxxxxx108305"  }



const extJson = my.getExtConfigSync();    let shopId = extJson.shopId;    let miniShopId = extJson.miniShopId;    let appId = extJson.appId;

extPages 是一个对象,对象中的每个 key 应该是该小程序模板 app.json 中定义的页面,每个 key 对应的 value 是 page.json 中所规定的各项配置。当开发者设置这个配置以后,小程序框架会对应的修改相对应的 page 的配置信息。


示例:


@Testpublic void buildByTemplate() {    // 1、构建ext字段    Map<String, Object> extFields = new HashMap<String, Object>();    extFields.put("extEnable", true);    Map<String, String> ext = new HashMap<String, String>();    ext.put("shopId", "2019201929019291");    ext.put("userSlogan", "这是商家自定义的标语");    extFields.put("ext", ext);    // 2、构建请求    AlipayOpenMiniVersionUploadRequest request = new AlipayOpenMiniVersionUploadRequest();    Map<String, String> content = new HashMap<String, String>();    content.put("ext", JSONObject.toJSONString(extFields)); // ext字段转换成json字符串格式    content.put("template_id", "2019121069217771");    content.put("app_version", "0.0.3");    request.setBizContent(JSONObject.toJSONString(content));    // 3、代调用请求的app_auth_token    request.putOtherTextParam("app_auth_token", APP_AUTH_TOKEN);    try {        AlipayOpenMiniVersionUploadResponse response = alipayClient.execute(request);        printResponse(response);    } catch (AlipayApiException e) {        e.printStackTrace();    }}

常见报错

报错

解决方案

系统繁忙

检查 biz_content 参数,传入的参数应该为一个JSON 字符串,可以参考 alipay.open.mini.version.upload 文档的示例。

商户未签约任何产品

商家小程序下线导致报错,请确保商家小程序是已上线的状态。

有关构建商家小程序的常见问题,请参见 三方业务 构建 FAQ

查询商家小程序构建状态

完成构建商家小程序后,需调用 alipay.open.mini.version.build.query 接口,轮询小程序版本构建状态。

当返回结果中 create_status 为 6,则说明小程序版本创建成功。

删除商家小程序版本

只有状态为开发中的版本才能被删除,默认最多允许 20 个开发中的版本。若超出,调用 alipay.open.mini.version.delete 接口删除废弃的版本。

体验构建的小程序

当调用查询小程序版本构建状态接口 alipay.open.mini.version.build.query 返回参数 create_status 为 6 后,可调用小程序生成体验版接口,生成体验版小程序供 ISV 和商家进行检查预览。

操作步骤

  1. 生成商家小程序体验版,调用接口 alipay.open.mini.experience.create

  2. 查询商家小程序体验版状态,调用接口 alipay.open.mini.experience.query
    通过接口响应参数 exp_qr_code_url,获得二维码链接,点击扫码,即可体验商家小程序。
    说明:如果扫体验码提示没有此功能,调用接口 alipay.open.app.members.create,添加开发者或体验者。

  3. 取消商家小程序体验版,调用接口 alipay.open.mini.experience.cancel



我司为 支付宝支付服务商 支付宝开发服务商微信支付服务商微信开发服务商如您有小程序开发需求,小程序开发系统加盟请联系我们
最新资讯
在线咨询
电话咨询
扫一扫

微信扫一扫
咨询最新优惠活动

联系微信
www46kaicn

返回顶部
易客多小程序saas系统__微信小程序开发_餐饮外卖小程序开发_商城小程序开发代理加盟_小程序开发系统源码部署
3分钟快速拥有自己的小程序! 四六开科技,以创新技术引领行业未来
免费试用