开发者社区
社区提问意见反馈
开发者钉组织
扫描二维码
加入支付宝开发者钉组织
常见问题 faq > 常见问题 faq
收藏
订阅更新
我的文档
设置
api 
小程序如何接收链接里的自定义参数?
app() 中设置 onlaunch(query) 。 query 内容格式为:“参数名=参数值&参数名=参数值…”。
示例 query 值:
有页面参数(没有启动参数):
location.href = "alipays://platformapi/startapp?appid=xxx&page=pages/gooddetail/gooddetail" encodeuricomponent("?goods_id=" goods_id)
有页面参数,有启动参数:
location.href = "alipays://platformapi/startapp?appid=xxx&page=pages/gooddetail/gooddetail" encodeuricomponent("?goods_id=" goods_id) &query=encodeuricomponent("appparams=" xx)
示例代码:  
javascript
复制代码
app({
onlaunch(query) {
my.alert({
title: 'ceshi', // alert 框的标题
content: json.stringify(query),
});
}
})
my.httprequest 使用问题
目前 my.httprequest 已不建议使用,建议更换为 my.request 接口。
my.request 接口请求报错 {data: "请求超时异常", error: 14, headers: {…}, status: 13, errormessage: "json parse data error"} ,如何处理?
因返回数据格式 text 与入参 datatype 值 json 不一致而导致接口报错,请修改后台返回数据格式为 json。
如何在生活号中关联小程序?
登录 , 按照以下步骤进行生活号关联小程序:
1. 在 小程序管理 中,设置关联小程序;
2. 在 自定义菜单 中,设置菜单类型为 小程序
3. 按照要求填写相关信息,并设置小程序指定页面的链接。
小程序只支持 https 域名配置吗?
小程序只支持 https 域名配置。
相比于 http,https 可以提供更加优质保密的信息,保证了用户数据的安全性,此外 https 同时也一定程度上保护了服务端,使用恶意攻击和伪装数据的成本大幅度提高。 
因此小程序强制使用 https,还在使用 http 协议的开发者需要尽快对服务器进行升级。 
小程序可以接入第三方地图 api 吗?
小程序不支持第三方接入,请使用小程序自带的 地图组件地图 api ,该 api 基于高德地图。
开发中的小程序可以测试支付接口吗?
开发中的小程序可以测试支付接口,只需已添加功能(仅对企业小程序开放)并签约后,即可正常使用,需要使用真机进行测试。
小程序是否支持获取用户运动步数的数据?
支持,可查看 运动数据文档
my.scan 为什么无法识别小程序二维码的参数?
my.scan 只能识别二维码的码值,无法识别小程序二维码的参数,详情可查看 my.scan
服务器域名为什么没有生效呢?
添加服务器白名单后需要重新打包上传生成体验版。
小程序上传图片可以自动转成 base64(基于 64 个可打印字符来表示二进制数据的方法)吗?
小程序暂不支持图片转成 base64。
my.uploadfile 如何获取服务器返回的错误信息呢?
凯发app官方网站的解决方案:
1可以通过 success 回调中的 data 参数获取。
2可以在服务端增加一个日志获取接口。如果上传失败,就请求到日志获取接口获取详细的失败日志。
组件
web-view 相关常见问题请见 web-view 常见问题
组件内 setdata 渲染列表内容耗时太长,如何处理?
长列表可以使用 $splicedata进 行设置,建议首次加载的时候保持在10左右,不建议加载过多的数据,可以在加载过程中加入防抖和动画效果优化体验。
video 组件中播放的视频 当用户加载观看视频一次后,再次进行观看的时候是拉取的缓存,还是再次使用网络重新加载的?
目前的缓存策略是如果视频是循环播放的,再次观看是拉取的缓存,如果不是循环播放,每次都是网络重新加载。
主要是针对一些循环播放的短视频场景提供缓存能力。
如何设置 scroll-view 的高度?
不能用百分比进行高度设置,需要使用具体的高度值,建议结合 my.getsysteminfo 获取手机屏幕高度。
scroll-view 组件支持自定义的下拉刷新吗?
不支持。
为何 scroll-view 在 popup 扩展组件中无法滑动?
popup 组件上加上 disablescroll={{false}} 属性才能滑动。
小程序是否支持富文本和 html 渲染?
小程序可使用富文本组件 rich-text 进行渲染,建议安装并使用 mini-html-parser 来转换 html string。
如何设置 swiper 组件高度?
swiper 高度是根据 swiper-item 里的元素高度适应的,所以可以通过设置 swiper item 元素高度来控制 swpier 高度。
为何 swiper 组件设置宽度100%但是左右还是有空白距离?
去除 previous-margin 和 next-margin 的设置距离。
cover-view 默认背景白色如何取消?
不支持更改背景色,建议更改字体颜色。
cover-view是否支持圆角和阴影?
小程序 acss 支持圆角和阴影,示例代码:
圆角:border-radius: 15%;
阴影:box-shadow: 10px 10px 5px #888888;
如何隐藏 textarea 唤起的键盘?
可以使用 my.hidekeyboard  隐藏键盘。
为何安卓系统下 textarea 获取焦点的时候,文字会消失?
可加上 enablenative="{{false}}" 。
textarea 弹出键盘后内容被顶上去,如何避免?
可以在 input 组件中加上 enablenative="{{false}}"。
map 组件如何跳转到高德的 app 中去进行导航?
可使用 my.openlocation
map 组件 optimize 属性设置了 true 后如何获取 scale 值?
optimize 属性设置了 true 后,如果需要获取 scale 值,必须要使用 onregionchange。
如何实现用户关注后,关注生活号组件不显示?
使用属性 onfollow 可以在用户关注后,来实现控制关注生活号组件不显示。
如何自定义 contact-button 智能客服 组件的样式?
可通过 button 按钮 组件设置自定义咨询按钮。
路由 faq
使用 my.relaunch 跳转的页面为什么不显示底部的 tab 栏?
该 api 是不允许跳转到选项卡页面的。若要跳转到 tab 页面,请使用 my.switchtab 方法。
my.navigateto 是否支持传参?
支持。
参数规则:路径与参数之间使用 ? 分隔,参数键与参数值用 = 相连,不同参数必须用 & 分隔。
示例:path?key1=value1&key2=value2
使用 my.redirectto 跳转页面,是否可以去掉左上角的返回按钮?
当页面栈深度为 1 时,使用 my.redirectto 跳转页面的左上角不会有返回按钮,建议通过 getcurrentpages 方法判断页面栈峰值。或者用户可以直接使用 my.relaunch 进行跳转,使用 my.relaunch 进行跳转时,不允许跳转到 tabbar 页面。
小程序多次通过 my.navigateto 跳转,尝试几次后为何再点击不会跳转了?
小程序规定最多不能超过 5 层页面栈,建议通过 getcurrentpages 方法判断页面栈峰值,超过后用重定向跳转页面。
小程序跳转
小程序a如何跳转到 h5、小程序b、生活号、其它 app?

小程序a跳转
是否支持
使用限制
实现方法
h5

web-view 内嵌式跳转 h5,仅限企业账号小程序使用。
小程序外跳 h5 页面可查看:
my.ap.navigatetoalipaypage
跳转小程序内嵌式 h5 页面
可通过 web-view h5页面承载组件实现在小程序内打开 h5页面。(仅限企业账号小程序使用)。
小程序b
(小程序a、小程序b由同一主体账号创建)

同主体小程序可直接互跳。
支付宝客户端 10.1.10 及以上版本支持。
小程序c
(小程序a、小程序c由不同一主体账号创建)

不同主体小程序互跳,需对方在 设置 > 基础设置 > 小程序相互跳转 中设置为“允许所有小程序跳转”或“指定小程序跳转
支付宝客户端 10.1.25 及以上版本支持。
生活号

只能跳转到支付宝官方业务或运营活动页面,部分页面需申请权限。
其它 app

-
-
h5、小程序b、生活号、其它、 app 如何跳转到小程序a?

跳转到小程序a
是否支持
使用限制
实现方法
h5

至少需要上架一次小程序,才能使用该跳转方式测试。没有上架的小程序无法被跳转。
有页面参数,无启动参数时:
location.href = "alipays://platformapi/startapp?appid=xxx&page=pages/gooddetail/gooddetail" encodeuricomponent("?goods_id=" goods_id)
有页面参数,有启动参数时:
location.href = "alipays://platformapi/startapp?appid=xxx&page=pages/gooddetail/gooddetail" encodeuricomponent("?goods_id=" goods_id) &query=encodeuricomponent("appparams=" xx)
详细参数说明可查看下文《h5跳转小程序实现方法参数解释》表格。
小程序b

当小程序a跳转至小程序b,小程序b再跳转到当前小程序a时才会调用成功。
生活号

-
可查看 
其它app

-
-
h5 跳转小程序实现方法参数解释 
参数名称
说明
appid
表示要跳转的目标小程序 appid。
page
表示要跳转到目标小程序的具体 page 页面,该值等于 app.json 里面的配置值;如果不带 page 字段,默认跳转到小程序凯发k8官方网娱乐官方首页。
query
启动参数,内容格式为:“参数名=参数值&参数名=参数值…”。
可以在 ide 中测试两个小程序之间的相互跳转吗?
不可以,在真机上分别预览两个小程序,就可以在真机上测试相互跳转。
my.navigatetominiprogram 的 extradata 的参数在哪里获取? extradata 是否可以添加多个参数?自定义参数中间使用的什么符号进行拼接?
目标小程序可在 app.onlaunch( )、app.onshow( ) 中获取到这份数据。
extradata 可以添加多个参数,自定义参数都是从这里传入的。
自定义参数中间使用 & 符号进行拼接。
小程序跳转页面如何传值?
参数规则:路径与参数之间使用 ? 分隔,参数键与参数值用 = 相连,不同参数必须用 & 分隔。示例: path?key1=value1&key2=value2,详情可查看 my.navigateto
为什么使用 my.ap.navigatetoalipaypage 打开 h5 页面提示“参数错误,打开失败”?
可能原因
凯发app官方网站的解决方案
h5 页面链接地址有误。
修改错误h5 页面链接。
部分支付宝运营、业务页面需申请权限后才能跳转。
请点击文档页面后侧 咨询反馈 ,联系人工凯发app官方网站的技术支持 开通跳转权限。
小程序支付 / 支付宝预授权
小程序支付会调用后台服务的回调地址通知支付结果吗?
只要在创建订单的时候传了异步通知参数 notify_url ,就会发送异步通知;关于异步通知的详细说明可以点击查看  说明。    
如何处理在 ide 上调用 my.tradepay 报错 “error2:无效api入参”?
my.tradepay 无法在 ide 模拟器中进行测试,只能在真机上测试,请以真机调试结果为准。
为什么小程序支付无法调起支付?
可能原因:
传入 my.tradepay 的  tradeno 参数错误,导致服务端回传的 tradeno 出错。
小程序支付无法在 ide 模拟器中进行测试。
凯发app官方网站的解决方案:
1. 在服务端调用  (统一收单交易创建接口),获得支付宝交易号 tradeno。
注意:在小程序场景内 alipay.trade.create 接口中的“buyer_id”为必填项,若未传入调式时会出现报错。推荐使用开放平台提供的 服务端 sdk ,并参考以下示例代码(以 java 代码为例)进行编写。
2. 将获得的 tradeno 参数传入 my.tradepay 中(设置为固定值),并在真机上进行测试。
为什么支付宝预授权冻结接口无法调起支付?
可能原因:
传入 my.tradepay 的  orderstr 参数错误,导致服务端回传的 orderstr 出错。
支付宝预授权无法在 ide 模拟器中进行测试。
凯发app官方网站的解决方案:
1. 请查看 文档 接入指南 > 线上资金授权冻结场景,获取用于小程序支付的 orderstr 参数。
2. 将获得的 orderstr 参数传入 my.tradepay 中(设置为固定值),并在真机上进行测试。
为什么支付宝预授权时, 支付宝预授权报错“订单异常alin42683”?
报错原因:
outorderno 和 outrequestno 重复请求。(outorderno 和 outrequestno 参数详情可查看 。)
凯发app官方网站的解决方案:
1. 确保 outorderno 和 outrequestno 入参在商家系统中唯一 (只传入outorderno 或只传入 outrequestno)。
2. 检查参数是否按照文档要求设置,建议只传必传参数测试,避免其它参数干扰。
用户授权
小程序如何实现用户授权?
小程序不支持使用拼接授权链接进行授权,建议使用 my.getauthcode 实现用户授权、用户登录等。
先调用 my.getauthcode,再调用my.getopenuserinfo会出现两次授权窗口,是否有方法可以实现只出现一个授权弹框?
正常获取会员基础信息是需要弹窗两次进行授权确认的,一次是 my.getauthcode 获取用户授权码的授权框, 一次是 my.getopenuserinfo 中获取用户基础信息的授权框。
my.getauthcode 使用静默授权方法(令 scopes 为 auth_base)即可实现只出现一个授权弹框。示例代码:
如何打印 my.getauthcode 获取到的 authcode?
在 ide 中使用 console.log,在 console 里打印即可。示例代码:
效果图:

为什么要使用用户授权 my.getauthcode api?
开发者在支付宝开放平台上读写用户信息,均需经过用户许可。支付宝开放平台的用户授权基于国际标准的 oauth2.0 授权机制。基于此机制,使用 my.getauthcode api 得到用户授权后,方可进行获取用户信息、给用户发放会员卡等操作。
为什么不允许在小程序首屏使用用户授权 api?
为了创造更良好的支付宝小程序用户体验,在小程序的首屏引导用户授权是不被允许的。需要在用户充分了解小程序的业务内容后再引导用户授权,建议将小程序授权环节放在业务流程中。
用户的 userid 支持通过用户授权 api 获取吗?
不可以,userid 需要在服务端调用 获取。
获取会员基础信息
调用 my.getopenuserinfo,报错“无效的授权关系”,如何处理?
用户 主动触发 才能发起获取会员基础信息请求,不能由 api 直接获取会员基础信息,需使用 button 组件 的“点击”动作来触发操作。需要将 
内容没有解决您的问题?您还可以前往 或 寻求帮助
凯发k8官方网娱乐官方 copyright © 2022 支付宝(杭州)信息技术有限公司  | icp证浙b2-20160559
该文档对你是否有帮助?
当前页面目录
网站地图