前提条件
商家的小程序已授权给服务商的第三方应用。
调试服务端接口
请先下载对应语言版本的 开放平台服务端 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_token request.setgranttype("authorization_code"); request.setcode("4b203fe6c11548bcabd8da5bb087a83b"); alipaysystemoauthtokenresponse response = alipayclient.execute(request); if(response.issuccess()){ system.out.println("调用成功"); } else { system.out.println("调用失败"); }
php 示例代码
gatewayurl = 'https://openapi.alipay.com/gateway.do';\n$aop->appid = '第三方应用 app_id';\n$aop->rsaprivatekey = '第三方应用私钥';\n$aop->alipayrsapublickey='第三方应用支付宝公钥';\n$aop->apiversion = '1.0';\n$aop->signtype = 'rsa2';\n$aop->postcharset='gbk';\n$aop->format='json';\n$request = new alipaysystemoauthtokenrequest ();\n$request->setgranttype(\"authorization_code\");\n$request->setcode(\"4b203fe6c11548bcabd8da5bb087a83b\");\n$result = $aop->execute ( $request, null, app_auth_token); // 注:第三方应用代小程序调用接口必须传入app_auth_token\n$responsenode = str_replace(\".\", \"_\", $request->getapimethodname()) . \"_response\";\n$resultcode = $result->$responsenode->code;\nif(!empty($resultcode)&&$resultcode != 10000){\necho \"失败\";\n} else {\necho \"成功\";\n}","id":"cb7im"}" id="cb7im">
$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,null,app_auth_token)//注:第三方应用代小程序调用接口必须传入app_auth_token console.writeline(response.body);
添加开发者
服务商调用接口 alipay.open.app.members.create(应用添加成员),添加服务商侧开发人员的支付宝账号为商家小程序应用的开发者。
被添加的账号需登录支付宝,在 服务提醒 中,确认添加申请。
开发小程序
开发人员在 ide 中关联商家小程序并完成代码部分的开发和调试。
- 关于小程序设计的详情,可查看 设计文档。
- 关于小程序开发的详情,可查看 开发文档。
- 有关小程序中第三方如何接入开放能力,可查看示例 小程序支付第三方接入。
上传代码版本
在 ide 的右上角,点击 上传 按钮,上传代码。
配置域名白名单
若已配置,可进入下一环节。
若未成功配置白名单,可能会导致在体验版本、审核版本、灰度版本、线上版本中页面白屏。
配置步骤:
- 登录 ,选择所需的第三方应用。
- 在左侧导航栏点击 设置,进入设置页面。
- 进入 开发设置 > 域名白名单配置,点击 添加。
- 填写所需域名,点击 确定。
注意:添加的域名必须支持 https 协议,而且已经完成备案。
查询版本信息
- 调用 alipay.open.mini.version.list.query(小程序版本列表查询)接口,在 app_auth_token 中传入商家小程序授权给第三方应用的授权令牌,可查询到商家小程序的所有版本的基础信息。
- 调用 alipay.open.mini.version.detail.query(小程序版本详情查询)接口,传入商家小程序的版本号,可查询对应版本的详情信息。
体验上传的小程序
完成上传版本后,可调用小程序生成体验版接口,生成体验版小程序供服务商和商家进行检查预览。
- 生成商家小程序体验版,调用接口 alipay.open.mini.experience.create(小程序生成体验版)。
- 查询商家小程序体验版状态,调用接口 alipay.open.mini.experience.query(小程序体验版状态查询)。
通过接口响应参数exp_qr_code_url
,获得二维码链接,点击扫码,即可体验商家小程序。
说明:如果扫体验码提示没有此功能,调用接口 alipay.open.app.members.create(应用添加成员),添加开发者或体验者。 - 取消商家小程序体验版,调用接口 alipay.open.mini.experience.cancel(小程序取消体验版)。