已更新更新时间:2024-10-23 18:08:09文档更新记录 >配置项检测工具收藏订阅更新我的文档设置接入检测(即可查看检测结果)若有未通过的接入检测项,接口将无法调通去登录返回文档一、功能介绍小程序开发者如果涉及处理用户个人信息行为,需通过弹窗等方式提示用户去阅读小程序的隐私政策。为规范开发者对用户个人信息的处理行为,保障用户合法权益,支付宝要求:开发者需主动同步小程序的隐私政策,待当前用户同意隐私政策后才可调用支付宝提供的隐私接口。特别注意:●基础库 或更高版本,小程序开发者工具 3.8.4 或更高版本,且 支付宝客户端 10.5.50 或更高版本,在 app.json 中配置 useprivacycheck: true 后,会启用隐私相关功能,如果不配置或者配置为 false 则不会启用。json复制代码9123{ "useprivacycheck": true}●小程序开发者工具 暂未支持隐私协议相关功能预览,开发者使用时以真机预览为准。●在配置启用隐私相关功能后,隐私相关接口调用会唤起 官方隐私弹窗,开发者如果有自定义隐私弹窗需求,可以参考下方说明接入。二、接入流程1. 配置“小程序隐私政策”开发者需在 开放平台控制台 配置 小程序隐私政策,详细指引可见:。2. 主动查询隐私授权同步状态以及展示隐私协议开发者可通过 my.getprivacysetting 接口,查询支付宝平台记录的用户是否有待同意的隐私政策信息。该信息可通过返回结果 res 中的 needauthorization 字段获取。同时,my.getprivacysetting 接口会返回开发者在小程序管理后台配置的 小程序隐私政策 名称信息,开发者可以调用 my.openprivacycontract 接口跳转至隐私协议页面。如果存在有待用户同意的隐私政策信息,开发者需要主动提示用户阅读小程序的隐私政策,开发者可自行设计提示方式,同时需要在相关界面中使用组件。用户点击该 组件,则视为用户已阅读并同意小程序的隐私政策,支付宝会收到该同步信息,此时开发者可以在 组件的onagreeprivacyauthorization事件回调中调用隐私接口。代码示例912345<view a:if="{ {showprivacy} }"> <view>隐私弹窗内容....view> <button ontap="handleopenprivacycontract">查看隐私协议button> <button id="agree-btn" open-type="agreeprivacyauthorization" onagreeprivacyauthorization="handleagreeprivacyauthorization">同意button>view>99123456789101112131415161718192021222324252627282930313233343536page({ data: { showprivacy: false }, onload() { my.getprivacysetting({ success: res => { console.log(res) // 返回结果为: res = { needauthorization: true/false, privacycontractname: '《xxx隐私保护指引》' } if (res.needauthorization) { // 需要弹出隐私协议 this.setdata({ showprivacy: true }) } else { // 用户已经同意过隐私协议,所以不需要再弹出隐私协议,也能调用隐私接口 // my.getlocation() // my.getclipboard() // my.startrecord() } }, fail: () => {}, complete: () => {} }) }, handleagreeprivacyauthorization() { // 用户同意隐私协议事件回调 // 用户点击了同意,之后所有的隐私接口和组件都可以调用 // my.getlocation() // my.getclipboard() // my.startrecord() }, handleopenprivacycontract() { // 打开隐私协议页面 my.openprivacycontract({ success: () => {}, // 打开成功 fail: () => {}, // 打开失败隐私同意按钮 支持与 小程序授权功能 耦合使用,调用方式为:getauthorize|agreeprivacyauthorization" scope="phonenumber">或getauthorize|agreeprivacyauthorization" scope="userinfo">。示例代码912<button open-type="getauthorize|agreeprivacyauthorization" ongetphonenumber="handlegetphonenumber" onagreeprivacyauthorization="handleagreeprivacyauthorization">同意隐私协议并授权手机号button><button open-type="getauthorize|agreeprivacyauthorization" ongetuserinfo="handlegetuserinfo" onagreeprivacyauthorization="handleagreeprivacyauthorization">同意隐私协议并授权支付宝会员基础信息button>3. 被动监听隐私接口需要用户授权事件开发者除了可以自行判断时机,提示用户阅读小程序的隐私政策外,也可以通过 my.onneedprivacyauthorization 接口来监听何时需要提示用户阅读隐私政策。当用户触发了一个支付宝侧未记录过同意的隐私接口调用,则会触发该事件。开发者可在该事件触发时提示用户阅读隐私政策。此外,支付宝还提供了 my.requireprivacyauthorize 接口,可用于模拟隐私接口调用。代码示例4. 清空历史同步状态当用户从 我的小程序 中长按删除小程序后,将清空历史同步状态。用户下次访问该小程序,需要重新阅读并同意小程序的隐私政策。三、其他说明若基础库版本低于 2.9.7,或支付宝客户端版本低于 10.5.50 未集成隐私相关功能,不会拦截隐私接口调用。四、官方隐私弹窗功能说明为了让开发者能更便利地完成小程序隐私合规要求,除了通过以上指引进行隐私协议开发外,支付宝还提供了官方隐私授权弹窗。此弹窗在隐私相关功能启用后(app.json 中配置 useprivacycheck: true),无需开发者适配开发,自动向用户展示。具体逻辑为:当开发者调用隐私相关接口时,支付宝会判断用户是否发起过 my.onneedprivacyauthorization 接口调用,若开发者未调用过该接口,支付宝将主动弹出官方弹窗。若用户同意,该接口将正常执行后续调用逻辑;若用户拒绝,返回报错。需要注意的是,用户可能拒绝官方隐私授权弹窗,为了避免过度弹窗打扰用户,开发者再次调用隐私相关接口时,若距上次用户拒绝不足 10 秒,将不再触发弹窗,返回用户拒绝隐私授权弹窗的报错。官方隐私弹窗将有两种样式:1与授权弹窗耦合样式:用户在此弹窗下需要勾选隐私协议才可以进行允许操作,若用户在弹窗中拒绝,报错信息为用户拒绝(错误码为 2001)。 2直接弹窗样式:用户侧直接针对隐私协议的授权,若用户在弹窗中拒绝,报错信息为用户未同意隐私协议(错误码为 3001)。