支付宝小程序:Step-4:ISV 实施小程序

小编:啊南 1215阅读 2020.12.28

前提条件

商家的小程序已授权给系统服务商(ISV)的第三方应用。

调试服务端接口

请先下载对应语言版本的开放平台服务端 SDK并引入开发工程。

小程序在 IDE 调试时,所需要用到的服务端接口(用户授权、订单接口等),需要使用第三方应用的 APPID 和 app_auth_token 进行测试。

小程序不能直接调用后端接口,小程序授权给第三方应用后,第三方应用可以代小程序调用后端接口,具体调用方式为:第三方应用 APPID + 第三方应用密钥 ?+ 授权码 app_auth_token。

具体操作可参见下方 第三方应用代小程序调用 alipay.system.oauth.token 接口获取支付宝会员标识(user_id)示例。

Java 示例代码





AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do","第三方应用APPID","第三方应用私钥 private_key","json","GBK","第三方应用alipay_public_key","RSA2");AlipaySystemOauthTokenRequest request = new AlipaySystemOauthTokenRequest();request.putOtherTextParam("app_auth_token", "201903BB61c87d68fee1456cac3bb65b6d515D88"); // 注:三方代小程序调用接口必须传入app_auth_tokenrequest.setGrantType("authorization_code");request.setCode("4b203fe6c11548bcabd8da5bb087a83b");AlipaySystemOauthTokenResponse response = alipayClient.execute(request);if(response.isSuccess()){System.out.println("调用成功");} else {System.out.println("调用失败");}





PHP 示例代码





$aop = new AopClient ();$aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';$aop->appId = '第三方应用 app_id';$aop->rsaPrivateKey = '第三方应用私钥';$aop->alipayrsaPublicKey='第三方应用支付宝公钥';$aop->apiVersion = '1.0';$aop->signType = 'RSA2';$aop->postCharset='GBK';$aop->format='json';$request = new AlipaySystemOauthTokenRequest ();$request->setGrantType("authorization_code");$request->setCode("4b203fe6c11548bcabd8da5bb087a83b");$result = $aop->execute ( $request, null, app_auth_token); // 注:第三方应用代小程序调用接口必须传入app_auth_token$responseNode = str_replace(".", "_", $request->getApiMethodName()) . "_response";$resultCode = $result->$responseNode->code;if(!empty($resultCode)&&$resultCode != 10000){echo "失败";} else {echo "成功";}






.NET 示例代码






IAopClient client = new DefaultAopClient("https://openapi.alipay.com/gateway.do", "第三方应用app_id", "第三方应用私钥merchant_private_key", "json", "1.0", "RSA2", "第三方应用支付宝公钥alipay_public_key", "GBK", false);AlipaySystemOauthTokenRequest  request= new AlipaySystemOauthTokenRequest() ;request.GrantType = "authorization_code";request.Code = "4b203fe6c11548bcabd8da5bb087a83b";AlipaySystemOauthTokenResponse response=client.execute(request,app_auth_token);//注:第三方应用代小程序调用接口必须传入app_auth_tokenConsole.WriteLine(response.Body);





添加开发者

系统服务商(ISV)代调用接口 alipay.open.app.members.create,添加系统服务商(ISV)侧开发人员的支付宝账号为商家小程序应用的开发者。

被添加的账号需登录支付宝,在 服务提醒 中,确认添加申请。

开发小程序

开发人员在 IDE 中关联商家小程序并完成代码部分的开发和调试。

设计文档。

  • 关于小程序开发的详情,请参见 开发文档。

  • 有关小程序中第三方如何接入开放能力,请参见示例 小程序支付第三方接入。

  • 上传代码版本

    在 IDE 的右上角,点击 上传 按钮,上传代码。

    若已配置,可进入下一环节。

    若未成功配置白名单,可能会导致在体验版本、审核版本、灰度版本、线上版本中页面白屏。

    配置步骤:

    1. 登录?开放平台控制台,选择所需的第三方应用。

    2. 在左侧导航栏点击?设置,进入设置页面。

    3. 进入?开发设置?> 域名白名单配置,点击?添加

    4. 填写所需域名,点击?确定

      注意:添加的域名必须支持 HTTPS 协议,而且已经完成备案。

    体验上传的小程序

    完成上传版本后,可调用小程序生成体验版接口,生成体验版小程序供系统服务商(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。

    提交审核

    代调用接口 alipay.open.mini.version.audit.apply,提交审核商家小程序。审核时长通常是 2~3 小时。

    请求参数说明:

    参数

    说明

    mini_category_ids

    小程序类目 ID,可通过接口 alipay.open.mini.category.query 查询 mini_category_list。所需资质请参见 小程序经营类目及所需资质材料。

    注意:

    • 若类目需要传入除营业执照、门头照的以外的资质,请将资质图片传入参数 first_special_license_pic、second_special_license_pic、third_special_license_pic 中。

    • 使用 mini_category_ids(新前台类目)后就不会再读取 app_category_ids (老前台类目,即将废弃)。

    service_phone

    service_email

    客服电话和客服邮箱,二选一填写,不可都不填。

    service_region_info

    地区信息参见 excel 列表,请根据实际情况填写。

    ?地区编码.xlsx

    first_screen_shot 等截图字段

    单张图不超过 4MB,最大 2160 × 3840 px。

    查询商家小程序审核状态

    系统服务商(ISV)有两种方法查询审核结果:

    方法一:

    ?代调用 alipay.open.mini.version.detail.query 接口可查询小程序版本详情。

    响应参数说明:

    参数

    类型

    说明

    status

    String

    小程序版本状态:

    • INIT-开发中

    • AUDITING-审核中

    • WAIT_RELEASE-审核通过

    • AUDIT_REJECT-审核驳回

    • RELEASE-已上架

    • GRAY-灰度中

    • OFFLINE-下架

    reject_reason

    String

    审核被驳回的原因

    方法二:

    和商家沟通,商家进入 开放平台 > 小程序详情 > 版本管理 中可查看版本状态。

    image.png

    常见问题排查
    • 审核相关常见问题,请参见?三方业务 审核 FAQ。

    • r小程序审核驳回原因可参见:r

      • ??运营类审核驳回案例?

      • ?开发类审核驳回案例

    退回开发状态

    商家小程序审核被驳回后,代调用?alipay.open.mini.version.audited.cancel 接口退回到开发状态。修改后可再次提审。

    商家小程序撤回审核

    只有是审核状态的情况下才能撤回审核,撤回后就是已经退回开发状态,修改好后需再次提审。

    详细的参数说明、示例代码、错误码等请参见文档 alipay.open.mini.version.audit.cancelr。

    上架商家小程序


    商家小程序审核通过审核后,在正式上架前,可以先代调用 alipay.open.mini.version.gray.online 接口执行灰度上架;也可以直接代调用?alipay.open.mini.version.online?接口上架商家小程序。



    结束灰度代调用接口 alipay.open.mini.version.gray.cancel,只有灰度状态的小程序版本才能执行结束灰度,结束灰度后小程序将变成审核通过状态。

    备注
    • 二维码:生成商家小程序二维码,用户可以扫码进入小程序指定页面。第三方应用应添加 小程序二维码 功能包。详细的参数说明、示例代码、错误码等请参见文档 alipay.open.app.qrcode.create。

    • 小程序下架:只有已经上架版本的小程序才能执行下架,详细的参数说明、示例代码、错误码等请参见文档 alipay.open.mini.version.offline。

    • 小程序回滚:当前上架的小程序版本执行回滚操作,上架的版本回滚到上一个上架的版本。详细的参数说明、示例代码、错误码等请参见文档 alipay.open.mini.version.rollback。

    • 解除授权:解除授权,即终止服务,商家可在小程序管理中心中解除授权关系。

    关联标签: