开发文档(v3版) 
隐藏
支付
私域
公域
营销
资金
会员
信用
安全
其他
车主平台停车在线缴费
第三方应用授权
服务市场基础包
服务商代运营基础包
支付宝广告投放
应用aes密钥管理
api 列表
分享到支付宝
三方开发基础包
基础功能产品
api文档 > 其他 > 应用aes密钥管理 > 接入指南

接入指南 -凯发app官方网站

努力加载中...
收藏
努力加载中...

如果小程序模板或者商家小程序已经设置了 aes 密钥,服务商可通过调用 授权应用 aes 密钥查询接口来查询应用的 aes 密钥。

示例代码如下(以 java 语言为例):

公钥方式:

//encryptkey填入当前第三方应用的aes密钥,encrypttype为"aes" 
alipayclient alipayclient = new defaultalipayclient("https://openapi.alipay.com/gateway.do","第三方应用appid","your private_key","json","gbk","alipay_public_key","rsa2","encryptkey","encrypttype");
alipayopenauthappaesgetrequest request = new alipayopenauthappaesgetrequest();
request.setbizcontent ("{"    
    "\"merchant_app_id\":\"20191223601234500\""    //填写需查询密钥的应用appid
  "}" );
alipayopenauthappaesgetresponse response = alipayclient.execute(request);
if (response.issuccess ()){
  system.out.println(response.getaeskey());
  system.out.println( "调用成功" );
}  else  {
  system.out.println( "调用失败" );
}

公钥证书方式:

map = new hashmap<>();\n map.put(\"merchant_app_id\", \"2021002114641105\");// 查询模板aes密钥就填写小程序模板appid,为商家小程序填写商家小程序appid\n\n request.setbizcontent(json.tojsonstring(map));\n request.setneedencrypt(true);\n\n alipayopenauthappaesgetresponse response = alipayclient.certificateexecute(request);\n if (response.issuccess ()){\n system.out.println(string.format(\"调用成功,aeskey=%s\", response.getaeskey()));\n } else {\n system.out.println( \"调用失败\" );\n }","heightlimit":true,"id":"2poos"}" id="2poos" class="lake-card-margin">
        alipayconfig alipayconfig = new alipayconfig();
        alipayconfig.setserverurl(alipayserviceenvconstants.alipay_gateway);
        alipayconfig.setappid(alipayserviceenvconstants.app_id);
        alipayconfig.setprivatekey(alipayserviceenvconstants.private_key);
        alipayconfig.setappcertpath(alipayserviceenvconstants.app_cert_path);
        alipayconfig.setalipaypubliccertpath(alipayserviceenvconstants.alipay_cert_path);
        alipayconfig.setrootcertpath(alipayserviceenvconstants.alipay_root_cert_path);
        alipayconfig.setformat("json");
        alipayconfig.setcharset(alipayserviceenvconstants.charset);
        alipayconfig.setsigntype(alipayserviceenvconstants.sign_type);
        alipayconfig.setencrypttype(alipayserviceenvconstants.encrypttype);
        alipayconfig.setencryptkey(alipayserviceenvconstants.encryptkey);
        alipayclient alipayclient = new defaultalipayclient(alipayconfig);
        alipayopenauthappaesgetrequest request = new alipayopenauthappaesgetrequest();
        map<string, string> map = new hashmap<>();
        map.put("merchant_app_id", "2021002114641105");// 查询模板aes密钥就填写小程序模板appid,为商家小程序填写商家小程序appid
        request.setbizcontent(json.tojsonstring(map));
        request.setneedencrypt(true);
        alipayopenauthappaesgetresponse response = alipayclient.certificateexecute(request);
        if (response.issuccess ()){
            system.out.println(string.format("调用成功,aeskey=%s", response.getaeskey()));
        }  else  {
            system.out.println( "调用失败" );
        }

注意:

  • 服务商在构造 alipayclient 时,构造方法中需传入 encryptkey 和 encrypttype,encryptkey 为当前三方应用的 aes 密钥,encrypttype 为固定值 aes。
  • 服务商在调用接口前,必须先设置第三方应用的 aes 密钥,否则无法调用接口。

如果小程序模板或者商家应用没有设置 aes 密钥,或者 aes 密钥需要更新,服务商可以通过调用 alipay.open.auth.app.aes.set 授权应用 aes 密钥设置接口,来替小程序模板或者商家应用设置或者更新 aes 密钥。示例代码如下(以 java 语言为例):

注意:服务商请谨慎设置或更新商家应用密钥;若商家应用已上线,更新商家应用的密钥可能会影响商家的线上业务。服务商应该在商家应用没有密钥或者必须更换密钥时才去设置,若商家应用已有密钥,则调用上文中的密钥查询接口即可。

公钥方式:

//encryptkey填入当前第三方应用的aes密钥,encrypttype为"aes" 
alipayclient alipayclient = new defaultalipayclient("https://openapi.alipay.com/gateway.do","第三方应用appid","your private_key","json","gbk","alipay_public_key","rsa2","encryptkey","encrypttype");
alipayopenauthappaessetrequest request = new alipayopenauthappaessetrequest();
request.setbizcontent ("{"    
          //为模板设置就填写小程序模板appid,为商家设置就填写商家小程序appid
        "\"merchant_app_id\":\"20191223601234500\""    
    "}");
alipayopenauthappaessetresponse response = alipayclient.execute(request);
if (response.issuccess ()){
      system.out.println ( response.getaeskey());
      system.out.println ("调用成功");
}  else  {
      system.out.println ("调用失败");
}

公钥证书方式:

map = new hashmap<>();\n map.put(\"merchant_app_id\", \"2021002114641105\");// 为模板设置就填写小程序模板appid,为商家设置就填写商家小程序appid\n\n request.setbizcontent(json.tojsonstring(map));\n request.setneedencrypt(true);\n\n alipayopenauthappaessetresponse response = alipayclient.certificateexecute(request);\n if (response.issuccess()) {\n system.out.println(string.format(\"调用成功,aeskey=%s\", response.getaeskey()));\n } else {\n system.out.println(\"调用失败\");\n }","heightlimit":true,"id":"h5rpx"}" id="h5rpx" class="lake-card-margin">
       alipayconfig alipayconfig = new alipayconfig();
        alipayconfig.setserverurl(alipayserviceenvconstants.alipay_gateway);
        alipayconfig.setappid(alipayserviceenvconstants.app_id);//第三方应用appid
        alipayconfig.setprivatekey(alipayserviceenvconstants.private_key);//第三方应用私钥
        alipayconfig.setappcertpath(alipayserviceenvconstants.app_cert_path);//第三方应用公钥证书绝对路径
        alipayconfig.setalipaypubliccertpath(alipayserviceenvconstants.alipay_cert_path);//支付宝公钥证书绝对路径
        alipayconfig.setrootcertpath(alipayserviceenvconstants.alipay_root_cert_path);//支付宝 ca 根证书文件路径
        alipayconfig.setformat("json");
        alipayconfig.setcharset(alipayserviceenvconstants.charset);
        alipayconfig.setsigntype(alipayserviceenvconstants.sign_type);
        alipayconfig.setencrypttype(alipayserviceenvconstants.encrypttype);
        alipayconfig.setencryptkey(alipayserviceenvconstants.encryptkey);
        alipayclient alipayclient = new defaultalipayclient(alipayconfig);
        alipayopenauthappaessetrequest request = new alipayopenauthappaessetrequest();
        map<string, string> map = new hashmap<>();
        map.put("merchant_app_id", "2021002114641105");// 为模板设置就填写小程序模板appid,为商家设置就填写商家小程序appid
        request.setbizcontent(json.tojsonstring(map));
        request.setneedencrypt(true);
        alipayopenauthappaessetresponse response = alipayclient.certificateexecute(request);
        if (response.issuccess()) {
            system.out.println(string.format("调用成功,aeskey=%s", response.getaeskey()));
        } else {
            system.out.println("调用失败");
        }

注意:

  • 服务商在构造 alipayclient 时,构造方法中需传入 encryptkey 和 encrypttype,encryptkey 为当前第三方应用的 aes 密钥,encrypttype 为固定值 aes。
  • 服务商在调用接口前,必须先设置第三方应用的 aes 密钥,否则无法调用接口。
当前页面目录
内容没有解决您的问题?您还可以前往 或 寻求帮助
网站地图