帮你快速理解、总结文档立即下载

支付宝小程序接入

最近更新时间:2026-09-15 15:55:56
本文档已由 AI 辅助审校
我的收藏

前提条件

客户端接入前,需完成新建验证,并在验证列表获取所需的 CaptchaAppId 以及 AppSecretKey。步骤如下:
1. 登录 验证码控制台,左侧导航栏选择验证管理,进入验证管理页面。
2. 单击创建验证码,根据业务场景需求,设置验证名称、客户端类型、验证方式等参数。
3. 单击确定,完成新建验证,即可在验证列表中查看验证码 CaptchaAppId 及 AppSecretKey。

小程序原生语言接入

注意
请勿在“支付宝开发者工具”的“游客模式”下接入验证码。
目前仅支持“Component2“编译模式,进入 IDE,选择详情 > 小程序配置,并启用 component2 编译。

示例下载

代码示例:单击验证,激活验证码,并弹窗展示验证结果。
完整示例请下载:支付宝小程序验证码接入示例

步骤1:添加插件

1. 用管理员身份登录 支付宝开放平台控制台,且需使用接入小程序的相关账号。
2. 插件服务 > 插件管理中,单击订购其他插件
3. 在搜索框内,输入插件 ID2021006159676022查找插件,并单击授权并绑定

4. 服务市场首页 > 服务详情 > 服务订阅中,单击添加小程序
5. 添加所需要使用验证码的小程序填写必填信息,选择“同意”相关协议并单击授权并订购


步骤2:集成插件

1. 引入验证码小程序插件。
使用验证码插件前,需要在 app.json 中声明验证码小程序插件,如下:
{
"plugins": {
"captcha": {
"version": "*", // 默认加载最新版本
"provider": "2021006159676022"
}
}
}
2. 引入验证码小程序组件。
在页面.json文件中需要引入自定义组件,js 代码如下:
{
"usingComponents": {
"t-captcha": "plugin://captcha/t-captcha"
}
}

步骤3:使用小程序插件

1. 使用原生小程序语言接入时,需要在自定义的.axml文件中,使用验证码插件,axml 代码如下:
<!-- app-id:验证码CaptchaAppId, 从腾讯云的验证码控制台中获取, 在验证码控制台页面内【验证管理】进行查看 -->
<t-captcha
id="captcha"
app-id=CaptchaAppId
onVerify="handlerVerify"
onReady="handlerReady"
onClose="handlerClose"
onError="handlerError" />
<button onTap='login'>登录</button>
组件参数说明
字段名
值类型
默认值
说明
appId
String
验证码应用 ID
lang
String
zh-CN
语言,可选 zh-CN、zh-TW、en
themeColor
String
#1A79FF
主题色
aidEncrypted
String
加密的 aid 参数,详情请参见 验证码 CaptchaAppId 鉴权升级指引
组件事件说明
事件名
参数
说明
ready
验证码准备就绪
verify
{ret, ticket}
验证码验证完成
close
{ret}
验证码弹框准备关闭
error
验证码配置失败
组件方法说明:
方法名
说明
show
展示验证码
destroy
销毁验证码
refresh
重置验证码
2. 在自定义的.js文件中,监听事件,代码如下:
Page({
data: {},
login: function () {
this.$selectComponent('#captcha').show()
// 进行业务逻辑,若出现错误需重置验证码,执行以下方法
// if (error) {
// this.$selectComponent('#captcha').refresh()
// }
},
// 验证码验证结果回调
handlerVerify: function (ev) {
if (ev.ret === 0) {
// 验证成功
console.log('ticket:', ev.ticket)
} else {
// 验证失败
// 请不要在验证失败中调用refresh,验证码内部会进行相应处理
}
},
// 验证码准备就绪
handlerReady: function () {
console.log('验证码准备就绪')
},
// 验证码弹框准备关闭
handlerClose: function (ev) {
if (ev && ev.ret && ev.ret === 2) {
console.log('点击了关闭按钮,验证码弹框准备关闭');
} else {
console.log('验证完成,验证码弹框准备关闭');
}
},
// 验证码出错
handlerError: function (ev) {
console.log(ev.errMsg)
}
})
注意
业务客户端完成验证码接入后,服务端需二次核查验证码票据结果(未接入票据校验,会导致黑产轻易伪造验证结果,失去验证码人机对抗效果),详情请参见 接入票据校验(小程序)

常见问题

详情参见 接入相关问题

更多信息

您可以登录 验证码控制台,在页面右下角单击快速咨询,了解更多详细信息。