支付宝提供的后端产品接口基本上都是通过应用APPID + 应用密钥(应用私钥和支付宝公钥)形式调用,APPID分为第三方应用和自研型应用;网页应用、移动应用、小程序、生活号都是属于自研型应用。本文主要介绍的是小程序场景下第三方应用代调用。
第三方应用是第三方isv代商家调用接口实现代商家操作或运营应用,第三方应用调用接口依赖商家应用授权,不能自调用(会报错:此用户不允许自调用),需要通过第三方应用发起应用授权商家授权小程序应用给第三方应用,获取对应app_auth_token(第三方应用APPID + 第三方应用密钥(第三方应用私钥和支付宝公钥) + app_auth_token形式调用)。
小程序场景:第三方应用的业务代理范围需要加上小程序,可通过查看应用详情--编辑应用信息,勾选上小程序。
B43EF036-B9FF-4ab5-BBD4-0C9184C7EC60.png
第三方应用授权
第三方应用授权是商家的应用appid授权给isv的第三方应用appid,所以授权的前提是商家在开放平台有创建应用,商家可以自行创建自用型应用,或者商家签约当面付时由于没有创建过应用,签约成功后,开放平台会自动帮商家创建一个应用。
1、商家账号已有小程序应用
(1)通过第三方应用后台授权, isv登录开放平台》开发者中心》第三方应用》商家授权应用,可以点击发起授权,会显示一个授权二维码和授权链接,商家通过扫码或者链接直接授权(选择小程序应用类型)成功后,后台商家授权应用处会显示app_auth_token和授权商家相关信息。
(2)通过拼接授权链接,让商家通过链接进行授权,获取到app_auth_code,后端再调用换取授权令牌接口拿到到app_auth_token。
2、商家账号没有小程序应用:
(1)商户自行创建一个小程序应用,并审核通过为上线状态后,通过“商家账号已有小程序应用”方式授权。
(2)商户到支付宝服务市场订购isv发布的模版小程序,isv获得商家授权,帮助商户通过模版小程序创建小程序应用,获取app_auth_token。详情参考第三方应用授权。
注:
1、ISV权限不足,建议在开发者中心检查对应功能是否已经添加。可检查三方应用是否已经添加对应功能包,如果没有添加,添加后需要重新发起商户应用授权,让商家重新授权;先发起商户应用授权,后添加的功能包,同样需要重新发起应用授权。
2、此用户不允许自调用。确认调用接口时,是否加上商家应用授权app_auth_token。
3、建议在创建第三方应用后尽可能添加必要的功能包,这样可以减少因为功能包问题导致的相关问题(服务市场管理、第三方应用授权、小程序三方开发基础包、第三方接入核心API、jsAPI基础包必加)。
相关文档链接
平台服务商介绍
小程序三方业务官网文档
第三方应用各个语言调用接口如何传app_auth_token 1、java语言
1、putOtherTextParam方法提交,如下所示。
request.putOtherTextParam("app_auth_token", "传入app_auth_token");
2、PHP语言
(1)pageExecute方法提交,如下所示。
$app_auth_token=""; //null这块传递的是提交方式如果传递null默认是post值生成的数据会是表单格式,如果传递的是get值生成的数据会是请求字符串 $result = $aop->pageExecute($request,null,$app_auth_token);
(2)sdkExecute方法提交,如下所示。
$app_auth_token=""; $result = $aop->sdkExecute($request,$app_auth_token);
(3)execute方法提交,如下所示。
//注:如果要传递auth_token,把null的值改成auth_token值即可,否则传递null
//传递app_auth_token方法 $app_auth_token=""; $result = $aop->execute ($request,null,$app_auth_token);
//传递auth_token方法 $auth_token=""; $result = $aop->execute ($request,$auth_token);
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。