TapAndPay初始化失败,报错15002问题排查求助
排查Google Pay TapAndPay 15002错误码的方向
检查Identifier参数的有效性
你代码里的setIdentifier("identifier")是占位符,必须传入真实值。针对Mastercard,这里需要填经Token Service Provider(TSP)处理的持卡人PAN哈希值,或是符合Mastercard规范的令牌关联标识符。传无效占位符会直接触发验证失败,导致15002错误。确认Token Service Provider与Card Network的匹配性
保证setTokenServiceProvider和setNetwork参数严格匹配:- 用Mastercard时,两者必须对应
TapAndPay.CARD_NETWORK_MASTERCARD和TapAndPay.TOKEN_PROVIDER_MASTERCARD(你当前设置是对的,但要排查是否在其他流程中出现混用) - 若切换到Visa,需对应
CARD_NETWORK_VISA和TOKEN_PROVIDER_VISA,参数不匹配会导致服务端验证失败。
- 用Mastercard时,两者必须对应
验证应用的Google Pay配置权限
- 确认应用已在Google Pay Console完成注册,且启用了Tap and Pay相关权限
- 检查应用签名证书的SHA-1/SHA-256是否正确配置到Google Pay Console,签名不匹配会直接被API拒绝
- 确保应用包名与Google Pay Console中注册的包名完全一致
检查设备环境与Google Play服务版本
- 测试设备需安装最新版Google Play服务,旧版本可能存在API兼容性问题
- 设备要登录有效的Google账号,且该账号已绑定符合要求的Mastercard卡片
- 验证设备的Google Pay功能是否正常启用(可在系统设置中查看Google Pay状态)
排查API调用的时机与上下文
- 调用
isTokenized时,requireContext()必须是有效的Activity/Fragment上下文,不要用Application上下文(部分Google Pay API对上下文类型有要求) - 避免在后台线程或应用初始化阶段过早调用该API,建议在用户进入支付相关页面后再触发检查
- 调用
查看完整异常日志
除了打印ex.message,可以输出ex.printStackTrace()获取完整异常栈,里面可能包含更详细的错误描述,帮你定位具体的验证失败点
内容的提问来源于stack exchange,提问作者amira
相关产品推荐
相关产品推荐

