Android 支付宝支付无法吊起网页版H5PayActivity和ALIN10146问题

前言

支付宝支付,很早已经集成了完了,已经上线,今天测试那着手机跟我说线上支付无法吊起支付页面,返回支付错误,我用我手机测了下测试环境,可以吊起,第一反应,服务器在线上返的订单数据有问题,抓包一看
没问题。打log 发现,就返了一个状态码4000。

一.H5无法唤起问题

1.查找问题

支付宝返回参数说明:https://docs.open.alipay.com/204/105301

image.png

2.定位问题

简单的订单支付错误无法下手,后来一想我的手机可以,测试的手机不可以,一看测试的手机没有安装支付宝客户端,基本定位,H5支付页面没有唤起,去网上找了很多的支付宝支付掉不起来网页支付的原因,基本大同小异都是说在 AndroidManifest.xml

  
        

但是我在项目中早就添加,而且以前代码是可以唤起H5的,现在却不可以,找了以前的代码跑了下,同样唤不起H5,感觉应该是支付宝SDK的问题,为了确定这种想法,看了下爱奇艺 支付宝支付功能,果然他们如果本地未安装支付宝客户端提示去安装,而没有跳转H5。

3.临时解决方案

所以这个问题我放弃了,感觉应该是支付宝SDK 的问题可能他们更新了,然后我在本地加了本地是否安装支付宝客户端判断。

  public static boolean checkAliPayInstalled() {
        Uri uri = Uri.parse("alipays://platformapi/startApp");
        Intent intent = new Intent(Intent.ACTION_VIEW, uri);
        ComponentName componentName = intent.resolveActivity(mContext.getPackageManager());
        return componentName != null;
    }

二.支付宝客户端支付ALIN10146

1.问题

添加以上判断后,觉得问题应该解决了,我在本地安装了支付宝客户端同时登陆,用应用去支付,结果出现了问题


image.png

常见问题:https://tech.open.alipay.com/support/knowledge/index.htm?categoryId=24120&knowledgeId=201602293828&ant_source=antsupport#/?_k=4fw0iz

image.png

ALIN10146主要会由这4个问题产生,具体哪个问题,打了log看下

{"alipay_trade_app_pay_response":{"code":"40006","msg":"Insufficient Permissions","sub_code":"isv.insufficient-isv-permissions","sub_msg":"ISV权限不足,建议在开发者中心检查签约是否已经生效"}}

2定位问题

签约失效导致支付失败,找人工客服沟通,的确是签约问题,导致支付失败,找了一天的bug,居然是这个问题,也是头一回遇见。


image.png

登录支付宝开放平台,查看应用确实失效:https://openhome.alipay.com/platform/appManage.htm#/app/2017102309468035/overview

image.png

3.解决问题

如果继续使用,只有续约,需签约,就不由开发来管了,交给了公司的行政,让他们去弄,算是找到了问题的根源

总结

所以
1.总结支付唤起不了H5,有可能也是签约的问题,因为现在我们账户的续期为没弄好不敢妄下结论。
2.支付宝客户端支付失败ALIN10146问题,是由于签约问题。

今天写这篇文章,主要是记录,和加深这次支付宝支付失败,和无法掉起H5问题,也是给遇到同样问题的小伙伴提供一种新的查找问的方案,可能是因为应用签约失效导致的问题。希望大家不会被支付宝无法吊起H5困惑太久。

你可能感兴趣的:(Android 支付宝支付无法吊起网页版H5PayActivity和ALIN10146问题)