ios唤起支付宝的一些坑

安卓和ios环境:
安卓能正常打开浏览器唤起支付宝,但ios唤起不了,原因是ios记录的路径永远是当前第一次打开或者刷新时的路径:
解决方法在唤起支付宝的中转页上加上一句代码:
在这里插入图片描述
当路径不相等时刷新一次当前页面完美解决这个问题,尽量不要加在全局,加在局部页面上

在uniapp开发APP时,唤起支付宝有以下几种实现方法: ### APP端使用支付宝支付功能 在uni-app App端(安卓APP + 苹果APP)开发中,可通过调用`uni.requestPayment`方法调起支付宝支付界面。要确保添加支付宝支付的权限,用户付款时能自动调起手机里的支付宝app生成订单并付款,付款完毕后自动跳转回支付页面,还能实时监听用户是否在支付宝完成付款。需要注意的是,`orderInfo`必须在后端用支付宝SDK生成以后返回给前端,若在前端自己参照文档和后端给的一些键值对拼接`orderInfo`,会导致唤起失败[^1][^3]。 ### APP跳转支付宝小程序ios支付宝的自定义协议是`alipay`,在Android上支付宝的自定义协议是`alipays`。示例代码如下: ```javascript #ifdef APP-PLUS let alipayUrl = null; if (uni.getSystemInfoSync().platform == "ios") { alipayUrl = 'alipay://platformapi/startapp?appId=123'; } else { alipayUrl = 'alipays://platformapi/startapp?appId=123'; } // alipayUrl 已经有? 问号了,所以这里需要进行编码 let params = encodeURIComponent('?id=123&name=支付宝小程序参数') // page=pages/index/index 跳转到支付宝小程序页面的页面路径 alipayUrl = `${alipayUrl}&page=pages/index/index${params}` // 唤起支付宝 plus.runtime.openURL(alipayUrl); #endif ``` 上述代码可实现uniapp唤起支付宝小程序的功能[^4]。 ### h5链接拉起支付宝支付 现在可以省略跳转h5的步骤,直接唤起支付宝进行支付。示例代码如下: ```javascript var url = 'https://qr.alipay.com/bax***********c3050' const deeplink = `alipays://platformapi/startapp?saId=10000007&qrcode=${encodeURIComponent(url)}`; plus.runtime.openURL(deeplink); ``` 此代码可实现直接唤起支付宝进行支付的功能[^5]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值