flutter_inappwebview中Apple Pay不显示,已开启applePayAPIEnabled
Apple Pay未显示的排查方案(flutter_inappwebview)
以下是针对你遇到的Apple Pay不显示问题的具体排查步骤:
检查Apple Pay商户侧配置
确保已在Apple Developer后台完成:- 注册Apple Pay商户并绑定支付处理机构
- 配置正确的
apple-app-site-association文件并验证域名关联 - 将网页域名添加到Apple Pay允许列表,且网页必须使用HTTPS协议(Apple Pay仅支持HTTPS)
验证网页端Apple Pay调用逻辑
在Safari中直接打开目标网页,测试Apple Pay按钮是否正常显示:- 确认网页中
ApplePaySession初始化参数正确(商户ID、金额、币种等需符合要求) - 排查网页JS代码是否存在调用错误,比如未正确处理Apple Pay支持性检测
- 确认网页中
完善Flutter iOS项目配置
- 在
Info.plist中添加Apple Pay相关配置:<key>PKMerchantIdentifier</key> <string>你的商户ID</string> <key>NSPaymentProviderPermissionDescription</key> <string>使用Apple Pay完成支付</string> - 在Xcode项目的
Signing & Capabilities中添加Apple Pay能力,并勾选对应的商户ID
- 在
检查InAppWebView的额外限制
- 若支付按钮在iframe内,需确保iframe的源域名同样在Apple Pay允许列表中,且
iframeAllow的payment权限已正确生效 - 排查网页内容安全策略(CSP)是否阻止了Apple Pay相关脚本执行,可临时放宽CSP测试
- 若支付按钮在iframe内,需确保iframe的源域名同样在Apple Pay允许列表中,且
确认设备与环境符合要求
- 使用支持Apple Pay的iOS真机测试(模拟器无法正常触发Apple Pay界面)
- 测试设备需登录iCloud账号,并已添加有效的支付卡片,且所在地区支持Apple Pay
内容的提问来源于stack exchange,提问作者Joe
相关产品推荐
相关产品推荐

