这篇文章是关于第三方帮客户非定制开发小程序的指南,如果不是这方面的需求,下面就不用看了。
写文章之前,不得不吐槽支付宝小程序第三方文档实在是有点迷,流程上不清晰,内容上东躲西藏,部分内容左一脚右一脚,让人看的云里雾里,一把辛酸泪!
所以强烈建议isv开发者在阅读支付宝三方文档之前先看我这篇,毕竟我的流程是跑通了的,如果看支付宝的,那么你大概率是看完还不知道该怎么办!当然文档里肯定有错误或不完善的地方,如果哪位大神看到还希望指出。
在支付宝论坛大量发帖询问然后和客服周旋很久之后我才弄明白,三方开发有两种方式:
方式一:创建三方》生成秘钥并在三方应用里添加》三方里创建小程序模板》编码》支付宝开发工具上传小程序》提交审核我方小程序模板》用户扫码授权:线下推广、拼接二维码链接、客户扫码授权(线下就是服务商自己提供网页渠道,也可以线上推广,线上就是通过支付宝订购)》我方接受支付宝授权回调并实施小程序(接受授权回调》构建小程序》提交审核小程序》接受审核通知回调》上架)
方式二(我采用的):创建三方》生成秘钥并在三方应用里添加》三方里创建小程序模板》编码》支付宝开发工具上传小程序》提交审核》商家创建小程序》isv发起授权》我方接受支付宝授权回调并实施小程序(接受授权回调》构建小程序》提交审核小程序》接受审核通知回调》上架)
备注:
a、方式二中的isv发起授权 的流程细分为 isv服务商展示授权二维码->商家扫码并把已创建的小程序授权给我们->支付宝调用授权回调地址(携带有商家小程序的app_auth_code,见3-3的图片里的回调地址)->我方接收支付宝请求app_auth_code并存到缓存(见代码)
b、方式一和方式二中都需要在小程序编码完成后通过支付宝开发工具上传到后台并审核通过,否则后续功能无法进行,所以小程序编码并提交审核这一步需要提前做
c、方式一和方式二中的实施小程序更具体的可以可以看:服务器SDK(新版) 服务器SDK(老版),我的.net版本低于4.6,用的是服务器SDK(老版)。在实施小程序里的接口比如构建小程序中就可以使用上面存起来的app_auth_token了
步骤:
0、创建账号、前期准备、基础配置...
这步就不一一贴图了,这里的流程按照支付宝的来就行
1、创建第三方应用和小程序模板
1)创建第三方应用
这一步就不用多说了吧,照着文档来就行了。
2)给第三方应用配置支付宝公钥和应用公钥,可以参考如何生成及配置RSA2密钥,在调用获取客户app_auth_token、upload等接口时,会用到这些公钥
注意:
这一步在创建应用私钥时注意,非java的密钥格式要选择PKCS1
我用的是.net,由于配置的是PKCS8,导致请求alipay.open.auth.token.app(换取应用授权令牌) | API时一直报错,code长度不符合要求
3)创建小程序模板并将编码好的小程序上传给指定小程序模板
isv在三方里创建小程序模板,无论是方式一还是方式二,都需要创建小程序模板。创建完成以后,可以把编码完成的小程序通过支付宝开发工具上传到支付宝后台。
关于上传小程序,可以参考我的文章uniapp开发支付宝小程序之上传小程序_Rocket MAN的博客-CSDN博客
上传后的效果:
2、商家(开发者)创建小程序
如果是采用方式二,需要商家自己建一个小程序。
方式二开发注意的坑:
- 我在测试环境中,一直用我们企业账号创建小程序后扫码授权给第三方,但是后面再获取token时一直报错code无效,浪费了一上午,后来客服让我换个人账号注册小程序再授权,顺利解决了。
- 最好准备一下营业执照,在提交审核小程序中的apply接口提交时,如果是个人小程序来扫码授权,会提示升级为个体户,没有营业执照是升不了的。如果没有,就无法提审通过,后面的上线下线接口也是测试不了的。
开发者创建小程序流程可以参考:平台入驻 | 小程序
3、商家&#x