uni-app App支付宝当面付 uni-app如何集成扫码支付

千辰大大_1863

千辰大大_1863

2026-03-26

801人浏览

原创

不能。uni.requestPayment仅支持主扫(用户扫商户码),当面付需商户扫用户付款码,必须通过原生插件集成支付宝SDK,并由服务端生成二维码、前端展示及轮询结果。

uni.requestPayment 能不能直接调起当面付?

不能。当面付(扫码支付)和 uni.requestpayment 完全是两套逻辑:uni.requestpayment 是用于唤起用户手机上的支付宝 app 完成「主扫」(用户扫商户码),而当面付是「被扫」——商户用设备扫用户的付款码,必须由服务端生成支付二维码,前端只负责展示和轮询结果。

当面付集成必须走原生插件吗?

是的,纯 H5 或 uni.requestPayment 无法完成「扫码枪/摄像头扫用户付款码」这个动作。uni-app 官方不提供当面付 SDK 封装,必须使用原生能力:

  • 安卓端需集成支付宝官方 alipaysdk-*.aar,并编写 native.js 模块桥接扫码识别与支付初始化
  • iOS 端需引入 AlipaySDK.framework,配置 URL Scheme(如 alipay{appid}),并实现 APAuthV2Info 序列化支持
  • 插件市场里搜“支付宝原生扫码”,购买后务必在 HBuilderX 中「关联到当前项目」,否则 nativeplugins/ 下不会生成任何文件

manifest.json 配置最容易漏哪几项?

当面付依赖原生能力,但很多开发者只配了支付白名单,却忘了基础权限和 URL 规则:

  • 安卓必须在 manifest.json → app-plus → permissions 中显式声明:<uses-permission android:name="android.permission.CAMERA"></uses-permission> 和 <uses-permission android:name="android.permission.FLASHLIGHT"></uses-permission>
  • app-plus → distribute → alipay → urls 不只要填 alipays://*,还得加 https://qr.alipay.com/*(用于跳转到支付宝确认页)
  • 包名(android-package-name)必须和支付宝开放平台「应用信息」里填写的完全一致,包括大小写和点号位置;签名证书指纹也必须提前录入沙箱/正式环境

服务端返回的二维码怎么安全展示?

支付宝返回的是类似 https://qr.alipay.com/fkx01234abcde567890 这样的短链,不能直接 img src 加载——部分安卓 WebView 会拦截跳转,iOS 可能因 ATS 限制加载失败:

  • 推荐用 <web-view></web-view> 加载一个本地 HTML 页面,在其中用 JS 创建 img 标签并设置 src,避免跨域或协议限制
  • 更稳妥的做法是服务端将二维码 base64 数据直接返回(字段如 qr_code_base64),前端用 <image :src="'data:image/png;base64,' + qr"> 渲染</image>
  • 轮询支付结果时,别用 setInterval 直接轮,应配合服务端幂等接口 + 指数退避(比如首次 2s,失败后 4s、8s…最大 30s),避免触发支付宝风控限流
当面付不是“前端调个 API 就完事”的功能,它本质是「软硬结合」:前端要控制扫码硬件、展示动态码、处理中断;服务端要扛住并发轮询、做幂等校验、及时关单;支付宝侧还要对应用类型、密钥、回调地址做严格校验——任一环节松动,扫码就卡在“正在处理”或直接报错 INVALID_PARAMETER。
支付宝
支付宝

支付宝,全球领先的独立第三方支付平台,致力于为广大用户提供安全快速的电子支付/网上支付服务,有需要的小伙伴快来保存下载体验吧!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

2483

5

前端如何实现即时通讯
前端如何实现即时通讯

实现即时通讯的方法有WebSocket、Long Polling、Server-Sent Events、WebRTC等等。详细介绍:1、WebSocket,它可以在客户端和服务器之间建立持久连接,实现实时的双向通信,前端可以使用 WebSocket API来创建WebSocket连接,并通过发送和接收消息来实现即时通讯;2、Long Polling,是一种模拟实时通信的技术等等。

2023.10.09

5343

6

前端和后端的区别
前端和后端的区别

前端关注的是用户界面的设计和交互,而后端则注重数据处理和逻辑控制。想了解更多前端后端的相关内容,可以阅读本专题下面的文章。

2024.03.19

6390

13

php和前端的关联介绍
php和前端的关联介绍

php既可以作为前端语言,也可以作为后端语言。想了解更多php和前端的相关内容,可以阅读本专题下面的文章。

2024.03.22

5978

10

前端外包工作内容有哪些
前端外包工作内容有哪些

前端外包工作内容包括:1. 网站和应用程序开发;2. 用户界面和交互设计;3. 用户体验优化;4. 设计和视觉开发;5. 跨浏览器兼容性;6. 性能优化;7. 维护和更新;8. 项目管理和沟通。想了解更多前端的相关内容,可以阅读本专题下面的文章。

2024.05.22

843

5

Revel框架模板渲染与表单验证
Revel框架模板渲染与表单验证

本专题围绕Revel框架视图层开发,介绍模板语法、变量输出、布局复用、表单提交、参数绑定与验证规则,帮助开发者完成安全规范的页面交互。

2026.10.16

0

15

Revel框架MVC路由与控制器
Revel框架MVC路由与控制器

本专题聚焦Revel框架MVC核心机制,讲解路由定义、控制器Action、参数绑定、请求响应和反向路由,并结合常见场景梳理接口请求处理流程。

2026.10.16

0

15

Revel框架入门与安装配置
Revel框架入门与安装配置

本专题从Revel框架环境搭建讲起,系统介绍命令行工具安装、项目创建、目录结构、配置文件及热代码重载,帮助开发者快速完成首个Go Web应用。

2026.10.16

0

15

Linux 新手先学哪些命令
Linux 新手先学哪些命令

Linux新手命令专题汇集终端基础、文件目录操作、文本查看、软件安装和权限管理等入门文章,帮助按实际任务练习常用命令并建立命令行操作习惯。

2026.10.15

0

20

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.7万人学习