You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android应用因HostnameVerifier不安全实现遭Google Play拒审求助

Android应用因PayPal Magnessdk不安全HostnameVerifier遭Google Play拒审(关联Stripe v20.19.1)

问题背景

提交应用至Google Play商店时多次被拒,拒审通知内容如下:

Your app(s) are using an unsafe implementation of the hostnameverifier interface. lib.android.paypal.com.magnessdk.network.d$1 lib.android.paypal.com.magnessdk.network.e$1

项目仅通过Stripe处理支付,未自行实现HostnameVerifier接口,检索源码后确认仅Stripe依赖引入了PayPal相关组件,当前使用Stripe版本为v20.19.1。已搜索相关问题,仅找到Braintree相关案例,未获取到Stripe关联的有效解决方案。

问题分析

Stripe Android SDK v20.19.1依赖的PayPal Magnessdk版本中,存在两个匿名内部类d$1和e$1,它们实现了HostnameVerifier但未正确验证主机名(通常是直接返回true跳过验证逻辑),这种不安全的实现违反了Google Play的应用安全政策,导致审核被拒。

解决建议

  • 升级Stripe SDK至最新稳定版
    Stripe后续版本大概率会修复第三方依赖的安全问题,建议直接替换项目中的依赖声明为最新版本:

    implementation 'com.stripe:stripe-android:最新版本号'
    

    升级后可通过./gradlew dependencies命令检查依赖树,确认PayPal Magnessdk的版本已更新。

  • 排除旧版Magnessdk并手动引入安全版本
    若暂时无法升级Stripe,可尝试在gradle中排除存在问题的依赖,手动引入PayPal官方修复后的Magnessdk版本(需确认兼容当前Stripe版本):

    implementation('com.stripe:stripe-android:20.19.1') {
        exclude group: 'com.paypal.android.magnessdk'
    }
    implementation 'com.paypal.android.magnessdk:最新安全版本号'
    
  • 临时ProGuard规则(不推荐作为长期方案)
    若上述方法无法快速落地,可尝试添加ProGuard规则,但此方法不保证100%通过审核,仅作应急手段:

    # 避免不安全实现被混淆导致审核误判,或自定义安全的HostnameVerifier覆盖实现
    -keep class lib.android.paypal.com.magnessdk.network.d$1 { *; }
    -keep class lib.android.paypal.com.magnessdk.network.e$1 { *; }
    
  • 联系Stripe官方支持
    直接向Stripe提交技术工单,说明问题场景、使用的SDK版本及拒审详情,获取官方针对性的修复指导或确认是否存在已知问题。

内容的提问来源于stack exchange,提问作者Keelan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 19:42:52