开发者社区
社区提问意见反馈
开发者钉组织
扫描二维码
加入支付宝开发者钉组织
文档中心
小程序 
控制台
登录
开始使用
AMPE
多端开发
插件
插件介绍
插件获取与使用
插件开发
插件发布
插件管理
插件管理
插件授权
插件后端开发
插件快捷联调
插件多端开发
小程序模板使用插件
插件版本升级
协助小程序更新插件
插件技术知识汇总
附录
安全
openid 开发指南
扩展能力
开发 >  指南 >  插件 >  插件管理 > 插件后端开发

插件后端开发

背景

插件不能独立运行,必须依附在其他的主体小程序上。当插件需要获取商家拥有的支付宝能力的时候,必须协助商家调用支付宝接口,所以插件服务端最重要的概念就是 代调用

服务端开发准备

插件服务端开发需要下载 支付宝服务端 SDK。

插件代调用

  1. 插件代替商家来调用支付宝产品时候,需要获得商家授权发送 app_auth_code 换取 app_auth_token。授权消息相关操作可查看 插件授权,完成消息处理后请配送应用网关
  1. 商家授权是授权商家下面某一个应用给插件代调用,所以插件服务端需要建立 PID - auth_app_id - app_auth_token 三者唯一关系。
  1. 当插件代理商家获取用户信息时候,需要用户授权发送 auth_code 给插件代理换取 access_token,最终用 app_id(三方应用 id) + app_auth_token + access_token 请求接口获得用户信息。

获得 app_auth_token

app_auth_token:插件授权获取的 token,用于服务商协助商家发起请求。

当商家订购插件时,会 授权插件 行使代调用权限,app_auth_token 回调发送给插件的网关。在联调获取 app_auth_token 前,必须配置完成 应用网关

app_auth_token 回调以下信息发送网关:

  • 第三方应用授权
  • 下单消息:商家完成订购插件后服务商收到的关于商家的相关订单消息。

配置应用网关

用于接收支付宝异步通知,例如口碑开店中,需要配置此网关来接收开发者门店被动通知。

在配置完成 应用网关 后,订购小程序插件时会推送最新的 app_auth_token 给插件服务端,采用这种方式可以验证模拟商家订购插件回调 app_auth_token 的过程。

获得 app_auth_token 的两种方法

方法一: 商家订购插件,app_auth_token 回调发送给插件。

方法二: 在小程序插件详情页的 插件管理 > 授权管理 中查找对应的 app_auth_token。

获得 auth_token

auth_token:用户信息授权获取的 token,用于获取用户信息。

使用插件用户授权,获取用户的 auth_code,再换取 auth_token。

获得 auth_code

获取 auth_code 详情请查看 my.getAuthCode。

通过 auth_code 换取 auth_token

//插件开发者私钥,由开发者自己生成 参考 https://docs.open.alipay.com/200/105310#s2
String appPrivateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCKnImlg1tZYi4UBFwk3A4L3LjuAy";
//支付宝公钥,由支付宝生成
String alipayPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4r6vW";
String format = "json";
String charset = "UTF-8";
String signType = "RSA2"; //商家生成签名字符串所使用的签名算法类型,目前支持RSA2和RSA,推荐使用RSA2
String serverUrl = "https://openapi.alipay.com/gateway.do";
String appId = "2018071660683196"; //插件id
String appAuthToken = "1cc19911172e4f8aaa509c8fb5d12F56"; //商家授权token https://docs.open.alipay.com/20160728150111277227/intro
String authCode = "bc95009acbe1401cabec35cece99SC12"; // 用户授权码
AlipayClient alipayClient = new DefaultAlipayClient(serverUrl, appId, appPrivateKey, format, charset, alipayPublicKey, signType);
try {
    AlipaySystemOauthTokenRequest request = new AlipaySystemOauthTokenRequest();
    request.setGrantType("authorization_code");
    request.setCode(authCode);
    AlipaySystemOauthTokenResponse response = alipayClient.execute(request, null, appAuthToken);
    System.out.println(response.getAccessToken());
} catch (AlipayApiException e) {
    e.printStackTrace();
}

代调用获取用户信息

简单说代调用获取用户信息,是利用 app_id(插件应用 id) + app_auth_token+access_token 调用接口获取用户信息。

//插件开发者私钥,由开发者自己生成 参考 https://opendocs.alipay.com/mini/introduce/01p6u8
String appPrivateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCKnImlg1tZYi4UBFwk3A4L3LjuAy";
//支付宝公钥,由支付宝生成
String alipayPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4r6vW";
String format = "json";
String charset = "UTF-8";
String signType = "RSA2"; //商家生成签名字符串所使用的签名算法类型,目前支持RSA2和RSA,推荐使用RSA2
String serverUrl = "https://openapi.alipay.com/gateway.do";
String appId = "2018071660683196"; //插件 id
String appAuthToken = "1cc19911172e4f8aaa509c8fb5d12F56"; //商家授权token https://opendocs.alipay.com/isv/10467/xldcyq
String accessToken = "22c19911172e4f8aaa509c8fb5d12F56"; //用户授权token
AlipayClient alipayClient = new DefaultAlipayClient(serverUrl, appId, appPrivateKey, format, charset, alipayPublicKey, signType);
try {
    AlipayUserInfoShareRequest request = new AlipayUserInfoShareRequest();
    AlipayUserInfoShareResponse response = alipayClient.execute(request, accessToken, appAuthToken);
    response.getUserId();
    response.getUserName();
} catch (AlipayApiException e) {
    e.printStackTrace();
}

PHP网站源码爱联模板网站建设光明模板网站建设坑梓SEO按天计费双龙网站优化按天计费大鹏网站推广系统民治优化沙井网站优化软件吉祥建设网站大芬网站优化观澜模板网站建设深圳模板制作大浪阿里店铺托管木棉湾网站优化推广同乐模板网站建设盐田建站宝安营销网站西乡关键词排名松岗百度竞价西乡网站改版爱联网站优化推广龙华优化东莞SEO按天收费平湖企业网站建设石岩百度关键词包年推广布吉SEO按效果付费南联百度爱采购坑梓百度标王双龙网站优化排名丹竹头网页制作龙华优秀网站设计歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化