Angular Web应用中UPI Intent Flow支付失败求助
UPI Intent Deeplink支付失败问题排查
我在Angular Web应用中通过UPI Intent Flow Deeplink发起支付请求,流程能正常唤起支付应用选择界面,也能正确显示商户名称、VPA、金额等信息,但输入UPI PIN后,Google Pay、PhonePe、PayTM等主流应用均支付失败。
使用的Deeplink参数:
upi://pay?pa=merchant_vpa@hdfcbank&pn=my_business_name&tr=REF99855764&am=100.00&cu=INR&mc=5734&tn=Test%20payment
各应用报错信息:
- PayTM:根据UPI风险政策,支付失败以保障您的账户安全
- PhonePe:出于安全原因,不允许您通过银行账户进行此笔支付
- Google Pay:您已超出此笔支付的银行限额
排查方向与解决办法
- 商户VPA合规性检查
确认pa参数对应的是银行认证的商户专用VPA,个人UPI ID无法接收商业交易,必须完成商户UPI账户的注册与合规认证。 - 交易参考号唯一性校验
tr必须是全局唯一的交易标识,不能重复使用。检查是否存在同一tr多次发起请求的情况,格式建议用字母数字组合,避免特殊字符。 - 商户类别码匹配调整
mc=5734对应零售类商户,若你的业务不属于该类别,会触发风控规则。查询并替换为符合自身业务的正确商户类别码。 - 交易备注优化
Test%20payment这类测试性质的备注易被风控拦截,替换为真实交易场景描述,例如订单REF99855764支付。 - 支付限额核实
Google Pay提示限额问题,需确认商户VPA的单笔/单日收款限额,若100元仍触发限额,可能是账户未完成实名认证或银行限制了商户收款额度,联系银行调整。 - Web唤起合规性调整
部分支付应用对Web端直接唤起UPI Deeplink有风控限制,建议改用官方提供的UPI支付SDK集成,或确认应用域名已加入支付机构的白名单。
内容的提问来源于stack exchange,提问作者Abhishek Dhote
相关产品推荐
相关产品推荐

