手机网站支付,安卓的可以唤起支付宝并且可以支付后跳转,但是苹果手机不能唤起支付宝客户端
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
为了解决苹果手机无法唤起支付宝客户端进行支付并跳转的问题,请按照以下步骤检查和配置:
确认支付宝客户端版本:
const matchResult = window.navigator.userAgent.match(/AliApp\(AP\/([\d\.]+)\)/i);
const apVersion = (matchResult && matchResult[1]) || ''; // 期望输出如10.1.58.00000170的版本号
设置URL Scheme:
info.plist文件里添加URL Types -> URL Schemes。例如,您可以设置一个名为myapp的Scheme:
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>myapp</string>
</array>
</dict>
</array>
传入正确的returnUrl参数:
returnUrl参数包含您已设置的iOS应用的URL Scheme。格式应为<Scheme名>://<回调路径>,例如:
myapp://callback
唤起支付宝客户端逻辑:
const certifyUrl = 'alipays://platformapi/startapp?appId=20000067&url=' + encodeURIComponent(url);
location.href = certifyUrl;
url是经过编码的认证服务地址,确保该地址能够触发支付宝内部的实人认证流程,并且与您在服务端设置的returnUrl相匹配。请依次检查并实施上述步骤,这将有助于解决苹果手机无法唤起支付宝客户端及支付后无法正常跳转的问题。如果问题依旧存在,请再次检查配置细节或联系技术支持获取进一步的帮助。