本章内容出自《小程序开发不求人》电子书,点击下载完整版
支付宝小程序开放能力
能力地图,让你的小程序拥有灵魂
开放能力,是支付宝开放平台为满足开发者不同的业务需求,将支付宝的一些功能以接口(API)的形式开放出来;开发者通过这些开放的接口与支付宝服务端(也有部分是支付宝客户端)进行交互,实现业务逻辑。
举个例子,假设你是老王,你开发的小程序是用来卖瓜的。那你要让你的用户在你的小程序内花钱买你的瓜,这样你就要接入“小程序支付”能力;你要在小程序内营销你的瓜,那么就录个带货的视频吧,那么就要使用“小程序视频播放”能力。
总之,你需要贴合你的小程业务需求,不断地“武装”你的小程序。而开放能力也是你的“军火库”,为你提供源源不断的业务支持。
目前,小程序提供如下的开放能力,这些能力构成了一张“能力地图”。根据这张地图,你的小程序可以走出自己的路。随着业务的不断发展,“能力地图”的版图会越来越大,为开发者提供更多福利。
点击进入 能力中心 PC 端;或扫码收藏 能力中心 小程序,随时关注能力动态;分享能力更方便
能力实战
本章将重点介绍“获取会员基础信息”和“模板消息”的接入。
缘起:获取会员基础信息
盛夏的图书馆总是学生们避暑的热门景点,对软件学院的大二学生小宝🙍♂️来说也不例外。窗外的知了没完没了的絮叨着,小宝双手赌气似的敲打着键盘,指尖生了魔法似的溜出一行行代码。刚写完一整段的小明将面前的冰咖啡一饮而尽,顺势将脑袋抬起来,盯着浅黄色的天花板发呆。正兀自发呆着,精神恍惚小宝被一股淡淡的茉莉花香拉回了图书馆,循着香味,他将脑袋慢慢地低下。四目相对,香味的源头🙎♀️也正好奇地盯着他......
问:所以,小宝要如何主动又不失礼貌,深入而不猥琐地了解关于她的一切呢?
答:通过小程序“获取会员基础信息”能力,在用户授权后,开发者可以获取用户头像图片、昵称、性别、国家、所在省份、所在市区等信息。
本题干的案例和场景仅为课堂效果定制,纯属虚构,请勿作死模仿。对于恶意获取用户信息或者其他不合理使用等情况,支付宝开放平台有权永久收回该小程序的接口权限。
代码千万条,用户第一条。接入不规范,老师两行泪。
产品介绍
获取会员基础信息是支付宝会员开放服务之一,在获得用户授权后,允许开发者获取 头像、昵称、性别、国家码、所在省份、所在市区 等信息。本功能免费,同学们可以放心使用(别问落地价,因为爱情无价)。
当然,小程序还有 获取会员手机号 的开放能力,因该功能涉及用户的手机号隐私,且仅开放给有一定资质的企业账户,故在本章不作接入介绍。(小宝哭晕在厕所😂......)
用户端示例
用户在登录小程序后,在需要用户授权基础信息的场景(如首次登录,或者授权其他关联账号登录等),系统出现弹窗让用户确认,用户同意授权后,即可通过接口获取用户的基础信息。
注意:
通过用户信息授权方式获取用户基础信息是只一种快捷的填写方式。开发过程中,需要对用户拒绝的情况做充分的考虑与应对方案,如引导用户手动填写或上传。
缘生:模板消息
因为请对面的女生帮忙一起测试“获取会员基础信息”的缘故,小宝无意间得到了对面女生的昵称和头像。
“原来你叫小美啊,你的支付宝头像是莫奈的《日出》吗?你喜欢画画?”
“对呀,我是设计学院的,平时喜欢画画。看不出你个程序员还知道莫奈啊。”
“我也很喜欢印象派。但我觉得你更适合莫奈的另外一幅画。”
“哦,什么画呀?”
“《睡莲》😊”
问:看得出小宝已经词穷了,再聊下去就很尴尬了,看得出小宝也是个害羞人。请问小宝要如何进一步拉近关系,约小美出去自习和玩耍呢 👫?
答:通过小程序“模板消息”能力,开发者可通过消息高效触达用户,通知用户当前行为的结果及状态等;同时可在消息中配置跳转小程序指定页面地址,当用户查看消息时,在消息中点击 进入小程序查看 返回小程序,进入开发者配置的小程序指定页面。目前仅支持文本消息。
本题干的案例和场景仅为课堂效果定制,纯属虚构,请勿作死模仿。支付宝开放平台对于模板消息的发送频率和内容均有一定限制。对于恶意发送违规定模板消息的行为,支付宝会有一定的惩罚策略,详细注意事项可以参考 模板消息准入条件。
代码千万条,用户第一条。接入不规范,老师两行泪。
产品介绍
模板消息有两类:交易类 和 表单类,暂不支持自定义标题等信息。支付类的模板消息需要依赖用户支付产生的交易号 tradeNo, 因此本章节不重点阐述,好奇宝宝请前往本章结尾的“拓展阅读”查看。
自己不开店,没有交易号(tradeNo)的小宝别无选择,只能选择表单类模板消息。
表单类:当用户在小程序内发生过提交表单行为,开发者可以调用接口发送表单类的模板消息,此时必须要传入 form_id 。开发者获取 formId 或 tradeNo 后,可在 7 天内向用户推送有限条数的模板消息( 1 次提交表单可下发 3 条,不限制模板数);超期后 formId 或 tradeNo 将失效,无法推送消息。
本功能免费,同学们可以放心使用(别问落地价,因为爱情无价)。
用户端示例
假设小宝在发送模板消息发送成功后,小美可以在支付宝 APP 首页的“服务提醒”处查看消息,如下图所示。
快速接入 DEMO
支付宝开放平台还为开发者提供了模板消息 DEMO,开发者可以参考 https://opendocs.alipay.com/mini/quick-example/template-message 文档进行体验和实现快速接入。
拓展阅读
除了用 formId 发送模板消息外,支付宝开放平台还支持用 tradeNo 发送模板消息,那如何获取 tradeNo 呢?
tradeNo :当用户完成支付行为时,可以获取 tradeNo(即支付交易号) 用于发送交易类模板消息,如 小程序支付 中的 alipay.trade.create 或 资金授权以及 当面付 中的 alipay.trade.pay 接口。消息类型为支付类型的只能通过tradeNo 发送。
上述几个功能的对接文档在此列出,感兴趣的同学可以课后查看哦。需要注意的是,目前这几大功能仅对企业支付宝账号开放;个人账号暂时无法完成对接。
缘遂:小程序二维码
“现在到处都是二维码,逼死强迫症哦。忍不住想扫扫看,哈哈哈。”
“我这边也有个码,你扫了试试?”
“什么二维码啊,这么神秘。扫开了还加载这么久。”
“......”
“啊,谢谢你。”
夕阳照在小美的脸上,越发得红了。
产品介绍
概述
使用本能力可生成小程序二维码,商户可将生成后的小程序二维码在线上线下进行贴码推广,更便捷地推广小程序。
产品特色
每个小程序都有一个默认的小程序二维码,目标地址是 小程序首页。
- 创建 20 个以内小程序二维码。在 开发中心 > 小程序应用 > 我的小程序 中点击已创建的小程序名称,进入小程序详情页面,左侧目录栏中选择 码管理 > 小程序码。
- 创建超过 20 个小程序二维码。通过调用二维码接口 alipay.open.app.qrcode.create实现,一个小程序可通过使用该二维码接口获取无限个带参数的二维码。
页面地址获取方式
小程序页面地址可通过开发者工具在代码中的 app.json 中的 onShow 和onLaunch 中获取。
使用说明
支付宝扫描二维码将按以下匹配规则控制跳转:
- 页面地址:指定小程序中能访问的路径地址,默认为小程序的首页地址。
- 启动参数:小程序启动时候需要带入的参数,可以为空。启动参数可以通过options.query 获取,格式为 key1=value1&key2=value2。
示例代码
准备获取启动参数中 x 的值。
App({
onLaunch(options) {
my.alert({content: '启动参数:'+JSON.stringify(options.query.x),});
console.log('query', options.query);
console.log('App Launch', options);
},
onShow() {
console.log('App Show')
},
onHide() {
console.log('App Hide')
},
globalData: {
hasLogin: false
}
})
输入参数
页面地址:page/component/component-pages/view/view
启动参数:x=1&y=2
示例效果:
准入条件
小程序开发者均可使用。
计费模式
不收费。
API 列表
接口名称 | 描述 |
---|---|
alipay.open.app.qrcode.create | 小程序生成推广二维码接口 |
快速接入 DEMO
支付宝开放平台还为开发者提供了小程序二维码 DEMO,开发者可以参考 快速示例 文档进行体验和实现快速接入。