Android端Google Pay支付Intent突然失效,请求技术协助
排查Google Pay UPI支付Intent突然失效的步骤
1. 验证URI参数合法性
先核对你的UPI URI参数细节:
upi://pay?pa=8945343422@ybl&pn=Username&mc=5499&mode=02&orgid=000000&am=1
- 金额参数(am):部分Google Pay版本对金额格式有要求,尝试补充小数位(如
1.00)测试,避免格式兼容性问题。 - 交易模式(mode):
02为UPI Collect模式,确认收款方UPI ID是否开启Collect权限,部分账号可能默认关闭该功能,可切换为01(Push模式)重试。 - 商户代码(mc):
5499对应食品杂货类目,若你的业务场景与该类目不符,可能触发风控拦截,需确认代码与实际业务匹配。
2. 检查设备端Google Pay状态
- 确保Google Pay为最新版本,旧版本可能存在URI解析bug,前往应用商店更新后测试。
- 清除Google Pay缓存(设置→应用→Google Pay→存储→清除缓存),避免缓存数据干扰Intent解析。
- 设置Google Pay为默认UPI应用,防止其他UPI应用(如PhonePe、Paytm)拦截Intent请求。
3. 校验Android端Intent启动逻辑
如果是应用内启动Intent,检查代码是否存在以下问题:
- 指定Google Pay包名,避免Intent跳转至其他应用:
Intent upiIntent = new Intent(Intent.ACTION_VIEW); upiIntent.setData(Uri.parse("upi://pay?pa=8945343422@ybl&pn=Username&mc=5499&mode=02&orgid=000000&am=1.00")); upiIntent.setPackage("com.google.android.apps.nbu.paisa.user"); if (upiIntent.resolveActivity(getPackageManager()) != null) { startActivityForResult(upiIntent, PAY_REQUEST_CODE); } else { // 提示用户未安装Google Pay }
- 确认应用已添加
android.permission.INTERNET权限,部分场景下该权限是必要的。 - 添加Intent解析失败的判断逻辑,避免应用崩溃。
4. 排查账号与风控限制
- 手动通过Google Pay向
8945343422@ybl发起转账,确认该UPI ID是否有效。 - 检查付款方Google Pay账号是否存在风控限制(如近期频繁交易、异常操作),更换账号测试是否恢复正常。
5. 简化参数测试定位问题
生成最简版本的UPI URI(仅保留核心参数)测试,逐步添加其他参数定位问题点:
upi://pay?pa=8945343422@ybl&pn=Username&am=1.00
内容的提问来源于stack exchange,提问作者Android Developer
相关产品推荐
相关产品推荐

